Visuelle Überarbeitung von Assets #176

Closed
opened 2026-09-19 17:12:26 +02:00 by admin · 4 comments
image.png
  1. Gruppieren nach Asset Type
  2. Jeder Gruppenname mit passenden Icon (auch wieder SVG)
  3. Alphabetisch sortieren (Gruppen und Assets in den Gruppen)
<img width="290" alt="image.png" src="attachments/2e481e0e-0a53-4922-9a81-32436e527f5f"> 1. Gruppieren nach Asset Type 2. Jeder Gruppenname mit passenden Icon (auch wieder SVG) 3. Alphabetisch sortieren (Gruppen und Assets in den Gruppen)
admin added this to the Development project 2026-09-19 17:12:26 +02:00
admin moved this to Next in Development on 2026-09-19 17:12:30 +02:00
Owner

Umgesetzt in e3ebf44

Asset-Panel

  • Assets stehen gruppiert nach Art unter einem Kopf (Sprites, Behaviors, …), rechts die Anzahl. Leere Gruppen erscheinen nicht.
  • Beim Öffnen eines Projekts sind alle Gruppen zugeklappt. Ein Klick auf den Kopf klappt auf und zu.
  • Wird ein Asset anderswo ausgewählt (Picker, Graph, neu angelegt), klappt seine Gruppe auf.
  • Wird die Gruppe des ausgewählten Assets zugeklappt, wird die Auswahl aufgehoben und die Gruppe klappt trotzdem zu.
  • Jede Asset-Art hat ein SVG-Icon (src/editor/panels/icons/) vor dem Namen. Die Regel für Gruppen und Sortierung steht als reine Funktion in assetGroups.ts.

Nachgereicht in derselben Runde

  • Tabs und »-Menü zeigen das Icon statt des Typ-Namens. Der List-Tab hat ein eigenes Icon. Damit ist auch der Nebenfund aus #162 behoben (× über dem Textende des aktiven Tabs).
  • Das +-Menü hat vor jedem Eintrag das Icon (Button hat dafür eine icon-Option).
  • Scene objects: rechts das Icon statt sprite, camera usw.
  • Das Farbfeld neben Sprite-Namen ist aus beiden Panels entfernt.

Tests

npm run check                    → 116 Files, 1690 Tests, CHECK EXIT 0
npm run build                    → BUILD EXIT 0
node tools/e2e.mjs (alle Module) → ALL PASSED – 1102 checks
  • e2e 4g (Gruppen, Zuklappen, Auswahl, Icons), 4h (+-Menü, Scene-Objects-Icon), 14 (»-Menü) und 44a (Tab-Icon).
  • Gegenprobe: Ohne das Aufheben der Auswahl fällt 4g mit expanded: true, selected: "crate".
  • Die Check-Summe 1102 ist lokal gemessen, CI zu e3ebf44 läuft noch.

Wiki: Concepts (gruppiertes Asset-Panel, Icons, Tab-Leiste), Architecture, Development (212d6c2).

