Reference
Glossary
Moonshine-specific terms in one place.
Anchor
A control point on a vector mask path. Drag to reshape the path; convert between sharp and smooth corners via Cmd/Ctrl-click.
Asset
A piece of source content — video file, image sequence, generator. Assets are routed to playlists or directly to projectors.
Audience
A property of broadcast messages — which operators receive the broadcast. Used for cursor updates, presence pings, and any other “only these operators care” traffic.
Blend zone
The overlap region between two adjacent projectors covering the same surface. Moonshine’s edge blending tools soften the seam so two projectors look like one.
Cue
A saved transition into a scene. Triggering a cue runs that transition. Cues are the unit of show orchestration; scenes are the underlying state.
CueGrid
A grid of color-coded buttons, each bound to a cue. Click to fire that cue. The CueGrid is the non-sequential alternative to playlists.
Edit mode
The default operating mode used during show prep. Changes are immediate; locks are loose. Compare with show mode.
Frustum
The pyramid-shaped volume that a projector covers, rendered as a wireframe in the 3D viewport. Each projector has its own frustum sized by its position, rotation, and output configuration.
Gaussian falloff
The bell-curve weighting used by warp soft-selection. Vertices near the click point get full weight; vertices far away get zero. The radius and steepness of the falloff are tunable.
Keystone
The 4-corner perspective correction for flat surfaces. Use instead of (or in combination with) mesh warping when the surface is planar.
Knot
A vertex on the warp mesh. Inserting a knot adds detail to the mesh without changing the surface (surface-preserving knot insertion).
Lock
The right to edit a resource. Acquired implicitly when you select a resource for editing. Releases automatically after a TTL with no activity, or explicitly via Request Access.
Matte video
A custom video alpha matte used as a transition shape. Lets you transition with a shape derived from a video, not just the eleven built-in shapes.
Mesh
The imported 3D geometry representing the projection surface. Loaded from FBX, OBJ, or glTF/GLB.
Node graph
The visual routing surface — every asset, playlist, mesh, and projector is a node; connections show routing. Drag-connect to wire up the show.
PJLink
Industry-standard projector control protocol. Moonshine uses PJLink to read live projector telemetry (lamp hours, temperature, signal status).
Playlist
An ordered list of cues. Advancing the playlist fires the next cue. Use for sequential cueing.
Presence
The list of currently connected operators with their assigned colors. Updates in real time as people join and drop.
Projector
A first-class entity representing one physical projector. Owns its own warp, keystone, masks, and output configuration.
Request Access
The handoff mechanism when one operator needs to take editing rights from another. The current lock holder receives a notification and can release the lock to the requester.
Scene
The unit of show state — what’s projecting right now. Each scene has its own asset routing and active mask state.
Show mode
The live operating mode. Direct edits to alignment/masks/routing are gated; cue firing and transport are primary. Compare with edit mode.
Soft selection
Selecting a vertex that also pulls nearby vertices along with reduced weight. The falloff is Gaussian; the radius is configurable.
TTL
Time-to-live — the auto-expiry on locks. Default 60 seconds. Locks auto-renew while you’re actively editing; expire if you walk away.
Transition
The visual shape of a cue’s scene change. Eleven types ship by default — cut, dissolve, iris, wipe, blinds, clock, matte video, slide, fade through black/white, random.
Transport bar
The persistent UI showing the active cue, the next cue in the playlist (if any), transition progress, and play/pause/skip controls.
WebRTC
The protocol used for the live composite preview stream from TouchDesigner to each browser. Sub-100ms peer-to-peer.
WebSocket
The protocol used for the control channel between browsers and TouchDesigner. Every state change flows through this; every operator sees broadcasts in real time.