Folge von #117, Punkt 2. Ein Plugin soll in seinem Tab eigene Felder zeigen — Text, Zahl, Checkbox, Auswahl, Farbe — ohne Graph.
Befund
Die Widgets gibt es alle schon in src/ui/widgets: TextField, NumberField, Checkbox, Dropdown, ColorField, Slider, Button, Label, dazu die Layouts und ScrollContainer. Ein Plugin darf sie nur nicht importieren, weil Pixi genau einmal existieren darf.
Zu bauen
api.ui bietet Fabriken an: textField, numberField, checkbox, dropdown, colorField, slider, button, label, dazu vstack, hstack und scroll.
Die Fabriken sind die Grenze: zurück kommt ein Widget, das nur an api-Stellen weitergereicht wird. Die Klassen bleiben intern und können umgebaut werden.
Was ein Plugin kaputt übergibt, wird geprüft und wirft mit einer Meldung, die den Plugin-Namen nennt — wie schon bei tabs.add.
Hält das Plugin die Werte nur selbst (Filter, Anzeige-Optionen), reicht das. Sollen sie im Projekt landen, kommt #120 dazu.
Tests: Unit-Tests je Fabrik, dazu ein e2e-Check, der in ein Plugin-Feld tippt.
Doku: Wiki Plugins.md mit der Liste der Fabriken.
Offen (mit Vorschlag)
Wird PLUGIN_API_VERSION angehoben? Vorschlag: ja, auf 2, und meta.api: 1 bleibt ladbar, solange nur etwas dazukommt. Die Version sagt dann, worauf ein Plugin sich verlassen darf.
Folge von #117, Punkt 2. Ein Plugin soll in seinem Tab eigene Felder zeigen — Text, Zahl, Checkbox, Auswahl, Farbe — ohne Graph.
## Befund
Die Widgets gibt es alle schon in `src/ui/widgets`: `TextField`, `NumberField`, `Checkbox`, `Dropdown`, `ColorField`, `Slider`, `Button`, `Label`, dazu die Layouts und `ScrollContainer`. Ein Plugin darf sie nur nicht importieren, weil Pixi genau einmal existieren darf.
## Zu bauen
- `api.ui` bietet Fabriken an: `textField`, `numberField`, `checkbox`, `dropdown`, `colorField`, `slider`, `button`, `label`, dazu `vstack`, `hstack` und `scroll`.
- Die Fabriken sind die Grenze: zurück kommt ein Widget, das nur an `api`-Stellen weitergereicht wird. Die Klassen bleiben intern und können umgebaut werden.
- Was ein Plugin kaputt übergibt, wird geprüft und wirft mit einer Meldung, die den Plugin-Namen nennt — wie schon bei `tabs.add`.
- Hält das Plugin die Werte nur selbst (Filter, Anzeige-Optionen), reicht das. Sollen sie im Projekt landen, kommt #120 dazu.
- Tests: Unit-Tests je Fabrik, dazu ein e2e-Check, der in ein Plugin-Feld tippt.
- Doku: Wiki `Plugins.md` mit der Liste der Fabriken.
## Offen (mit Vorschlag)
- Wird `PLUGIN_API_VERSION` angehoben? Vorschlag: ja, auf 2, und `meta.api: 1` bleibt ladbar, solange nur etwas dazukommt. Die Version sagt dann, worauf ein Plugin sich verlassen darf.
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.
Folge von #117, Punkt 2. Ein Plugin soll in seinem Tab eigene Felder zeigen — Text, Zahl, Checkbox, Auswahl, Farbe — ohne Graph.
Befund
Die Widgets gibt es alle schon in
src/ui/widgets:TextField,NumberField,Checkbox,Dropdown,ColorField,Slider,Button,Label, dazu die Layouts undScrollContainer. Ein Plugin darf sie nur nicht importieren, weil Pixi genau einmal existieren darf.Zu bauen
api.uibietet Fabriken an:textField,numberField,checkbox,dropdown,colorField,slider,button,label, dazuvstack,hstackundscroll.api-Stellen weitergereicht wird. Die Klassen bleiben intern und können umgebaut werden.tabs.add.Plugins.mdmit der Liste der Fabriken.Offen (mit Vorschlag)
PLUGIN_API_VERSIONangehoben? Vorschlag: ja, auf 2, undmeta.api: 1bleibt ladbar, solange nur etwas dazukommt. Die Version sagt dann, worauf ein Plugin sich verlassen darf.