Der Malbereich einer Tilemap steht heute im Inspector, unter den Properties des Objekts (buildTilemapSection, aufgerufen aus objectSection.ts:210). Dazu gehören PAINTING (Select/Brush/Erase/Rect), TILES (Palette), LAYERS (Liste, Name, Show) und „Add layer“. Der Inspector wird dadurch sehr lang, und wer malt, scrollt ständig zwischen Transform/Properties und dem Malbereich hin und her.
Auf dem Screenshot des Users ist markiert, wo der Bereich hin soll: in die mittlere Spalte, rechts im Scene-View, über der Console. Der Inspector bleibt rechts daneben.
Zu bauen
Ein eigenes Panel „Tilemap“ (Arbeitstitel), rechts im Bereich des Scene-View. Die Console bleibt darunter und läuft wie bisher über die ganze Breite der mittleren Spalte.
Ins Panel ziehen PAINTING, TILES und LAYERS (mit Name, Show und Add layer) um, und zwar vollständig. Im Inspector bleibt davon nichts übrig.
Im Inspector bleiben die Properties der Tilemap (Columns, Rows, Tile size) sowie Name, Asset, Position, Transform und Editor-Offset. Das sind Daten des Objekts und keine Malwerkzeuge.
Sichtbar ist das Panel nur, wenn im Scene-View eine platzierte Tilemap ausgewählt ist. In jedem anderen Fall ist es verschwunden, und der Scene-View bekommt die volle Breite zurück.
Die Test-Hooks (currentTilemapSection(), tilemap* in debugHook.ts) zeigen danach auf das Panel. Die e2e-Schritte in Modul 40 laufen unverändert weiter und prüfen zusätzlich, ob das Panel erscheint und wieder verschwindet.
Offen (jeweils mit Vorschlag)
Eigene Spalte oder Overlay? Das Panel kann eine eigene Spalte neben dem Scene-View sein (der Scene-View wird schmaler) oder schwebend über dem Scene-View liegen (die Karte läuft darunter weiter). Vorschlag: eigene Spalte. Dann verdeckt nichts die Karte, auf der man malt, und das Panel sieht aus wie die anderen Panels (Header, Rahmen, Scroll-Bereich).
Breite:Vorschlag: ziehbar über einen Splitter('x'), wie bei den Spalten links und rechts. Nicht gespeichert, wie die übrigen Splitter. Startbreite etwa wie der Inspector.
Nur im Scene-Tab? Bei einer ausgewählten Tilemap in einem anderen Tab (Game, Graph …) wird nicht gemalt. Vorschlag: ja, das Panel gehört zum Scene-Pane. Wechselt man den Tab, verschwindet es mit dem Scene-View.
Tilemap-Asset im Assets-Panel ausgewählt, aber keine Platzierung: Vorschlag: kein Panel. Gemalt wird immer auf einer platzierten Tilemap im Scene-View, genau so wie heute.
Werkzeug beim Abwählen: Heute greift man mit einem Klick auf eine Kachel von selbst zum Pinsel. Wird die Tilemap abgewählt, verschwindet das Panel. Vorschlag: Beim Abwählen fällt das Werkzeug auf Select zurück, damit nach dem Verschwinden des Panels kein unsichtbarer Pinsel aktiv bleibt. Das Tile und der aktive Layer bleiben gemerkt.
Mehrere Tilemaps ausgewählt:Vorschlag: Das Panel zeigt sich nur, wenn genau eine Tilemap ausgewählt ist.
Doku
Wiki Tilemaps.md (wo der Malbereich zu finden ist), Architecture.md (neues Panel), README und Development.md, falls sich die Summe der Checks ändert.
## Befund
Der Malbereich einer Tilemap steht heute im Inspector, unter den Properties des Objekts (`buildTilemapSection`, aufgerufen aus `objectSection.ts:210`). Dazu gehören PAINTING (Select/Brush/Erase/Rect), TILES (Palette), LAYERS (Liste, Name, Show) und „Add layer“. Der Inspector wird dadurch sehr lang, und wer malt, scrollt ständig zwischen Transform/Properties und dem Malbereich hin und her.
Auf dem Screenshot des Users ist markiert, wo der Bereich hin soll: in die mittlere Spalte, rechts im Scene-View, über der Console. Der Inspector bleibt rechts daneben.
## Zu bauen
- **Ein eigenes Panel „Tilemap“ (Arbeitstitel)**, rechts im Bereich des Scene-View. Die Console bleibt darunter und läuft wie bisher über die ganze Breite der mittleren Spalte.
- Ins Panel ziehen **PAINTING, TILES und LAYERS (mit Name, Show und Add layer)** um, und zwar vollständig. Im Inspector bleibt davon nichts übrig.
- Im Inspector bleiben die **Properties der Tilemap** (Columns, Rows, Tile size) sowie Name, Asset, Position, Transform und Editor-Offset. Das sind Daten des Objekts und keine Malwerkzeuge.
- **Sichtbar ist das Panel nur, wenn im Scene-View eine platzierte Tilemap ausgewählt ist.** In jedem anderen Fall ist es verschwunden, und der Scene-View bekommt die volle Breite zurück.
- Die Test-Hooks (`currentTilemapSection()`, `tilemap*` in `debugHook.ts`) zeigen danach auf das Panel. Die e2e-Schritte in Modul 40 laufen unverändert weiter und prüfen zusätzlich, ob das Panel erscheint und wieder verschwindet.
## Offen (jeweils mit Vorschlag)
1. **Eigene Spalte oder Overlay?** Das Panel kann eine eigene Spalte neben dem Scene-View sein (der Scene-View wird schmaler) oder schwebend über dem Scene-View liegen (die Karte läuft darunter weiter).
*Vorschlag:* eigene Spalte. Dann verdeckt nichts die Karte, auf der man malt, und das Panel sieht aus wie die anderen Panels (Header, Rahmen, Scroll-Bereich).
2. **Breite:** *Vorschlag:* ziehbar über einen `Splitter('x')`, wie bei den Spalten links und rechts. Nicht gespeichert, wie die übrigen Splitter. Startbreite etwa wie der Inspector.
3. **Nur im Scene-Tab?** Bei einer ausgewählten Tilemap in einem anderen Tab (Game, Graph …) wird nicht gemalt.
*Vorschlag:* ja, das Panel gehört zum Scene-Pane. Wechselt man den Tab, verschwindet es mit dem Scene-View.
4. **Tilemap-Asset im Assets-Panel ausgewählt**, aber keine Platzierung: *Vorschlag:* kein Panel. Gemalt wird immer auf einer platzierten Tilemap im Scene-View, genau so wie heute.
5. **Werkzeug beim Abwählen:** Heute greift man mit einem Klick auf eine Kachel von selbst zum Pinsel. Wird die Tilemap abgewählt, verschwindet das Panel.
*Vorschlag:* Beim Abwählen fällt das Werkzeug auf Select zurück, damit nach dem Verschwinden des Panels kein unsichtbarer Pinsel aktiv bleibt. Das Tile und der aktive Layer bleiben gemerkt.
6. **Mehrere Tilemaps ausgewählt:** *Vorschlag:* Das Panel zeigt sich nur, wenn genau eine Tilemap ausgewählt ist.
## Doku
Wiki `Tilemaps.md` (wo der Malbereich zu finden ist), `Architecture.md` (neues Panel), README und `Development.md`, falls sich die Summe der Checks ändert.
vorschlag passt, nur im scene-tab und nur sichtbar wenn tilemap ausgewählt
richtig, nur bei platziertem tilemap
vorschlag passt, abwählen zurück zu select
vorschlag passt, nur eine tilemap ausgewählt macht panel sichtbar / malen möglich
1. vorschlag passt
2. vorschlag passt, breite genauso wie inspector
3. vorschlag passt, nur im scene-tab und nur sichtbar wenn tilemap ausgewählt
4. richtig, nur bei platziertem tilemap
5. vorschlag passt, abwählen zurück zu select
6. vorschlag passt, nur eine tilemap ausgewählt macht panel sichtbar / malen möglich
admin
added this to the Development project 2026-09-18 11:17:33 +02:00
admin
moved this to Next in Development on 2026-09-18 11:17:40 +02:00
Neues Panel „Tilemap · “ rechts im Scene-Tab, zwischen Scene-View und Inspector, über der Console (die weiter die ganze Breite hat).
PAINTING, TILES und LAYERS (mit Name, Show, Add layer) sind vollständig umgezogen. Im Inspector endet eine Tilemap bei Columns, Rows und Tile size.
Deine Antworten:
eigene Spalte
Startbreite wie der Inspector (350 px), eigener Splitter, Breite nicht gespeichert
nur im Scene-Tab
nur bei einer platzierten Tilemap
Abwählen → Werkzeug fällt auf Select, Tile und Layer bleiben gemerkt
nur bei genau einer ausgewählten Tilemap
„Genau eine“ gilt auch fürs Malen selbst: Pinsel, Zellraster und Show nutzen dieselbe Funktion paintedTilemap. Vorher hat eine Mehrfachauswahl auf der primären Tilemap gemalt.
Beim Ein-/Ausblenden rutschte der Inhalt um die halbe Panelbreite, weil der View seinen Mittelpunkt festhielt. FreeViewport.resize() hält jetzt den Inhalt am Bildschirm fest. Das gilt auch für Console-Höhe, Spalten-Splitter, Container-Tab und Animations-Vorschau. Folge: Beim Öffnen des Panels kann die rechte Hälfte einer Karte hinter dem Panel liegen, einmal pannen.
Tests
npm run check → 99 Files, 1347 Tests (vorher 1343), CHECK EXIT 0
npm run build → BUILD EXIT 0
GM_STEPS=39,40 (frisch geseedet) → ALL PASSED – 60 checks
GM_STEPS=1-16,19,23-26,31,33,36-40 (frisch geseedet) → ALL PASSED – 768 checks
4 neue Unit-Tests (tests/editor/painted-tilemap.test.ts). Gegenprobe: „Mehrfachauswahl zählt“ wird gefangen. Eine Szenen-Prüfung, deren Wegnahme kein Test bemerkte, war wirkungslos und ist entfernt.
5 neue e2e-Checks in Modul 40: Panel erscheint an der richtigen Stelle, „PAINTING“ nur im Panel · Abwählen schließt es und fällt auf Select · zwei Objekte bzw. Behavior-Tab blenden es aus · Splitter · Karte bleibt beim Öffnen stehen.
Doku
Wiki Tilemaps.md (Abschnitt Painting), Architecture.md, Development.md. Check-Summe 1032, gerechnet, CI steht noch aus.
Umgesetzt in `5046ddb` (Wiki `9b9cfb0`).
## Was gebaut wurde
- **Neues Panel „Tilemap · <Name>“** rechts im Scene-Tab, zwischen Scene-View und Inspector, über der Console (die weiter die ganze Breite hat).
- **PAINTING, TILES und LAYERS** (mit Name, Show, Add layer) sind vollständig umgezogen. Im Inspector endet eine Tilemap bei Columns, Rows und Tile size.
- Deine Antworten:
1. eigene Spalte
2. Startbreite wie der Inspector (350 px), eigener Splitter, Breite nicht gespeichert
3. nur im Scene-Tab
4. nur bei einer platzierten Tilemap
5. Abwählen → Werkzeug fällt auf Select, Tile und Layer bleiben gemerkt
6. nur bei **genau einer** ausgewählten Tilemap
- „Genau eine“ gilt auch fürs Malen selbst: Pinsel, Zellraster und Show nutzen dieselbe Funktion `paintedTilemap`. Vorher hat eine Mehrfachauswahl auf der primären Tilemap gemalt.
- Code: `inspector/tilemapSection.ts` → `panels/TilemapPanel.ts` (per `git mv`), Debug-Hook `tilemap.panel()`.
## Nachtrag: Scene-View springt nicht mehr
Beim Ein-/Ausblenden rutschte der Inhalt um die halbe Panelbreite, weil der View seinen Mittelpunkt festhielt. `FreeViewport.resize()` hält jetzt den Inhalt am Bildschirm fest. Das gilt auch für Console-Höhe, Spalten-Splitter, Container-Tab und Animations-Vorschau. Folge: Beim Öffnen des Panels kann die rechte Hälfte einer Karte hinter dem Panel liegen, einmal pannen.
## Tests
```
npm run check → 99 Files, 1347 Tests (vorher 1343), CHECK EXIT 0
npm run build → BUILD EXIT 0
GM_STEPS=39,40 (frisch geseedet) → ALL PASSED – 60 checks
GM_STEPS=1-16,19,23-26,31,33,36-40 (frisch geseedet) → ALL PASSED – 768 checks
```
- 4 neue Unit-Tests (`tests/editor/painted-tilemap.test.ts`). Gegenprobe: „Mehrfachauswahl zählt“ wird gefangen. Eine Szenen-Prüfung, deren Wegnahme kein Test bemerkte, war wirkungslos und ist entfernt.
- 5 neue e2e-Checks in Modul 40: Panel erscheint an der richtigen Stelle, „PAINTING“ nur im Panel · Abwählen schließt es und fällt auf Select · zwei Objekte bzw. Behavior-Tab blenden es aus · Splitter · Karte bleibt beim Öffnen stehen.
## Doku
Wiki `Tilemaps.md` (Abschnitt *Painting*), `Architecture.md`, `Development.md`. Check-Summe **1032**, gerechnet, CI steht noch aus.
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.
Befund
Der Malbereich einer Tilemap steht heute im Inspector, unter den Properties des Objekts (
buildTilemapSection, aufgerufen ausobjectSection.ts:210). Dazu gehören PAINTING (Select/Brush/Erase/Rect), TILES (Palette), LAYERS (Liste, Name, Show) und „Add layer“. Der Inspector wird dadurch sehr lang, und wer malt, scrollt ständig zwischen Transform/Properties und dem Malbereich hin und her.Auf dem Screenshot des Users ist markiert, wo der Bereich hin soll: in die mittlere Spalte, rechts im Scene-View, über der Console. Der Inspector bleibt rechts daneben.
Zu bauen
currentTilemapSection(),tilemap*indebugHook.ts) zeigen danach auf das Panel. Die e2e-Schritte in Modul 40 laufen unverändert weiter und prüfen zusätzlich, ob das Panel erscheint und wieder verschwindet.Offen (jeweils mit Vorschlag)
Vorschlag: eigene Spalte. Dann verdeckt nichts die Karte, auf der man malt, und das Panel sieht aus wie die anderen Panels (Header, Rahmen, Scroll-Bereich).
Splitter('x'), wie bei den Spalten links und rechts. Nicht gespeichert, wie die übrigen Splitter. Startbreite etwa wie der Inspector.Vorschlag: ja, das Panel gehört zum Scene-Pane. Wechselt man den Tab, verschwindet es mit dem Scene-View.
Vorschlag: Beim Abwählen fällt das Werkzeug auf Select zurück, damit nach dem Verschwinden des Panels kein unsichtbarer Pinsel aktiv bleibt. Das Tile und der aktive Layer bleiben gemerkt.
Doku
Wiki
Tilemaps.md(wo der Malbereich zu finden ist),Architecture.md(neues Panel), README undDevelopment.md, falls sich die Summe der Checks ändert.Umgesetzt in
5046ddb(Wiki9b9cfb0).Was gebaut wurde
paintedTilemap. Vorher hat eine Mehrfachauswahl auf der primären Tilemap gemalt.inspector/tilemapSection.ts→panels/TilemapPanel.ts(pergit mv), Debug-Hooktilemap.panel().Nachtrag: Scene-View springt nicht mehr
Beim Ein-/Ausblenden rutschte der Inhalt um die halbe Panelbreite, weil der View seinen Mittelpunkt festhielt.
FreeViewport.resize()hält jetzt den Inhalt am Bildschirm fest. Das gilt auch für Console-Höhe, Spalten-Splitter, Container-Tab und Animations-Vorschau. Folge: Beim Öffnen des Panels kann die rechte Hälfte einer Karte hinter dem Panel liegen, einmal pannen.Tests
tests/editor/painted-tilemap.test.ts). Gegenprobe: „Mehrfachauswahl zählt“ wird gefangen. Eine Szenen-Prüfung, deren Wegnahme kein Test bemerkte, war wirkungslos und ist entfernt.Doku
Wiki
Tilemaps.md(Abschnitt Painting),Architecture.md,Development.md. Check-Summe 1032, gerechnet, CI steht noch aus.