Separating TouchDesigner authoring UI from a JSON-defined playback engine enables decentralised multi-process show control with load balancing
BeSide’s Xperience system demonstrates a software architecture principle applied to TD: a rich authoring environment (nodal GUI, timeline editor) writes show data to external JSON files; a separate playback engine reads those JSON files and renders. JSON domain-filtering lets the master procedurally assign which engine handles which zone, enabling server load balancing and multi-process performance without modifying TD patches. This separates concerns: authors work in a creative tool; operators deploy to stable engine instances. The same architecture pattern underlies most professional media server products (disguise, Resolume Server).
Examples
Xperience system: artists build cue lists and timelines in the authoring environment; show day, the JSON files are loaded by five engine instances on five PCs, each handling its own projector zone. If one engine crashes, the JSON file is redistributed to a surviving engine.
Assessment
Sketch the JSON schema for a two-zone show control system: define the keys that specify which engine plays which content, and explain how domain-filtering enables runtime load balancing without TD patch modification.