Skip to main content
Every node in a ScreenJSON document that can be referenced from elsewhere carries an RFC 4122 UUID.

Format

Example: 7a1c0b4e-8f3a-4c68-9d2e-ac8f21a0d8a4.

Nodes with UUIDs

Cross-references

  • dialogue.character and character (cue).character point to characters[].id.
  • note.contributor points to contributors[].id.
  • note.parent points to the element, scene, or note the annotation is attached to.
  • bookmark.scene and bookmark.element point to their targets.
  • passage.scene and passage.elements[] point to the elements a passage covers.
  • summary.target points to a scene (when scope = "scene").
  • element.scene back-references its parent scene.
  • revision.parent points to the revision it was forked from.

Guarantees

  • A given UUID identifies one node for the lifetime of the document.
  • Regenerating output across a compatible change SHOULD reuse the same UUIDs, not mint new ones. Both screenjson convert and screenjson-export honour this when the output file already exists on disk.