Mark the ports step done, with the measured coverage

The engine can install native builds as Batocera ports, so the coverage
number the plan was chasing is in reach. Measured rather than estimated:
13 of 15 on x86_64, 9 on ARM and rising as repos re-run with the ARM
pipeline. The two that stay out — phaserdemo and trickster-tiles — ship
only html, so no native store will ever carry them.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-08-17 08:14:09 +02:00
co-authored by Claude Opus 5
parent e01071dcbe
commit 93da0aa13e
+9 -7
View File
@@ -57,18 +57,20 @@ Amiért a mai store hordozható: a `cartridge` **architektúra-független** (ada
2. Cross-build a pipeline-okban. A legkönnyebb az ebitengine (Go: `GOARCH=arm64`), utána a bevy (Rust cross toolchain) és a godot (van ARM export template); a LÖVE a legnehezebb, ott ARM futtatókörnyezet kell.
3. A motor **architektúra-felismerése** (`uname -m``x86_64` / `aarch64` / `armv7l`), és csak az illeszkedő asset telepítése.
## 0b. Utána: `linux_*` → Batocera *ports*
## 0b. `linux_*` → Batocera *ports* — *kész*
Ha az ARM buildek megvannak, a ROM-rendszerek mellé jöhet egy második telepítési mód: ami nem cartridge, az portként megy fel. A Batocera ports rendszere `.sh` indítókat vesz, a motor pedig már ma is ír ports bejegyzést.
*(2026-08-17-én megvalósítva a motorban.)* A ROM-rendszerek mellett van egy második telepítési mód: `install: "port"` esetén a zip kicsomagolódik, és egy `.sh` indító kerül a Ports rendszerbe. A payload a `ports/.data/<subfolder>/` alá megy — a pont rejti el az ES elől —, az indító pedig egy normál almappába, amit az ES ugyanúgy pásztáz, mint bármely más rendszerét.
Számokban, a mai assetekkel:
| Gép | Lefedettség |
| Gép | Lefedettség (mérve 2026-08-17) |
|---|---|
| x86_64 Batocera | **12/15** — a 7 cartridge + ebitengine 3, godot 1, love 1 (a 3 tic80 átfedés) |
| ARM Batocera | **7/15**csak a cartridge, amíg nincs ARM build |
| x86_64 Batocera | **13/15** |
| ARM Batocera | **9/15**és nő, ahogy a repók újrafutnak az ARM pipeline-nal |
A kimaradó három cím (1 bevy, 2 phaser) csak `html`-t ad, azokhoz böngésző kell.
A kimaradó kettő a `phaserdemo` és a `trickster-tiles`: mindkettő csak `html`-t
ad, natív binárisuk nincs, tehát ezekhez böngésző kell — natív store soha nem
fogja őket kiszolgálni.
Ugyanez a keret adja az interaktív ES-menüt is (ports bejegyzések gamelist-metaadattal).
@@ -119,7 +121,7 @@ Egy dolog viszont **nem** tartozik az adapterbe, hanem a közös részbe: az **a
1. ~~**`linux_arm64` a build-mátrixba**~~**kész** (2026-08-16). Az `ebitengine` és a `bevy` gyártja; a `godot`-hoz a játék repójában kell ARM export preset, a LÖVE-hoz nincs upstream ARM AppImage, a TIC-80 `export` parancsának meg nincs ARM célja. A `bevydemo` 1.0.0 már `linux_arm64`-et is ad.
2. ~~**Architektúra-illesztés a motorba**~~**kész** (2026-08-17). A `kind` és az `ext` lehet architektúra-leképezés `*` tartalékkal; a felismert arch látszik a `list` és a `config` kimenetében. `aarch64`-en végigpróbálva: az ARM csomagot tölti le, és a benne lévő bináris valóban AArch64.
3. **`linux_*` → Batocera ports** (0b) — a következő lépés. A motor már tudja, milyen assetet válasszon; most az kell, hogy a nem-cartridge asseteket **portként** telepítse, ne ROM-ként.
3. ~~**`linux_*` → Batocera ports**~~**kész** (2026-08-17). `install: "port"`; `aarch64`-en végigpróbálva: telepítés, idempotens újraszinkron, eltávolítás a 106 MB-os payloaddal, és a névtér-védés is (idegen `.data` útra mutató bejegyzést elutasít). **Hátra van:** bekapcsolni a `ttg-batocera-store` configjában, és valódi gépen kipróbálni, hogy a natív játékok tényleg elindulnak-e.
4. **ES-családú store-ok** (1.) — a motor itt már majdnem kész.
## Amit valódi gépen kell ellenőrizni