Entscheidung: relativ (per Rückfrage gewählt). Das Z eines Layers ist ein Offset und wird auf das Z der platzierten Tilemap addiert, genauso wie das Z eines Kinds auf das seines Elternobjekts. Ein absolutes Z wäre hier auch nicht sauber gegangen: Die Layer gehören zum Asset, ein absoluter Wert hätte also für jede Platzierung derselben Map gleich gegolten.
Verhalten
Vorgabe 0: Alles bleibt wie vorher. Die Layer kommen direkt nach ihrer Map, in der Reihenfolge der Liste. Bestehende Projekte ändern sich nicht, ein Test prüft das.
Beispiel: Map Z 0, Figur Z 5, Layer „Roofs“ Z 10. Dann läuft die Figur zwischen Boden und Dächern. Wird die Map in Z verschoben, wandern alle Layer mit.
Negatives Z sortiert einen Layer unter die Map.
Bei gleichem Z entscheidet zwischen Layern die Reihenfolge der Liste, gegenüber anderen Objekten wie immer die Hierarchie.
Im Game gilt dieselbe Reihenfolge, auch wenn ein Run das Z der Map ändert.
Bedienung: Im Tilemap-Panel steht unter „Name“ das Feld Z für den gewählten Layer. Jede Änderung ist ein Undo-Schritt.
Technisch: Eine Tilemap zeichnet in einen Container pro Layer statt in einen für die ganze Map. Die Sortierung steckt in der reinen Funktion drawSlots (src/viewport/drawOrder.ts), die Editor-Szene und Game gemeinsam nutzen.
Tests
npm run check: 111 Dateien, 1594 Tests (vorher 1582), grün.
12 neue Unit-Tests in tests/viewport/layer-z.test.ts: Kommando mit Undo/Redo, Laden und Speichern, Reihenfolge in Szene und Game, zwei Platzierungen derselben Map, negatives Z, Gleichstand, versteckte Layer und Symbole.
Gegenprobe mit 9 eingebauten Fehlern: 8 gefangen (einer davon erst durch einen nachgeschobenen Test), eine Mutation war gleichwertig zum Original.
Neuer e2e-Check 40p: −5 ins echte Feld getippt, der Layer liegt danach im Scene-View unter der Map und unter dem anderen Layer, Undo stellt es zurück. Module 39–43 lokal grün (102 Checks).
CI zu 47eea2f lief beim Schreiben noch. Die Check-Summe 1076 in README und Wiki ist deshalb nur gerechnet; das gemessene Ergebnis kommt als Nachtrag.
Umgesetzt in `47eea2f` (Wiki `b79ed36`).
**Entscheidung: relativ** (per Rückfrage gewählt). Das Z eines Layers ist ein Offset und wird auf das Z der platzierten Tilemap addiert, genauso wie das Z eines Kinds auf das seines Elternobjekts. Ein absolutes Z wäre hier auch nicht sauber gegangen: Die Layer gehören zum Asset, ein absoluter Wert hätte also für jede Platzierung derselben Map gleich gegolten.
**Verhalten**
- Vorgabe 0: Alles bleibt wie vorher. Die Layer kommen direkt nach ihrer Map, in der Reihenfolge der Liste. Bestehende Projekte ändern sich nicht, ein Test prüft das.
- Beispiel: Map Z 0, Figur Z 5, Layer „Roofs“ Z 10. Dann läuft die Figur zwischen Boden und Dächern. Wird die Map in Z verschoben, wandern alle Layer mit.
- Negatives Z sortiert einen Layer unter die Map.
- Bei gleichem Z entscheidet zwischen Layern die Reihenfolge der Liste, gegenüber anderen Objekten wie immer die Hierarchie.
- Im Game gilt dieselbe Reihenfolge, auch wenn ein Run das Z der Map ändert.
- Bedienung: Im Tilemap-Panel steht unter „Name“ das Feld **Z** für den gewählten Layer. Jede Änderung ist ein Undo-Schritt.
**Technisch:** Eine Tilemap zeichnet in einen Container pro Layer statt in einen für die ganze Map. Die Sortierung steckt in der reinen Funktion `drawSlots` (`src/viewport/drawOrder.ts`), die Editor-Szene und Game gemeinsam nutzen.
**Tests**
- `npm run check`: 111 Dateien, 1594 Tests (vorher 1582), grün.
- 12 neue Unit-Tests in `tests/viewport/layer-z.test.ts`: Kommando mit Undo/Redo, Laden und Speichern, Reihenfolge in Szene und Game, zwei Platzierungen derselben Map, negatives Z, Gleichstand, versteckte Layer und Symbole.
- Gegenprobe mit 9 eingebauten Fehlern: 8 gefangen (einer davon erst durch einen nachgeschobenen Test), eine Mutation war gleichwertig zum Original.
- Neuer e2e-Check 40p: −5 ins echte Feld getippt, der Layer liegt danach im Scene-View unter der Map und unter dem anderen Layer, Undo stellt es zurück. Module 39–43 lokal grün (102 Checks).
**CI zu `47eea2f`** lief beim Schreiben noch. Die Check-Summe **1076** in README und Wiki ist deshalb nur gerechnet; das gemessene Ergebnis kommt als Nachtrag.
Suite (Task 151): ALL PASSED – 1076 checks, Smokes 24 / 19 / 21
Die Summe 1076 ist damit bestätigt.
**Nachtrag CI zu `47eea2f`:** grün, in den Job-Logs selbst nachgelesen.
- Gate (Task 150): 111 Testdateien grün, `CHECK EXIT 0`
- Suite (Task 151): `ALL PASSED – 1076 checks`, Smokes 24 / 19 / 21
Die Summe 1076 ist damit bestätigt.
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.
Die einzelnen Layers brauchen ein eigenes Z: die frage ist was besser wäre: absolut oder relativ zur tilemap Z (offset)
Umgesetzt in
47eea2f(Wikib79ed36).Entscheidung: relativ (per Rückfrage gewählt). Das Z eines Layers ist ein Offset und wird auf das Z der platzierten Tilemap addiert, genauso wie das Z eines Kinds auf das seines Elternobjekts. Ein absolutes Z wäre hier auch nicht sauber gegangen: Die Layer gehören zum Asset, ein absoluter Wert hätte also für jede Platzierung derselben Map gleich gegolten.
Verhalten
Technisch: Eine Tilemap zeichnet in einen Container pro Layer statt in einen für die ganze Map. Die Sortierung steckt in der reinen Funktion
drawSlots(src/viewport/drawOrder.ts), die Editor-Szene und Game gemeinsam nutzen.Tests
npm run check: 111 Dateien, 1594 Tests (vorher 1582), grün.tests/viewport/layer-z.test.ts: Kommando mit Undo/Redo, Laden und Speichern, Reihenfolge in Szene und Game, zwei Platzierungen derselben Map, negatives Z, Gleichstand, versteckte Layer und Symbole.CI zu
47eea2flief beim Schreiben noch. Die Check-Summe 1076 in README und Wiki ist deshalb nur gerechnet; das gemessene Ergebnis kommt als Nachtrag.Nachtrag CI zu
47eea2f: grün, in den Job-Logs selbst nachgelesen.CHECK EXIT 0ALL PASSED – 1076 checks, Smokes 24 / 19 / 21Die Summe 1076 ist damit bestätigt.