Blacksite/docs/adr/0006-scene-schema-versioning.md
Rbanh 2054fa2558
Some checks are pending
CI / Format, lint, test, build (push) Waiting to run
Advance M0 scene and rendering foundations
2026-06-06 03:50:03 -04:00

23 lines
917 B
Markdown

# ADR 0006: Scene Schema Versioning
## Status
Accepted
## Context
Levels under `assets/levels/` need forward-compatible migrations as authoring components evolve (M5).
## Decision
- Track `schema_version` in scene files (wrapper or sidecar during transition).
- Provide `scene_schema` module with `migrate_scene_text` and `validate_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-levels` loads 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; `SceneDocument` is not a BSN/JSN migration.