Tileset Assetname "Autotile" #131

Closed
opened 2026-09-18 07:35:08 +02:00 by admin · 1 comment

Ich bräuchte beim jetzigen Autotile-Kind noch einen Eintrag None (1 x 1), sprich einfach das ganze ohne Autotile-Logik. simples repeat.
Der Name "Autotile" beim Asset ist somit wahrscheinlich falsch gewählt. Es müsste einfach nur "Tile" heißen.

Ich bräuchte beim jetzigen Autotile-Kind noch einen Eintrag `None (1 x 1)`, sprich einfach das ganze ohne Autotile-Logik. simples repeat. Der Name "Autotile" beim Asset ist somit wahrscheinlich falsch gewählt. Es müsste einfach nur "Tile" heißen.
admin added the high-priority label 2026-09-18 07:35:08 +02:00
admin added this to the Development project 2026-09-18 07:35:08 +02:00
admin moved this to Next in Development on 2026-09-18 07:35:10 +02:00
Owner

Umgesetzt in 732f651, Wiki in 60be8d9.

Entscheidungen

  • Umbenennung überall dort, wo das Asset gemeint ist: Typ-Id tile, Tab „Tile", „+"-Menü, Inspector („TILE ASSET"), Palette der Tilemap („TILES"), Meldungen und Asset-Code. Die Nachbar-Logik heißt weiter „autotile" (model/autotile.ts, autotileCombinations), weil sie genau das ist.
  • Neue Art None (1 × 1) ist die Vorgabe. Ein Bild ist genau eine Kachel, jede bemalte Zelle zeigt sie unverändert, Nachbarn spielen keine Rolle. Animation (fps/playback) gilt weiter. Das Bild muss quadratisch sein, ungerade Seitenlänge ist erlaubt.
  • Alte Projekte: Beim Laden wird autotile still zu tile. Hatte das Asset keine Art gespeichert, bekommt es ausdrücklich floor und bleibt, was es war.

Gebaut

  • Modell aufgeteilt: src/core/model/tile.ts (Arten, Blockform, Bilder lesen, Animation), src/core/model/autotile.ts nur noch die Viertel-Zuordnung.
  • None läuft durch denselben Viertel-Weg wie die Autotiles, jede Ecke nimmt ihr eigenes Viertel — Mesh und Zeichnen blieben unverändert.
  • Umbenannt: tileCommands.ts, src/editor/tile/ (TileEditor, TileCanvas, PictureStrip), Tests und e2e-Modul 39-tile.mjs.
  • Hinweis: Bei Floor/Wall ist „Kind" im Inspector jetzt gold markiert (Abweichung von der neuen Vorgabe none) — gewollt.

Tests (lokal)

