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

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_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.