917 B
917 B
ADR 0006: Scene Schema Versioning
Status
Accepted
Context
Levels under assets/levels/ need forward-compatible migrations as authoring components evolve (M5).
Decision
- Track
schema_versionin scene files (wrapper or sidecar during transition). - Provide
scene_schemamodule withmigrate_scene_textandvalidate_level_file. - Route editor save/load through
scene::document::SceneDocument, an internal Bevy-free seam that preserves DynamicScene RON while exposing stable actor/component document identities and patch operations for tools. - CI /
xtask validate-levelsloads all committed levels and fails on unknown versions.
Consequences
- Breaking component changes require a migration step and version bump.
- Editor save may wrap scenes with schema header in a follow-up change.
- The current storage format remains DynamicScene RON;
SceneDocumentis not a BSN/JSN migration.