Schema
The Schema section shows the full runtime schema document for a hosted game. It is the visible contract between the game, the model output, and the MDL renderer.
What is fixed
MDL keeps the engine-level output shape stable. Fields such as background, foreground,specialScene, specialCharacter, speaker, text, music, sfx, and universeTime are runtime concepts the engine understands and renders. Engine-only linkage fields (for example a derived generatedSceneUid on persisted state) are not part of the model JSON contract and do not appear in the structured-output schema.
What can vary per game
Each game owns the concrete schema document that fills in enum-backed values for speakers, sprites, music, and effects. background is the configured location/background id for ordinary beats, andspecialScene carries generated event-illustration requests or cached special-scene reuse, while specialCharacter carries generated transparent character sprite requests or reuse.
Why the full file is visible
- The schema should be inspectable, not hidden behind engine abstractions.
- Validation warnings can point directly at missing or inconsistent ids.
- Game developers can compare stored assets, prompt references, and schema enums more easily.
Validation
Early MDL validation focuses on visibility rather than auto-correction. The workspace can warn about potentially missing or stale ids while leaving the game developer in control of how to resolve them.
Retired keys
Top-level scene, top-level characters, top-level description, and generatedScene are retired model-output keys. New authored package content, prompts, and schemas must use background, foreground, specialScene, and related current generated-visual fields such as specialCharacter.