npm run check                                        → 96 Files, 1309 Tests (vorher 1303), CHECK EXIT 0
npm run build                                        → BUILD EXIT 0
GM_STEPS=1-16,24,25,33,36,38,39,40 (frisch geseedet) → ALL PASSED – 583 checks
GM_STEPS=39,40 nach dem letzten Fix                  → ALL PASSED – 41 checks
  • 6 neue Unit-Tests: Migration (alter Floor ohne Art, alte Wall, neues Tile ohne Art), Vorgabe none, none ignoriert Nachbarn, quadratisch/ungerade/nicht quadratisch, none in der Tilemap.
  • Gegenprobe mit 3 absichtlichen Fehlern (Migration ohne floor, none mit Floor-Ecken, gerade Seitenlänge erzwungen) — jeder von mindestens einem Test gefangen.
  • 4 neue e2e-Checks in Modul 39: Umstellen auf None lehnt Floor-Blöcke ab, 48er-Frame ergibt 1 Kachel („· 48 px · 1 picture · 1 tile"), Pixel allein/umgeben gleich, Undo.
  • Befund beim Testen: die Anzeige zeigte zuerst „48.00 px" (eigener Fehler), behoben; der Check vergleicht jetzt den genauen Text.

Doku

  • Wiki: Autotiles.md → Tiles.md (Tabelle der drei Arten, Abschnitt Older projects), dazu Tilemaps.md, Home.md, _Sidebar.md, Architecture.md, Development.md. Die Wiki-Seite „Autotiles" gibt es nicht mehr.
  • Check-Summe 1013 (1009 + 4) in README und Development.md — gerechnet, CI zu 732f651 noch nicht gelesen.
Umgesetzt in `732f651`, Wiki in `60be8d9`. ## Entscheidungen - **Umbenennung überall dort, wo das Asset gemeint ist:** Typ-Id `tile`, Tab „Tile", „+"-Menü, Inspector („TILE ASSET"), Palette der Tilemap („TILES"), Meldungen und Asset-Code. Die Nachbar-Logik heißt weiter „autotile" (`model/autotile.ts`, `autotileCombinations`), weil sie genau das ist. - **Neue Art `None (1 × 1)` ist die Vorgabe.** Ein Bild ist genau eine Kachel, jede bemalte Zelle zeigt sie unverändert, Nachbarn spielen keine Rolle. Animation (fps/playback) gilt weiter. Das Bild muss quadratisch sein, ungerade Seitenlänge ist erlaubt. - **Alte Projekte:** Beim Laden wird `autotile` still zu `tile`. Hatte das Asset keine Art gespeichert, bekommt es ausdrücklich `floor` und bleibt, was es war. ## Gebaut - Modell aufgeteilt: `src/core/model/tile.ts` (Arten, Blockform, Bilder lesen, Animation), `src/core/model/autotile.ts` nur noch die Viertel-Zuordnung. - `None` läuft durch denselben Viertel-Weg wie die Autotiles, jede Ecke nimmt ihr eigenes Viertel — Mesh und Zeichnen blieben unverändert. - Umbenannt: `tileCommands.ts`, `src/editor/tile/` (`TileEditor`, `TileCanvas`, `PictureStrip`), Tests und e2e-Modul `39-tile.mjs`. - Hinweis: Bei Floor/Wall ist „Kind" im Inspector jetzt gold markiert (Abweichung von der neuen Vorgabe `none`) — gewollt. ## Tests (lokal) ``` npm run check → 96 Files, 1309 Tests (vorher 1303), CHECK EXIT 0 npm run build → BUILD EXIT 0 GM_STEPS=1-16,24,25,33,36,38,39,40 (frisch geseedet) → ALL PASSED – 583 checks GM_STEPS=39,40 nach dem letzten Fix → ALL PASSED – 41 checks ``` - 6 neue Unit-Tests: Migration (alter Floor ohne Art, alte Wall, neues Tile ohne Art), Vorgabe `none`, `none` ignoriert Nachbarn, quadratisch/ungerade/nicht quadratisch, `none` in der Tilemap. - Gegenprobe mit 3 absichtlichen Fehlern (Migration ohne `floor`, `none` mit Floor-Ecken, gerade Seitenlänge erzwungen) — jeder von mindestens einem Test gefangen. - 4 neue e2e-Checks in Modul 39: Umstellen auf None lehnt Floor-Blöcke ab, 48er-Frame ergibt 1 Kachel („· 48 px · 1 picture · 1 tile"), Pixel allein/umgeben gleich, Undo. - Befund beim Testen: die Anzeige zeigte zuerst „48.00 px" (eigener Fehler), behoben; der Check vergleicht jetzt den genauen Text. ## Doku - Wiki: `Autotiles.md` → **`Tiles.md`** (Tabelle der drei Arten, Abschnitt *Older projects*), dazu `Tilemaps.md`, `Home.md`, `_Sidebar.md`, `Architecture.md`, `Development.md`. Die Wiki-Seite „Autotiles" gibt es nicht mehr. - Check-Summe **1013** (1009 + 4) in README und `Development.md` — gerechnet, CI zu `732f651` noch nicht gelesen.
admin moved this to Done in Development on 2026-09-18 08:26:34 +02:00
Sign in to join this conversation.
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: meleki/feuerwerk#131