## Umgesetzt in `e3ebf44` **Asset-Panel** - Assets stehen gruppiert nach Art unter einem Kopf (Sprites, Behaviors, …), rechts die Anzahl. Leere Gruppen erscheinen nicht. - Beim Öffnen eines Projekts sind alle Gruppen zugeklappt. Ein Klick auf den Kopf klappt auf und zu. - Wird ein Asset anderswo ausgewählt (Picker, Graph, neu angelegt), klappt seine Gruppe auf. - Wird die Gruppe des ausgewählten Assets zugeklappt, wird die Auswahl aufgehoben und die Gruppe klappt trotzdem zu. - Jede Asset-Art hat ein SVG-Icon (`src/editor/panels/icons/`) vor dem Namen. Die Regel für Gruppen und Sortierung steht als reine Funktion in `assetGroups.ts`. **Nachgereicht in derselben Runde** - Tabs und `»`-Menü zeigen das Icon statt des Typ-Namens. Der List-Tab hat ein eigenes Icon. Damit ist auch der Nebenfund aus #162 behoben (× über dem Textende des aktiven Tabs). - Das `+`-Menü hat vor jedem Eintrag das Icon (`Button` hat dafür eine `icon`-Option). - Scene objects: rechts das Icon statt `sprite`, `camera` usw. - Das Farbfeld neben Sprite-Namen ist aus beiden Panels entfernt. **Tests** ``` npm run check → 116 Files, 1690 Tests, CHECK EXIT 0 npm run build → BUILD EXIT 0 node tools/e2e.mjs (alle Module) → ALL PASSED – 1102 checks ``` - e2e 4g (Gruppen, Zuklappen, Auswahl, Icons), 4h (`+`-Menü, Scene-Objects-Icon), 14 (`»`-Menü) und 44a (Tab-Icon). - Gegenprobe: Ohne das Aufheben der Auswahl fällt 4g mit `expanded: true, selected: "crate"`. - Die Check-Summe **1102** ist lokal gemessen, CI zu `e3ebf44` läuft noch. Wiki: Concepts (gruppiertes Asset-Panel, Icons, Tab-Leiste), Architecture, Development (`212d6c2`).
admin moved this to Done in Development on 2026-09-19 18:42:31 +02:00
Owner

Nachtrag 4b5b91e — Open asset im Kontextmenü der Scene objects

Auf Zuruf nachgereicht, deshalb kein eigenes Issue:

  • Im Kontextmenü einer Scene-Object-Zeile steht unter Select asset jetzt Open asset. Der Eintrag macht dasselbe wie ein Doppelklick auf das Asset im Asset-Panel: Das Asset wird ausgewählt und bekommt seinen Tab (state.openAsset).
  • Arten ohne eigenen Editor (Sprite, Kamera, Text, Collider) werden nur ausgewählt — genau wie beim Doppelklick im Asset-Panel. Der Eintrag ist immer aktiv, wie Select asset auch.

Tests: npm run check → 116 Dateien, 1690 Tests, CHECK EXIT 0; npm run build → BUILD EXIT 0; GM_STEPS=1,2 frisch geseedet → ALL PASSED. Neuer e2e-Check in Modul 01: echter Rechtsklick auf die Behavior-Zeile Spawner, Klick auf Open asset, danach ist asset:spawner offen und aktiv; der Check räumt den Tab wieder weg, Modul 02 bleibt grün. Die übrigen Module und die Smokes zeigt CI.

Check-Summe 1103 (1102 + 1) in README und Wiki — gerechnet, von CI noch nicht bestätigt.

CI zu e3ebf44 ist grün

Job Ergebnis
Gate (Task 162) 116 Testdateien, 1690 Tests, CHECK EXIT 0
Suite (Task 163) ALL PASSED – 1102 checks, Smokes 24 / 19 / 21

Damit ist die Check-Summe 1102 bestätigt.

## Nachtrag `4b5b91e` — Open asset im Kontextmenü der Scene objects Auf Zuruf nachgereicht, deshalb kein eigenes Issue: - Im Kontextmenü einer Scene-Object-Zeile steht unter **Select asset** jetzt **Open asset**. Der Eintrag macht dasselbe wie ein Doppelklick auf das Asset im Asset-Panel: Das Asset wird ausgewählt und bekommt seinen Tab (`state.openAsset`). - Arten ohne eigenen Editor (Sprite, Kamera, Text, Collider) werden nur ausgewählt — genau wie beim Doppelklick im Asset-Panel. Der Eintrag ist immer aktiv, wie *Select asset* auch. **Tests:** `npm run check` → 116 Dateien, 1690 Tests, `CHECK EXIT 0`; `npm run build` → `BUILD EXIT 0`; `GM_STEPS=1,2` frisch geseedet → `ALL PASSED`. Neuer e2e-Check in Modul 01: echter Rechtsklick auf die Behavior-Zeile *Spawner*, Klick auf *Open asset*, danach ist `asset:spawner` offen und aktiv; der Check räumt den Tab wieder weg, Modul 02 bleibt grün. Die übrigen Module und die Smokes zeigt CI. **Check-Summe 1103** (1102 + 1) in README und Wiki — gerechnet, von CI noch nicht bestätigt. ## CI zu `e3ebf44` ist grün | Job | Ergebnis | |---|---| | Gate (Task 162) | 116 Testdateien, 1690 Tests, `CHECK EXIT 0` | | Suite (Task 163) | `ALL PASSED – 1102 checks`, Smokes 24 / 19 / 21 | Damit ist die Check-Summe 1102 bestätigt.
Owner

