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.

Next