Add extensible component inspectors to DevTools
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 35/100
Direzione di ricerca
Start by reviewing the smaller inspector issues and the connector registered through DevToolsService.registerConnector in flame_behavior_tree. Read doc/flame/other/debug.md for the existing debugging context. Done means the inspector API and JSON format are documented, a custom inspector can add a section without changing flame_devtools, read-only properties remain uneditable, and a throwing inspector does not break the panel.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Problem to solve
The fields in the DevTools extension are hardcoded for a few component types. Games and bridge packages can't show their own properties, so each new type needs changes to both flame and flame_devtools.
Proposal
Add a data-driven inspector API, where the game describes each component's properties and the extension renders them generically.
- A game-side inspector takes a
Componentand returns a titled section, or nothing if it doesn't apply. Sections appear in order. - Each property has a label, type, current value, optional description, and whether it is editable. Types should cover at least double, int, bool, string,
Vector2andAnchor. Doubles can also have a step, min and max. - Getters and setters are closures, so they stay in the game. Only the description goes to the extension as JSON. Writes come back by section and property name.
- Packages register inspectors through
DevToolsService.registerConnector, likeflame_behavior_treedoes for its connector.
Acceptance criteria
- The JSON format is documented.
- A custom inspector can add a section without changing
flame_devtools. - Read-only properties can't be edited.
- An inspector that throws doesn't break the rest of the panel.
- The built-in fields are moved to the new API, or a follow-up issue covers that.
- The API is documented in
doc/flame/other/debug.md.
More information
Part of the work to move the flame_studio debugging features to flame_devtools. This is best done after the smaller inspector issues, so the design covers the real cases.
- Lingua principale
- Dart
- Stelle
- 10.8k
- Fork
- 1.1k
- Merge medio
- 1g 21h
- PR unite (30g)
- 50
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di flame-engine/flame
-
`PostProcessComponent` throws `StateError` when it has no `PositionComponent` childrenForse già presa @ufrshubham l’ha presa 1 giorno fa. Apertabug
flame-engine/flame#4182 · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
flame-engine/flame#4176 ·
I maintainer di solito rispondono entro 1 giorno
-
discussion enhancement
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
flame-engine/flame#4175 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
flame-engine/flame#4173 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 4/5 3-5 giorni Idoneità per principianti 55/100
flame-engine/flame#4172 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di flame-engine/flame
Issue simili
-
dart easy first-contributor first-contributors good first issue help wanted up-for-grabs
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 92/100
fork-commit-merge/fork-commit-merge#8563 ·
I maintainer di solito rispondono entro 1 giorno
-
from.page-issue
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 82/100
bannzai/Pilll#2080 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
good first issue help wanted
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
mollykitten/waveform#112 ·
I maintainer di solito rispondono entro 1 giorno
-
auto-implement-claude
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
I maintainer di solito rispondono entro 1 giorno