1.1 KiB
1.1 KiB
ADR 0010: ActorKind and inspector architecture
Status
Accepted
Context
Inspector panels were routed by if world.get::<LightDesc> and mixed with bevy_inspector_egui entity dumps, which exposed runtime components and diverged from saved scenes.
Decision
- Every savable
LevelObjectcarries a requiredActorKindcomponent (schema v2). - One-shot
ActorKindbackfill runs incrates/scenemigration v1→v2; load-time backfill is a fallback only for unsaved in-memory entities. validate_actorruns on save and rejects invalid component sets per kind.- The default Inspector tab uses
actor_inspectoronly (transform first, then authoring panels). Noui_for_entity_with_childrenin production builds.
Consequences
- Spawn/history snapshots always include
actor_kind. DefaultInspectorConfigPluginis not registered in the editor app;bevy-inspector-eguiremains only forSelectedEntitiesuntil selection is decoupled.- Optional
inspector-debugfeature may add a separate engine ECS tab later—not a second inspector on the same tab.