Aus #266 (Entscheidung 8: „Not in this step: … export as ZIP.“).
Befund
Ein Spiel lässt sich heute nur als Link auf nockal.com veröffentlichen. Die Kopie liegt in data/releases/<token>.json und kommt über GET ?r=releases/{token}, die Spielseite holt Bilder, Fonts und Sounds vom Server.
Wer das Spiel woanders hosten will (itch.io, eigene Seite) oder offline spielen möchte, kann das nicht.
Zu bauen (Vorschlag)
Im Release-Dialog Download ZIP mit play.html, dem Spiel-Bundle (ohne Editor), der Projekt-JSON und allen Dateien, die das Projekt benutzt. Die Seite liest das Projekt aus der ZIP statt von der API.
Die ZIP enthält den gespeicherten Stand, wie Publish.
Tests: Unit für die Liste der benötigten Dateien. e2e: ZIP herunterladen, entpacken, play.html über einen lokalen Server öffnen, das Spiel startet und reagiert auf eine Taste.
Offen (mit Vorschlag)
Gebaut am Server oder im Browser? Vorschlag: am Server mit PHPs ZipArchive, weil dort Bundle und Dateien liegen. Ob die Erweiterung im Container web-php-fpm und im CI-Image vorhanden ist, ist noch zu prüfen.
Persistente Variablen: Der Link hat einen eigenen Speicherbereich pro Token. Vorschlag: Die ZIP bekommt einen festen Schlüssel aus Projekt und Exportdatum.
Öffnen per Doppelklick (file://)? Chrome blockiert dort fetch auf lokale Dateien. Vorschlag: nur über einen Webserver. Ein Hinweis dazu liegt als README.txt in der ZIP.
Aus #266 (Entscheidung 8: „Not in this step: … export as ZIP.“).
## Befund
- Ein Spiel lässt sich heute nur als Link auf nockal.com veröffentlichen. Die Kopie liegt in `data/releases/<token>.json` und kommt über `GET ?r=releases/{token}`, die Spielseite holt Bilder, Fonts und Sounds vom Server.
- Wer das Spiel woanders hosten will (itch.io, eigene Seite) oder offline spielen möchte, kann das nicht.
## Zu bauen (Vorschlag)
- Im Release-Dialog **Download ZIP** mit `play.html`, dem Spiel-Bundle (ohne Editor), der Projekt-JSON und allen Dateien, die das Projekt benutzt. Die Seite liest das Projekt aus der ZIP statt von der API.
- Die ZIP enthält den gespeicherten Stand, wie Publish.
- Tests: Unit für die Liste der benötigten Dateien. e2e: ZIP herunterladen, entpacken, `play.html` über einen lokalen Server öffnen, das Spiel startet und reagiert auf eine Taste.
## Offen (mit Vorschlag)
1. **Gebaut am Server oder im Browser?** Vorschlag: am Server mit PHPs `ZipArchive`, weil dort Bundle und Dateien liegen. Ob die Erweiterung im Container `web-php-fpm` und im CI-Image vorhanden ist, ist noch zu prüfen.
2. **Persistente Variablen:** Der Link hat einen eigenen Speicherbereich pro Token. Vorschlag: Die ZIP bekommt einen festen Schlüssel aus Projekt und Exportdatum.
3. **Öffnen per Doppelklick (`file://`)?** Chrome blockiert dort `fetch` auf lokale Dateien. Vorschlag: nur über einen Webserver. Ein Hinweis dazu liegt als `README.txt` in der ZIP.
meleki
added the new label 2026-09-29 18:26:31 +02:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Aus #266 (Entscheidung 8: „Not in this step: … export as ZIP.“).
Befund
data/releases/<token>.jsonund kommt überGET ?r=releases/{token}, die Spielseite holt Bilder, Fonts und Sounds vom Server.Zu bauen (Vorschlag)
play.html, dem Spiel-Bundle (ohne Editor), der Projekt-JSON und allen Dateien, die das Projekt benutzt. Die Seite liest das Projekt aus der ZIP statt von der API.play.htmlüber einen lokalen Server öffnen, das Spiel startet und reagiert auf eine Taste.Offen (mit Vorschlag)
ZipArchive, weil dort Bundle und Dateien liegen. Ob die Erweiterung im Containerweb-php-fpmund im CI-Image vorhanden ist, ist noch zu prüfen.file://)? Chrome blockiert dortfetchauf lokale Dateien. Vorschlag: nur über einen Webserver. Ein Hinweis dazu liegt alsREADME.txtin der ZIP.