Let a container sort its content with its parent #243

Closed
opened 2026-09-27 11:29:28 +02:00 by meleki · 1 comment
Owner

Wunsch

"Sort with parent" (#232) gibt es nur bei Sprite, Text und Partikel. Ein Container unter einer Figur soll seinen Inhalt auch am Platz der Figur zeichnen lassen können.

Entscheidungen (User, 2026-09-27)

  • Variante a): Der Container bekommt den Schalter "Sort with parent". Ist er an, wird der Container zum Durchgang: sein ganzer Inhalt wird am Platz des Parents des Containers gezeichnet, so wie heute die Kinder eines Sprites.
  • Der Container selbst bekommt keinen eigenen Platz in der Zeichenreihenfolge (keine Variante b). Damit braucht er auch keinen Fuß für "Sort by Y": es zählt der Fuß des Parents.
  • Standard ist aus, auch bei neuen Containern. Alte Projekte zeichnen unverändert.
  • Gilt im Editor, im Spiel und beim Picking gleich (drawSlots).
## Wunsch "Sort with parent" (#232) gibt es nur bei Sprite, Text und Partikel. Ein Container unter einer Figur soll seinen Inhalt auch am Platz der Figur zeichnen lassen können. ## Entscheidungen (User, 2026-09-27) - **Variante a):** Der Container bekommt den Schalter "Sort with parent". Ist er an, wird der Container zum Durchgang: sein ganzer Inhalt wird am Platz des Parents des Containers gezeichnet, so wie heute die Kinder eines Sprites. - Der Container selbst bekommt **keinen** eigenen Platz in der Zeichenreihenfolge (keine Variante b). Damit braucht er auch keinen Fuß für "Sort by Y": es zählt der Fuß des Parents. - **Standard ist aus**, auch bei neuen Containern. Alte Projekte zeichnen unverändert. - Gilt im Editor, im Spiel und beim Picking gleich (`drawSlots`).
admin added this to the Development project 2026-09-27 11:29:43 +02:00
admin moved this to Next in Development on 2026-09-27 11:29:56 +02:00
Author
Owner

Umgesetzt in 3abb689, Variante a).

Was sich ändert

  • Der Container hat unter Z den Schalter Sort with parent. Standard ist aus, auch bei neuen Containern. Bestehende Projekte zeichnen also wie bisher.
  • Ist er an, wird der ganze Inhalt am Platz des Parents des Containers gezeichnet. Der eigene Schalter des Inhalts zählt dabei nicht.
  • Mehrere Container hintereinander reichen den Inhalt weiter, solange bei jedem der Schalter an ist. Auf oberster Ebene oder unter einer Tilemap hat er keine Wirkung.
  • Editor, Spiel und Anklicken nutzen alle drawSlots, das neue Feld sortsWith am Zeichen-Item sagt, wohin der Inhalt weitergereicht wird. Die drei können also nicht auseinanderlaufen.

Fund beim Testen: Hängt ein Szenenobjekt direkt unter einem Container, gilt der Container als ausgepackt und der Template-Inhalt fällt weg. Das war schon vorher so (spelledOut), die Tests halten beide Fälle jetzt getrennt.

Tests

  • 7 neue Unit-Tests in sort-with-parent.test.ts: Schalter, Template-Inhalt, Override pro Container, Kette, oberste Ebene und Tilemap, Spiel und Anklicken.
  • e2e 5b-iii mit echtem Klick auf den Schalter im Inspector, samt Undo.
  • Gegenproben an Unit-Test und im Browser greifen.
Umgesetzt in `3abb689`, Variante a). **Was sich ändert** - Der Container hat unter *Z* den Schalter **Sort with parent**. Standard ist **aus**, auch bei neuen Containern. Bestehende Projekte zeichnen also wie bisher. - Ist er an, wird der ganze Inhalt am Platz des Parents des Containers gezeichnet. Der eigene Schalter des Inhalts zählt dabei nicht. - Mehrere Container hintereinander reichen den Inhalt weiter, solange bei jedem der Schalter an ist. Auf oberster Ebene oder unter einer Tilemap hat er keine Wirkung. - Editor, Spiel und Anklicken nutzen alle `drawSlots`, das neue Feld `sortsWith` am Zeichen-Item sagt, wohin der Inhalt weitergereicht wird. Die drei können also nicht auseinanderlaufen. **Fund beim Testen:** Hängt ein Szenenobjekt direkt unter einem Container, gilt der Container als ausgepackt und der Template-Inhalt fällt weg. Das war schon vorher so (`spelledOut`), die Tests halten beide Fälle jetzt getrennt. **Tests** - 7 neue Unit-Tests in `sort-with-parent.test.ts`: Schalter, Template-Inhalt, Override pro Container, Kette, oberste Ebene und Tilemap, Spiel und Anklicken. - e2e 5b-iii mit echtem Klick auf den Schalter im Inspector, samt Undo. - Gegenproben an Unit-Test und im Browser greifen.
admin moved this to Done in Development on 2026-09-27 12:15:29 +02:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: meleki/feuerwerk#243