localStorage raus - alles in Project speichern #226

Closed
opened 2026-09-24 10:55:26 +02:00 by admin · 1 comment

es gibt momentan dinge die localStorage gespeichert werden (gameScale und playFrom) - das bitte alles im project speichern (wie symbol scale usw.). migration nicht notwendig, localStorage einfach verwerfen.

es gibt momentan dinge die localStorage gespeichert werden (gameScale und playFrom) - das bitte alles im project speichern (wie symbol scale usw.). migration nicht notwendig, localStorage einfach verwerfen.
admin added this to the Development project 2026-09-24 10:55:26 +02:00
admin moved this to Next in Development on 2026-09-24 10:55:30 +02:00
admin moved this to Done in Development on 2026-09-24 11:55:57 +02:00
Owner

Umgesetzt in 4b7e861 („Keep play start and game view scale in the project“).

Was jetzt im Projekt steht

  • project.playFrom („Play starts“) und project.gameScale (Maßstab der Game View) werden mit dem Projekt gespeichert und geladen. src/editor/settings.ts ist weg, gelesen wird über src/core/model/playSettings.ts.
  • Keine Migration, wie gewünscht: Alte Projekte laden mit den Standardwerten (Start scene, 100 %). Ein unbekannter Wert fällt ebenfalls auf den Standard zurück.
  • „Play starts“ im Project-Settings-Dialog ist ein Undo-Schritt, wie Name und Symbol scale.
  • Der Maßstab im Dropdown der Game View wird gespeichert, ist aber kein Undo-Schritt. Wird er während Play gewählt, landet er trotzdem im gespeicherten Projekt und bleibt nach Stop erhalten.

Was bewusst im Browser bleibt

  • Die Spielstände der persistenten Variables-Assets (#166, saves.ts). Das sind Laufzeitdaten des Spiels. Im Projekt würde jeder Spiellauf die Projektdatei beschreiben, und alle, die das Projekt öffnen, hätten denselben Spielstand.

Tests

  • 6 neue Unit-Tests in tests/editor/play-settings.test.ts (Standardwerte, Speichern/Laden, ungültiges JSON, Undo von „Play starts“, kein Undo-Schritt für den Maßstab, Maßstab aus Play nach Stop).
  • e2e 03g prüft: Wert im Projekt, nichts im localStorage, kein Undo-Schritt. 35f prüft zusätzlich project.playFrom.
  • ./check.sh: 158 Dateien, 2332 Tests, CHECK EXIT 0. e2e 1-17, 28, 30, 35, 38-40, 46: 752 Checks grün.
  • Drei Gegenproben (kein Schreiben ins gespeicherte Modell während Play, Laden ohne die Felder, Maßstab mit Undo-Schritt) greifen jeweils am passenden Test.

Wiki: Scenes, Concepts und Architecture sind nachgezogen.

Umgesetzt in `4b7e861` („Keep play start and game view scale in the project“). **Was jetzt im Projekt steht** - `project.playFrom` („Play starts“) und `project.gameScale` (Maßstab der Game View) werden mit dem Projekt gespeichert und geladen. `src/editor/settings.ts` ist weg, gelesen wird über `src/core/model/playSettings.ts`. - Keine Migration, wie gewünscht: Alte Projekte laden mit den Standardwerten (Start scene, 100 %). Ein unbekannter Wert fällt ebenfalls auf den Standard zurück. - „Play starts“ im Project-Settings-Dialog ist ein Undo-Schritt, wie Name und Symbol scale. - Der Maßstab im Dropdown der Game View wird gespeichert, ist aber **kein** Undo-Schritt. Wird er während Play gewählt, landet er trotzdem im gespeicherten Projekt und bleibt nach Stop erhalten. **Was bewusst im Browser bleibt** - Die Spielstände der persistenten Variables-Assets (#166, `saves.ts`). Das sind Laufzeitdaten des Spiels. Im Projekt würde jeder Spiellauf die Projektdatei beschreiben, und alle, die das Projekt öffnen, hätten denselben Spielstand. **Tests** - 6 neue Unit-Tests in `tests/editor/play-settings.test.ts` (Standardwerte, Speichern/Laden, ungültiges JSON, Undo von „Play starts“, kein Undo-Schritt für den Maßstab, Maßstab aus Play nach Stop). - e2e 03g prüft: Wert im Projekt, nichts im localStorage, kein Undo-Schritt. 35f prüft zusätzlich `project.playFrom`. - `./check.sh`: 158 Dateien, 2332 Tests, `CHECK EXIT 0`. e2e 1-17, 28, 30, 35, 38-40, 46: 752 Checks grün. - Drei Gegenproben (kein Schreiben ins gespeicherte Modell während Play, Laden ohne die Felder, Maßstab mit Undo-Schritt) greifen jeweils am passenden Test. Wiki: *Scenes*, *Concepts* und *Architecture* sind nachgezogen.
Sign in to join this conversation.
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: meleki/feuerwerk#226