VideoML Conformance

Canonical docs now live at videoml.org/docs/standard.

Status: Draft. This defines how to claim conformance with the VideoML standard.


Versioning

  • Standard versions are semantic: major.minor.patch.
  • Breaking changes increment major.
  • New optional features increment minor.
  • Bugfixes and clarifications increment patch.

Conformance Levels

  • Core: Must support XML parsing, root, scenes, cues, temporal layout, and timeline API.
  • Interactive: Adds inline JS (<script>, on:*).
  • Live: Adds unbounded timeline, open-ended scenes, cut-to-next semantics.

Required Elements

  • <vml> root
  • <scene>, <layer>
  • <sequence>, <stack>

Required Attributes

  • id on <vml> and <scene>
  • fps, width, height on <vml>

Timeline API

  • window.timeline.frame
  • window.timeline.time
  • window.timeline.fps
  • window.timelines

Lifecycle Events

  • timeline:tick
  • scene:start, scene:end
  • cue:start, cue:end

Recording Rules

  • Recording is the XML state (effects), not event triggers.
  • Open-ended scenes must be finalized before export.
  • Optional <events> metadata may be present and must be ignored by playback.
  • Subtrees marked data-videoml-ignore="true" may be excluded from recording.