Nachtrag 60ea56a — Open asset ausgegraut, Tabs als Registerkarten

Open asset

  • Der Eintrag ist nur noch anklickbar, wenn die Asset-Art einen eigenen Editor hat (Behavior, State machine, Shader, Particles, Texture, Animation, Tile, Container). Für Sprite, Camera, Text, Collider, Variables, Rigidbody, Tilemap, Font, Sound ist er ausgegraut; Select asset bleibt unverändert.
  • Die Tabelle, welche Art in welchen Tab öffnet, liegt jetzt im neuen Modul src/editor/assetTabs.ts (hasAssetEditor), damit Kontextmenü und Editor dieselbe Liste lesen.

Tab-Optik (auf Zuruf, ohne eigenes Issue)

  • Tabs sehen aus wie Registerkarten: oben abgerundet, unten bündig auf der Leiste.
  • Der aktive Tab ist ein helles Grau statt des bisherigen Blaus.
  • Seine Schrift ist normal, wird aber fett vermessen, damit er den eigenen Namen nie abschneidet.
  • Mouse down auf dem bereits aktiven Tab ändert die Farbe nicht mehr.
  • Der Einzug links und rechts ist 4 → 6 px, an einer Stelle (TAB_PADDING in src/editor/TabButton.ts) für beide Tab-Arten.
  • Scene und Game haben jetzt ein Icon: Scene das Szenen-Icon aus dem Asset-Panel, Game ein neues game.svg (Play-Zeichen im Kreis). Plugins und der Tab eines Plugins bleiben ohne — ein Plugin hat kein eigenes Bild.

Tests

./check.sh                       → 116 Files, 1692 Tests, CHECK EXIT 0
npm run build                    → BUILD EXIT 0
node tools/e2e.mjs (alle Module) → ALL PASSED – 1109 checks
  • Neuer Hook menuEnabled() neben menuRows() und menuIcons().
  • e2e 01: Rechtsklick auf eine Sprite-Zeile, Open asset meldet sich als nicht anklickbar, Select asset als anklickbar. Gegenprobe mit einer Regel, die nur den Sprite-Fall bricht, lässt genau diesen Check fallen.
  • e2e 14a-ii: Karte des aktiven Tabs, Icons von Scene und Game, Plugins ohne.
  • e2e 44a und der »-Menü-Check sind auf den größeren Einzug bzw. das Game-Icon nachgezogen.
  • Die 1109 ist lokal gemessen, nicht gerechnet; CI hat sie noch nicht gesehen. Sie steht in README und Wiki (Concepts, Architecture, Development).

