Plugin support: Eigene Inspector-Section (api.inspector.addSection) #122

Open
opened 2026-09-17 20:30:09 +02:00 by meleki · 0 comments
Owner

Folge von #117, Punkt 1. Ein Plugin soll eine eigene Section im Inspector zeigen dürfen.

Befund

Der Inspector (src/editor/inspector/Inspector.ts) baut je Auswahlart eine Section (Asset, Object, Node, Frame, Track …). Eine Signatur entscheidet, wann neu gebaut und wann nur aufgefrischt wird; rebuildWhenLeft hält den Neuaufbau zurück, solange jemand in einem Feld tippt.

Zu bauen

  • api.inspector.addSection({ id, title, appliesTo(selection), build(section), refresh?(section) }).
  • Die Plugin-Section kommt unter die eingebauten. Eingebaute Zeilen ändern oder ausblenden kann ein Plugin nicht, nur ergänzen.
  • Dieselbe Trennung in Neuaufbau und Auffrischen wie bei den eingebauten Sections. Sonst wird bei jedem Drag-Schritt alles neu gebaut, und ein Feld verliert beim Tippen den Fokus.
  • Die Auswahl sieht das Plugin nur als einfache Beschreibung, etwa { kind, ids } mit Asset-Ids — keine Modell-Objekte.
  • Der Inhalt kommt aus den Fabriken von #121, gespeichert wird über #120.
  • Abschalten des Plugins nimmt die Section wieder weg (Scope wie in #114).
  • Tests: Unit-Tests für appliesTo, Auffrischen ohne Fokusverlust und Aufräumen beim Abschalten, dazu ein e2e-Check.

Offen (mit Vorschlag)

  • Darf eine Section auch erscheinen, wenn nichts ausgewählt ist? Vorschlag: ja, das entscheidet appliesTo.
Folge von #117, Punkt 1. Ein Plugin soll eine eigene Section im Inspector zeigen dürfen. ## Befund Der Inspector (`src/editor/inspector/Inspector.ts`) baut je Auswahlart eine Section (Asset, Object, Node, Frame, Track …). Eine Signatur entscheidet, wann neu gebaut und wann nur aufgefrischt wird; `rebuildWhenLeft` hält den Neuaufbau zurück, solange jemand in einem Feld tippt. ## Zu bauen - `api.inspector.addSection({ id, title, appliesTo(selection), build(section), refresh?(section) })`. - Die Plugin-Section kommt **unter** die eingebauten. Eingebaute Zeilen ändern oder ausblenden kann ein Plugin nicht, nur ergänzen. - Dieselbe Trennung in Neuaufbau und Auffrischen wie bei den eingebauten Sections. Sonst wird bei jedem Drag-Schritt alles neu gebaut, und ein Feld verliert beim Tippen den Fokus. - Die Auswahl sieht das Plugin nur als einfache Beschreibung, etwa `{ kind, ids }` mit Asset-Ids — keine Modell-Objekte. - Der Inhalt kommt aus den Fabriken von #121, gespeichert wird über #120. - Abschalten des Plugins nimmt die Section wieder weg (Scope wie in #114). - Tests: Unit-Tests für `appliesTo`, Auffrischen ohne Fokusverlust und Aufräumen beim Abschalten, dazu ein e2e-Check. ## Offen (mit Vorschlag) - Darf eine Section auch erscheinen, wenn nichts ausgewählt ist? Vorschlag: ja, das entscheidet `appliesTo`.
admin added this to the Development project 2026-09-17 20:32:57 +02:00
admin added the question label 2026-09-20 13:38:42 +02:00
admin added the low-priority label 2026-09-21 08:09:09 +02:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: meleki/feuerwerk#122