BeSide has developed a user-friendly control environment called Xperience that can be used for prototyping sound, lighting, video, and automation control throughout the automotive design process. This suite of tools, which includes an authoring environment and a JSON-defined modular playback engine architecture, is entirely built using TouchDesigner. Over the course of building this application, the designers have had the opportunity to push TouchDesigner’s capabilities, in terms of building sophisticated nodal and timeline GUI elements in addition to constructing complex JSON-based storage, distribution, communication, and parsing functionality for sensitive user data.
In this talk, the presenters will look at two key areas of the application suite with a focus on applying these techniques to other distributed author+engine architecture use cases. In relation to the GUI, the presenters will examine their modular approach to building sophisticated, modern looking user interfaces. They will also explain how to combine panel and 3D-based UI building techniques used within TouchDesigner to build some of the more difficult aspects of the authoring environment such as the node-graph editor and timeline editor. In terms of system architecture, the presenters will discuss their application of external JSON files for storage, recall, and user data management. In closing they will discuss their JSON domain-filter technique that can be used for procedurally managing decentralized playback engine instances which allows for easy server load balancing and multi-process performance.