From bf4191956c848f82c1644f91d4d31ed72f5d57f5 Mon Sep 17 00:00:00 2001 From: root Date: Fri, 11 Sep 2026 21:56:43 +0200 Subject: [PATCH] Add todo notes for the next round of features, gaps and upkeep Eleven notes collected from the README's "Not yet" section, known limits found in recent rounds, and open technical points: sprite animation, graph comments/groups, a load-scene node, sound, nine-slice, template changes reaching placed instances, exact matches in the palette, On start added during play, render-on-change, gzip in nginx and the flaky pixel-art filtering test. Co-Authored-By: Claude Opus 5 --- todo-notes/flaky-pixel-art-filtering.md | 4 ++++ todo-notes/graph-comments-groups.md | 6 ++++++ todo-notes/load-scene-node.md | 7 +++++++ todo-notes/nginx-gzip.md | 5 +++++ todo-notes/nine-slice.md | 5 +++++ todo-notes/on-start-during-play.md | 5 +++++ todo-notes/palette-exact-match.md | 3 +++ todo-notes/render-on-change.md | 5 +++++ todo-notes/sound.md | 8 ++++++++ todo-notes/sprite-animation.md | 8 ++++++++ todo-notes/template-changes-to-instances.md | 5 +++++ 11 files changed, 61 insertions(+) create mode 100644 todo-notes/flaky-pixel-art-filtering.md create mode 100644 todo-notes/graph-comments-groups.md create mode 100644 todo-notes/load-scene-node.md create mode 100644 todo-notes/nginx-gzip.md create mode 100644 todo-notes/nine-slice.md create mode 100644 todo-notes/on-start-during-play.md create mode 100644 todo-notes/palette-exact-match.md create mode 100644 todo-notes/render-on-change.md create mode 100644 todo-notes/sound.md create mode 100644 todo-notes/sprite-animation.md create mode 100644 todo-notes/template-changes-to-instances.md diff --git a/todo-notes/flaky-pixel-art-filtering.md b/todo-notes/flaky-pixel-art-filtering.md new file mode 100644 index 00000000..70a20f21 --- /dev/null +++ b/todo-notes/flaky-pixel-art-filtering.md @@ -0,0 +1,4 @@ +e2e-Check `pixel-art filtering` in `12-textures` fällt gelegentlich, im Nachlauf grün. + +Stand: fällt mit `gpu:"none", uploaded:false`. Ausgeschlossen: der Filterpfad selbst, 30 Wechsel in einer Sitzung, Kontextverlust. Verdacht: Timing/Umgebung. +Messgerät: `__gm.textureFilter(datei)` (Modellwert und Treiberzustand). diff --git a/todo-notes/graph-comments-groups.md b/todo-notes/graph-comments-groups.md new file mode 100644 index 00000000..3ccb6142 --- /dev/null +++ b/todo-notes/graph-comments-groups.md @@ -0,0 +1,6 @@ +Kommentare und Gruppen im Graph: eine beschriftete Box um mehrere Nodes, damit grosse Graphen lesbar bleiben. + +Abzuklären: +- nur Box mit Titel, oder auch freier Kommentar-Text +- verschiebt die Box ihre Nodes mit +- zuklappbar wie ein Node? diff --git a/todo-notes/load-scene-node.md b/todo-notes/load-scene-node.md new file mode 100644 index 00000000..1fbaea9d --- /dev/null +++ b/todo-notes/load-scene-node.md @@ -0,0 +1,7 @@ +Mehrere Szenen in einem Lauf: ein `Load scene`-Node. + +Stand: ein Lauf kennt genau eine Szene, Bildschirme sind heute Container, die man ein- und ausschaltet (Jump-Run: Title/Level/Win/Lose). + +Abzuklären: +- was beim Wechsel erhalten bleibt (globale Variablen? ein "persistentes" Objekt?) +- Startszene des Projekts festlegen diff --git a/todo-notes/nginx-gzip.md b/todo-notes/nginx-gzip.md new file mode 100644 index 00000000..ce6a165d --- /dev/null +++ b/todo-notes/nginx-gzip.md @@ -0,0 +1,5 @@ +gzip im nginx einschalten. + +Stand: das Bundle geht mit 589 827 Bytes unkomprimiert raus, obwohl der Browser gzip anbietet; komprimiert wären es 184 kB. `gzip` ist in `/_stacks/web/nginx.conf` aus. + +Achtung: die Datei gilt für alle Seiten im Web-Stack, nicht nur für den game-maker. Nur auf ausdrücklichen Auftrag anfassen. diff --git a/todo-notes/nine-slice.md b/todo-notes/nine-slice.md new file mode 100644 index 00000000..9c8e33de --- /dev/null +++ b/todo-notes/nine-slice.md @@ -0,0 +1,5 @@ +Nine-Slice für Sprites: Rahmen und Knöpfe behalten beim Skalieren ihre Ecken, nur die Mitte und die Kanten werden gestreckt. + +Stand: ein Frame wird immer auf die Grösse des Sprites gestreckt (steht auch unter "Not yet" in der README). + +Abzuklären: die vier Ränder am Frame/an der Textur festlegen oder am Sprite. diff --git a/todo-notes/on-start-during-play.md b/todo-notes/on-start-during-play.md new file mode 100644 index 00000000..1f7bcc5e --- /dev/null +++ b/todo-notes/on-start-during-play.md @@ -0,0 +1,5 @@ +Ein im Play neu angelegter `On start`-Node feuert nicht für Behaviors, die schon laufen. + +Stand: seit der Graph im Play bearbeitbar ist, wirken Änderungen ab dem nächsten Frame — nur `On start` nicht, weil der Start schon vorbei ist. + +Abzuklären: nachträglich feuern (einmal pro laufender Instanz) oder bewusst so lassen und im Editor darauf hinweisen. diff --git a/todo-notes/palette-exact-match.md b/todo-notes/palette-exact-match.md new file mode 100644 index 00000000..d3a556ba --- /dev/null +++ b/todo-notes/palette-exact-match.md @@ -0,0 +1,3 @@ +Node-Palette: Treffer im Namen vor Treffern in der Beschreibung ziehen. + +Stand: sortiert wird nach Kategorie, dann alphabetisch; gesucht wird auch in Typ und Beschreibung. Suche "variable" + Enter landet deshalb auf `Run behavior` (Kategorie flow, Beschreibung enthält "variables"), nicht auf `Variables`. diff --git a/todo-notes/render-on-change.md b/todo-notes/render-on-change.md new file mode 100644 index 00000000..706697ef --- /dev/null +++ b/todo-notes/render-on-change.md @@ -0,0 +1,5 @@ +Editor nur bei Änderungen neu zeichnen, im Play weiter durchgehend. + +Stand: ein stehendes Bild kostet im Editor gemessen 69 % eines Kerns (Lüfter, Akku). Seit dem Low-Latency-Modus (`desynchronized`) verlängert ein Frame auf Abruf die Reaktionszeit nicht mehr. + +Abzuklären: was alles ein Neuzeichnen auslösen muss (Eingabe, Hover, Laden einer Textur, Perlen/Live-Werte im Graph während Play). diff --git a/todo-notes/sound.md b/todo-notes/sound.md new file mode 100644 index 00000000..d20f6617 --- /dev/null +++ b/todo-notes/sound.md @@ -0,0 +1,8 @@ +Sound: Audio-Assets und ein Node zum Abspielen. + +Stand: es gibt keinerlei Audio, weder Asset-Typ noch Node. + +Abzuklären: +- Import wie bei Texturen (Datei hochladen) und welche Formate +- Node: abspielen, stoppen, Lautstärke, Loop (Musik vs. Effekt) +- Browser spielen erst nach der ersten Nutzergeste Ton ab diff --git a/todo-notes/sprite-animation.md b/todo-notes/sprite-animation.md new file mode 100644 index 00000000..e9f21e3c --- /dev/null +++ b/todo-notes/sprite-animation.md @@ -0,0 +1,8 @@ +Sprite-Animation: Frames einer Textur nacheinander abspielen. + +Stand: Texturen lassen sich schon in Frames schneiden (Slice-Dialog), aber ein Sprite zeigt immer genau einen Frame. Nichts spielt sie ab. + +Abzuklären: +- wo die Animation wohnt: eigenes Asset (Frame-Liste + fps + Loop) oder Properties direkt am Sprite +- wie man sie im Graph steuert (starten/stoppen, anderen Clip wählen, "fertig"-Event) +- Vorschau im Editor oder erst im Play diff --git a/todo-notes/template-changes-to-instances.md b/todo-notes/template-changes-to-instances.md new file mode 100644 index 00000000..369a6467 --- /dev/null +++ b/todo-notes/template-changes-to-instances.md @@ -0,0 +1,5 @@ +Struktur-Änderungen an einem Container-Template erreichen bestehende Instanzen nicht. + +Stand: Objekt im Template hinzufügen, löschen oder umhängen wirkt nur bei der nächsten Platzierung. Schon platzierte Instanzen behalten die alte Struktur. + +Abzuklären: was mit Overrides passiert, die an einem gelöschten Template-Objekt hängen.