diff --git a/ECOSYSTEM_PLAN.md b/ECOSYSTEM_PLAN.md index c1c7d63..f147e0c 100644 --- a/ECOSYSTEM_PLAN.md +++ b/ECOSYSTEM_PLAN.md @@ -90,7 +90,7 @@ A mérce a saját folyamatunk, a wiki [PDLC](https://wiki.teletypegames.org/team ## `stores` — a katalógus a gazdaplatform könyvtárformátumában -**Van:** `warpstore` (a közös mag, az `engines` alatt) + három motor és a rájuk épülő három store-unk: `warp-engine-batocera-store` / `ttg-batocera-store` (EmulationStation, ROM-mappák, gamelist.xml), `warp-engine-retroarch-store` / `ttg-retroarch-store` (RetroArch `.lpl` playlistek, borítóképek) és `warp-engine-desktop-store` / `ttg-desktop-store` (az OS saját alkalmazás-menüje: `.desktop`, `.app`, Start menü). 2026-08-18-ig a `tools` orgban voltak. +**Van:** `warpstore` (a közös mag, az `engines` alatt) + három motor és a rájuk épülő három store-unk: `warp-engine-batocera-store` / `ttg-batocera-store` (EmulationStation, ROM-mappák, gamelist.xml), `warp-engine-retroarch-store` / `ttg-retroarch-store` (RetroArch `.lpl` playlistek, borítóképek) és az **asztali út**, ami 2026-08-19-től nem repó: a motor a `warp-engine-client`ben van (az OS saját alkalmazás-menüje: `.desktop`, `.app`, Start menü), a `warp-engine-desktop-store` / `ttg-desktop-store` pár törölve. 2026-08-18-ig a store-repók a `tools` orgban voltak. **Erősség:** a Batocera store a mintapélda arra, hogyan válik egy belső eszközből általánosan használható termék — bárki felhúzhat saját store-t a saját katalógusára. A második motor ezt igazolta: a közös rész kiemelése után egy új gazdaplatform egy adapter plusz egy konfiguráció, nem új program. diff --git a/MORE_STORES.md b/MORE_STORES.md index c495e35..2ce3fb8 100644 --- a/MORE_STORES.md +++ b/MORE_STORES.md @@ -95,7 +95,9 @@ Fontos megkötés: a **kézikonzolok jóformán mind ARM-osak**, és a RetroPie ### 2. Asztali store — `warp-engine-desktop-store` A per-OS zipeket telepíti egy helyi könyvtárba, és indítót csinál hozzá (`.desktop`, Start menü bejegyzés, `.app`). Ma 8 szoftvert szolgálna ki, és a CI-lefedettséggel nő. Ez a legnagyobb valóban új képesség: asztali gépre ma **semmilyen** utunk nincs. -**Kész (2026-08-18).** `stores/warp-engine-desktop-store` + `stores/ttg-desktop-store`. +**Kész (2026-08-18), majd a repók törölve (2026-08-19):** a motor a `warp-engine-client`be +került, a két repó megszűnt. Ami alább áll, a működésre továbbra is igaz — csak nem két +külön repóban lakik, hanem a kliensben. Két telepítési mód: `app` (a per-OS zip kicsomagolva, menü-bejegyzéssel) és `web` (a kiszolgált böngészős build oldalát megnyitó bejegyzés) — utóbbi azért, mert a `html` asset **nem letölthető archívum**, hanem egy kiszolgált könyvtár. A kettő diff --git a/REPO_REFACT.md b/REPO_REFACT.md index d79d466..b682d82 100644 --- a/REPO_REFACT.md +++ b/REPO_REFACT.md @@ -80,9 +80,10 @@ git.teletypegames.org/ │ ├── ttg-batocera-store a mi store-unk rajta │ ├── warp-engine-retroarch-store motor: RetroArch .lpl playlistek │ ├── ttg-retroarch-store a mi store-unk rajta -│ ├── warp-engine-desktop-store motor: az OS alkalmazás-menüje -│ ├── ttg-desktop-store a mi store-unk rajta -│ └── warp-engine-client Electron kliens a desktop store-hoz +│ └── warp-engine-client Electron kliens: a saját motorjával az OS +│ alkalmazás-menüjébe telepít (.desktop, .app, +│ Start menü) — a két desktop-store-repó +│ helyett, törölve 2026-08-19 │ └── infra/ Maga a kiszolgáló-környezet. ├── nginx-conf ← ma internal/ @@ -108,6 +109,7 @@ git.teletypegames.org/ - **A kliens átnevezve** (2026-08-18): `stores/warp-engine-desktop-gui` → **`stores/warp-engine-client`**. A repónév a termékhez (WarpEngine Store) igazodik, nem a „desktop GUI” szerepéhez, és a hosztspecifikus motorok maradnak `warp-engine--store`. A `tea api -X PATCH /repos/stores/... -f name=...` végzi (a `tea repo` alparancsai nem tudják); **a Gitea itt is megőrzi az átirányítást**, a release-ek és az 5 tag a repóval együtt költöztek. Átírva: a repó belseje (`package.json` név és homepage, lockfile, README, User-Agent), a wiki-oldal mappája + fejléce + sitenav + Grav-átirányítás a régi útvonalról, a `repos.list`, a `WIKI_CONNECTION.md`, a `services/teletypegames` README-je és a `/stores` frontend-oldal. - **Store-config repó nélkül is működik** (2026-08-18): a registry `store_repository_url`-je opcionális lett. A motor `DEFAULT_CONFIG`-ja mindent visz (host→asset leképezés, módok, platformok, viselkedés); ami hiányzik belőle, az az identitás — slug, név, katalógus —, és pont azt hordozza a registry-rekord. Repó nélkül a kliens a katalógus-hostból képzi a slugot (`teletypegames.org` → `teletypegames`), és háromszekciós configot ír. A store-config repók megmaradnak: a `curl … | sh` telepítőút továbbra is azokból jön. - **A kliens CI-je** (2026-08-18): `stores/warp-engine-client` **saját** `.woodpecker.yaml`-t kapott, nem a `/build/config` kiterjesztést — az game-platformokat szolgál ki, amik a katalógusba publikálnak, ez viszont alkalmazást épít Gitea release-be. Négy lépés: `check` (npm ci + typecheck + lint + smoke), `linux` (AppImage + deb), `windows` (NSIS + portable, **Wine alatt**, `electronuserland/builder:22-wine`), `release` (csak tagre, a `scripts/ci-upload.sh` a `gitea_token` secrettel). **macOS marad helyi build**, mert az Apple-toolchain és az aláírás csak Macen létezik; egy teljes release tehát egy helyi `make release` + ez a pipeline. A képek parancsait előbb helyben, ugyanabban a két konténerben mértem le. +- **Az asztali store-repók törölve** (2026-08-19): `stores/warp-engine-desktop-store` és `stores/ttg-desktop-store` megszűnt, a wiki-oldalaikkal együtt. A motor a `warp-engine-client`be került (2.0.0), tehát nincs mit letölteni és nincs mit konfigurálni kívülről: a kliens hozza a saját `DEFAULT_STORE_CONFIGURATION`-jét, a registry-rekord pedig **csak név + katalógus** — a `config` és a `store_repository_url` mező is kikerült a `Store` modellből (2.2.0 / `A store record is a name and a catalog`). A store-onkénti szeparáció almappa, amit a kliens a katalógus-hostból képzett slugból állít elő. A `/stores` oldal desktop-kártyája is megszűnt (halott `curl … | sh`-t reklámozott); a `/desktop` URL az appra visz. A `warpstore` maga változatlan, de a gépszintű `uninstall.sh` desktop-ága már nem talál `desktop_store.py`-t egy 2.0.0+ kliens által telepített home-ban. - **A kliens neve és a katalógus teljessége** (2026-08-18): az app **WarpEngine Client** lett (a „Store" azt nevezte meg, amit megnyit, nem amit futtatsz), a fejlécből kikerült a store-jelvény, és a kliens **minden címet listáz** — amit ez a gép nem tud telepíteni, azt szürkén, „unsupported platform" jelvénnyel és a motor indoklásával. Ehhez a mag `survey_catalog`-ot kapott (`warpstore` 1.4.0), az asztali motor pedig `installable: false`-os rekordokat ad a `--json` listában (1.2.0); a `select_games` kétértékű burkolóként megmaradt, tehát a Batocera- és RetroArch-motor változatlan. A registry címe **build-időben** is megadható (`make dist STORES_API=…`, az electron-builder `extraMetadata`-ján keresztül a csomag `package.json`-jába sülve), futásidőben a `STORES_API` továbbra is felülírja. - **WarpEngine verzió-fejléc és pipeline-kapcsolat** (2026-08-18): minden WarpEngine API-válasz `WarpEngine-Version` fejlécet visz (a `before_action` miatt a hibaválaszok is), és egy szoftverhez **egy** pipeline tartozik, de az átállítható: aki eddig birtokolta, elveszti, az admin pedig kiírja, kitől vette el. Szándékosan callback és nem unique index, mert a sorok soft-delete-esek, és az index a törölt sorokat is számolja. - **Workspace mappák igazítva** (2026-08-16): a mappa mostantól egy az egyben az org (`bbs/`, `build/`, `demos/`, `engines/`, `games/`, `infra/`, `services/`, `stores/`, `tools/`). Kivétel a `devarea`, ami a gyökérben marad, mert a `clone-repos.sh` a szülőjébe klónoz. diff --git a/WIKI_CONNECTION.md b/WIKI_CONNECTION.md index c2536d5..e85b8d9 100644 --- a/WIKI_CONNECTION.md +++ b/WIKI_CONNECTION.md @@ -40,10 +40,8 @@ This file lives in the `devarea` repo (`tools/devarea`). The repo's `scripts/` f | `services/updater` | `services` | Discord Updater Bot | `infra/wiki-pages/pages/others/updater/default.md` | https://wiki.teletypegames.org/others/updater | | `stores/ttg-batocera-store` | `stores` | TTG Batocera Store | `infra/wiki-pages/pages/stores/ttg-batocera-store/default.md` | https://wiki.teletypegames.org/stores/ttg-batocera-store | | `stores/ttg-retroarch-store` | `stores` | TTG RetroArch Store | `infra/wiki-pages/pages/stores/ttg-retroarch-store/default.md` | https://wiki.teletypegames.org/stores/ttg-retroarch-store | -| `stores/ttg-desktop-store` | `stores` | TTG Desktop Store | `infra/wiki-pages/pages/stores/ttg-desktop-store/default.md` | https://wiki.teletypegames.org/stores/ttg-desktop-store | | `stores/warp-engine-batocera-store` | `stores` | WarpEngine Batocera Store | `infra/wiki-pages/pages/stores/warp-engine-batocera-store/default.md` | https://wiki.teletypegames.org/stores/warp-engine-batocera-store | | `stores/warp-engine-retroarch-store` | `stores` | WarpEngine RetroArch Store | `infra/wiki-pages/pages/stores/warp-engine-retroarch-store/default.md` | https://wiki.teletypegames.org/stores/warp-engine-retroarch-store | -| `stores/warp-engine-desktop-store` | `stores` | WarpEngine Desktop Store | `infra/wiki-pages/pages/stores/warp-engine-desktop-store/default.md` | https://wiki.teletypegames.org/stores/warp-engine-desktop-store | | `stores/warp-engine-client` | `stores` | WarpEngine Client | `infra/wiki-pages/pages/stores/warp-engine-client/default.md` | https://wiki.teletypegames.org/stores/warp-engine-client | ## Notes diff --git a/scripts/repos.list b/scripts/repos.list index 6e586b0..14a8877 100644 --- a/scripts/repos.list +++ b/scripts/repos.list @@ -57,10 +57,8 @@ services/teletype-orbit|ssh://git@git.teletypegames.org:2222/services/teletype-o services/updater|ssh://git@git.teletypegames.org:2222/services/updater stores/ttg-batocera-store|ssh://git@git.teletypegames.org:2222/stores/ttg-batocera-store -stores/ttg-desktop-store|ssh://git@git.teletypegames.org:2222/stores/ttg-desktop-store stores/ttg-retroarch-store|ssh://git@git.teletypegames.org:2222/stores/ttg-retroarch-store stores/warp-engine-batocera-store|ssh://git@git.teletypegames.org:2222/stores/warp-engine-batocera-store -stores/warp-engine-desktop-store|ssh://git@git.teletypegames.org:2222/stores/warp-engine-desktop-store stores/warp-engine-client|ssh://git@git.teletypegames.org:2222/stores/warp-engine-client stores/warp-engine-retroarch-store|ssh://git@git.teletypegames.org:2222/stores/warp-engine-retroarch-store tools/tic80-draw-image|https://github.com/cxong/tic80-draw-image.git