Korrektur vor dem Commit: In den Kommentaren stand zuerst (#177) als Verweis auf die Tab-Optik. #177 ist aber „User Management" und hat damit nichts zu tun — die Verweise zeigen jetzt auf dieses Issue.

CI-Nachtrag zu 4b5b91e

Grün, Logs selbst gelesen:

  • Gate (Task 164): 116 Testdateien, CHECK EXIT 0
  • Suite (Task 165): ALL PASSED – 1103 checks, Smokes 24 / 19 / 21

Damit ist die Check-Summe 1103 bestätigt.

## Nachtrag `60ea56a` — Open asset ausgegraut, Tabs als Registerkarten **Open asset** - Der Eintrag ist nur noch anklickbar, wenn die Asset-Art einen eigenen Editor hat (Behavior, State machine, Shader, Particles, Texture, Animation, Tile, Container). Für Sprite, Camera, Text, Collider, Variables, Rigidbody, Tilemap, Font, Sound ist er ausgegraut; `Select asset` bleibt unverändert. - Die Tabelle, welche Art in welchen Tab öffnet, liegt jetzt im neuen Modul `src/editor/assetTabs.ts` (`hasAssetEditor`), damit Kontextmenü und Editor dieselbe Liste lesen. **Tab-Optik** (auf Zuruf, ohne eigenes Issue) - Tabs sehen aus wie Registerkarten: oben abgerundet, unten bündig auf der Leiste. - Der aktive Tab ist ein **helles Grau** statt des bisherigen Blaus. - Seine Schrift ist **normal**, wird aber fett vermessen, damit er den eigenen Namen nie abschneidet. - **Mouse down auf dem bereits aktiven Tab** ändert die Farbe nicht mehr. - Der Einzug links und rechts ist 4 → **6 px**, an einer Stelle (`TAB_PADDING` in `src/editor/TabButton.ts`) für beide Tab-Arten. - **Scene und Game haben jetzt ein Icon**: Scene das Szenen-Icon aus dem Asset-Panel, Game ein neues `game.svg` (Play-Zeichen im Kreis). Plugins und der Tab eines Plugins bleiben ohne — ein Plugin hat kein eigenes Bild. **Tests** ``` ./check.sh → 116 Files, 1692 Tests, CHECK EXIT 0 npm run build → BUILD EXIT 0 node tools/e2e.mjs (alle Module) → ALL PASSED – 1109 checks ``` - Neuer Hook `menuEnabled()` neben `menuRows()` und `menuIcons()`. - e2e 01: Rechtsklick auf eine Sprite-Zeile, `Open asset` meldet sich als nicht anklickbar, `Select asset` als anklickbar. Gegenprobe mit einer Regel, die nur den Sprite-Fall bricht, lässt genau diesen Check fallen. - e2e 14a-ii: Karte des aktiven Tabs, Icons von Scene und Game, Plugins ohne. - e2e 44a und der `»`-Menü-Check sind auf den größeren Einzug bzw. das Game-Icon nachgezogen. - Die **1109 ist lokal gemessen**, nicht gerechnet; CI hat sie noch nicht gesehen. Sie steht in README und Wiki (Concepts, Architecture, Development). **Korrektur vor dem Commit:** In den Kommentaren stand zuerst `(#177)` als Verweis auf die Tab-Optik. #177 ist aber „User Management" und hat damit nichts zu tun — die Verweise zeigen jetzt auf dieses Issue. ## CI-Nachtrag zu `4b5b91e` Grün, Logs selbst gelesen: - Gate (Task 164): 116 Testdateien, `CHECK EXIT 0` - Suite (Task 165): `ALL PASSED – 1103 checks`, Smokes 24 / 19 / 21 Damit ist die Check-Summe **1103** bestätigt.
Owner

CI-Nachtrag zu 60ea56a (Ausgrauen von Open asset und die Tab-Optik): grün.

Job Ergebnis
Gate (Task 166) 116 Testdateien, CHECK EXIT 0, Job succeeded
Suite (Task 167) ALL PASSED – 1109 checks, Smokes 24 / 19 / 21, Job succeeded

Damit ist die Check-Summe 1109 von CI bestätigt.

**CI-Nachtrag zu `60ea56a`** (Ausgrauen von *Open asset* und die Tab-Optik): grün. | Job | Ergebnis | |---|---| | Gate (Task 166) | 116 Testdateien, `CHECK EXIT 0`, `Job succeeded` | | Suite (Task 167) | `ALL PASSED – 1109 checks`, Smokes 24 / 19 / 21, `Job succeeded` | Damit ist die Check-Summe 1109 von CI bestätigt.
Sign in to join this conversation.
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: meleki/feuerwerk#176