Collaborative projection mapping for TouchDesigner.
Shape surfaces, align projectors and run cues together — from the portable Windows app or a browser on your LAN.
Windows client available for configured systems. TouchDesigner runs the show server.
- Show host
- Windows
- Operator UI
- app + browser
- Live preview
- H.265 / WebCodecs
- Renderer
- TouchDesigner
Native or browser
Use the portable Windows client, or join the same show from a trusted browser on the LAN.
One show, every operator
Shared state, live presence and co-sculpting keep the crew in one authoritative project.
Built on TouchDesigner
The renderer your studio already trusts. We extend it; we don’t replace it.
moonbeam live preview
H.265 pixels from TouchDesigner to the crew — fast.
Moonbeam captures TouchDesigner’s 2048² preview on the GPU, encodes it once with NVENC H.265/HEVC, and fans the same stream out over a dedicated WebSocket. Each client decodes with WebCodecs, without adding another encoder per operator.
- capture → decode
- 9 ms p50
- tail latency
- 70 ms p95
- TD main-thread cook
- ~1.3 ms
Measured July 21, 2026 on an RTX 2080 Ti at 2048² / 60 fps. Network, GPU and content affect real-world results.
TouchDesigner
2048² preview
Authoritative render
Moonbeam Out
1× NVENC encode
HEVC over WebSocket
Operators
WebCodecs decode
Same frames, fanned out
Moonshine for Windows
One portable Electron client. No installer.
Run the same Moonshine interface in its own Windows window. For a configured show address, the portable client connects over the local network and enables hardware-decoded preview without the browser certificate setup. Prefer a browser? Share Moonshine by QR code and complete the one-time trust step for live video on that device.
feature.3d-warping
3D mesh warping with soft selection.
Pull your imported surface model into alignment with the real object. Gaussian soft selection moves a controlled neighborhood around each grab; because the surface itself changes, every projector lighting it sees the same correction.
- → Direct vertex manipulation on FBX, OBJ and glTF / GLB surfaces
- → Gaussian soft-selection — radius, steepness, strength
- → Several operators can co-sculpt different regions at once
- → Scoped undo reverses your own vertex edits
- → Bake, reset or revert the shared surface deliberately
feature.keystoning
From four corners to a curved grid.
Square up a flat wall with four projector-local corners, then switch to the linked Bezier mesh when the middle needs more control. Both views share the same corner positions, so the first pass carries forward.
- → Four-corner correction with drag and arrow-key nudge
- → Bezier grids from 2 × 2 to 50 × 50
- → Insert rows and columns without jumping the current shape
- → Linked or independent curve handles for smooth bends and creases
- → Per-projector lock keeps output-space edits conflict-free
feature.masking
Mask with pixels or paths.
Paint coverage at the projector’s own resolution, or draw editable Bezier paths and use closed shapes as precise brush stencils. Both parts save together as one mask for that projector.
- → Bitmap brush — size, hardness, opacity, paint and erase
- → Editable vector paths with Bezier handles
- → Closed paths constrain painting as reusable stencils
- → Tool-specific undo history, up to 50 steps
feature.playback
Run cues like a show, not a deck.
Build ordered playlists, trigger any item from the CueGrid and preview transitions before they reach the wall. Item timing, loop mode and what is actually playing stay shared across the crew.
- → Drag-orderable playlists with live progress
- → Color-coded CueGrid trigger buttons
- → Eleven transition types, including wipes, irises, grids and movie mattes
- → Built-in and project-shared custom transition presets
- → No loop, loop-all and loop-one playback modes
feature.scene
Project onto real geometry.
Place surfaces and projectors in a shared Three.js scene, aim through visible throw cones and inspect what the rig is doing before you look at the wall. Imported geometry and built-in primitives live in the same viewport.
- → Drag-drop import: FBX, OBJ, glTF / GLB
- → Move, rotate and aim projector bodies in 3D
- → UV, Projection, Lux and Solid display modes
- → Projector-eye view and visible frusta
- → Frame a scene or pivot the camera around a picked detail
feature.collaboration
Co-sculpt, don’t take turns.
Several operators can pull on different parts of the same 3D surface at once. Per-vertex updates converge on one shared shape, while colored cursors, selections and camera frusta show exactly where each person is working.
- → Lock-free simultaneous editing for 3D surface sculpting
- → Scoped undo takes back only the vertices you moved
- → Live pointers, selection markers and camera frusta
- → Follow another operator’s camera for fast handoffs
- → Coarse locks still guard exclusive edits such as mask and keystone work
feature.monitoring
Live vitals, all night long.
Watch frame budget, machine load, network health, projector telemetry and logs without leaving the control surface. Establish a healthy rehearsal baseline, then see when the rig moves away from it.
- → Live TD stats: FPS, cook time, GPU memory and dropped frames
- → PJLink power, lamp hours, reachability and reported faults
- → App WebSocket latency and connection history
- → Full log stream with severity filtering
feature.scene-graph
See the show as a live graph.
Surfaces, projectors, alignment tools, masks, media and playlists stay visible in one graph. Connect media to a surface, select any part of the rig and open its controls without hunting through hidden routing state.
- → Scene tree for surfaces, projectors, warps and masks
- → Loose media and playlist nodes where routing work happens
- → Drag-connect playlist → surface assignments
- → Context actions for creating, renaming, resetting and removing
how it works
One show, two network paths.
The operator UI sends compact control state to TouchDesigner. Moonbeam carries the live H.265 preview separately, so video never competes with show commands in the same protocol.
01
Operator clients
- Portable Windows application
- Trusted browser on the LAN
- One shared project state
02
TouchDesigner
- Renders and plays the show
- Holds authoritative state
- Control WS + Moonbeam WS
03
Mapped outputs
- Per-projector keystone + mask
- Shared 3D surface alignment
- Cued, transitioned, live
Control
App WebSocket — TouchDesigner validates, persists and broadcasts shared state.
Preview
Dedicated Moonbeam WebSocket — one NVENC HEVC encode, decoded with WebCodecs.
Render
TouchDesigner stays authoritative for playback, mapping and the projector outputs.
why moonshine
What sets Moonshine apart.
Surface-first alignment
Sculpt imported 3D geometry once and every projector aimed at that surface inherits the same correction.
Collaboration in the model
Presence, locks and per-vertex co-sculpting are part of the shared state model, not a file handoff layered on later.
TouchDesigner underneath
Keep TouchDesigner as the renderer and show engine while giving operators a focused interface for daily mapping work.
One preview encode
Moonbeam encodes the live composite once on the TD GPU and fans the same HEVC frames out to every capable client.
the 3D alignment difference
Projector-local keystone and Bezier correction solve output-space problems. Moonshine’s 3D workflow solves a different one: when the digital model does not match the object in the room, pull the shared surface into place with Gaussian soft selection, then bake that shape for the rig.
The two alignment layers remain separate, so a surface correction can stay shared while each projector keeps its own final optical adjustment.
PROOF is an active research track.
We’re exploring camera-assisted projector pose, warp and blend calibration for Moonshine. PROOF is not part of the current release; the manual alignment tools shown above are what ships today.
Talk to us about PROOFbuilt for
Touring, install, one-off.
Same control surface.
use case
Touring shows
Crews moving city to city need fast setup, shareable state, and a control surface a second op can pick up cold.
use case
Fixed installs
Long-running rigs need observability, predictable saves, and a focused control surface that keeps operators out of the TouchDesigner network.
use case
Live events
One-night shows demand muscle-memory cues, soft-launch transitions, and zero-surprise playback under pressure.
faq
Common questions.
Does it require TouchDesigner?
Yes. The Moonshine server is a TouchDesigner project: TouchDesigner renders, plays media and drives the outputs while Moonshine provides the operator interface. Use a TouchDesigner license appropriate to your show.
What runs where?
The show server and portable Electron client target Windows. Other devices on the same LAN can join through a supported browser. Browser controls are broadly available; live HEVC preview also requires WebCodecs, a capable hardware decoder and a trusted secure connection.
How many users can join a session?
Moonbeam uses one encode and fans it out, so there is no per-viewer encoder pool or stream-slot cap. Practical session size still depends on the show machine, network and how many operators the workflow can usefully support — rehearse the crew and rig you plan to run.
What are the network requirements?
Moonshine is designed for a local network. Use wired Ethernet for the show host and show-critical operator stations; Wi-Fi is useful for setup and mobile adjustments. Browser video uses a secure LAN address and a one-time certificate trust step, while the Windows client handles that path without browser setup.
How does live preview work?
Moonbeam captures TouchDesigner’s 2048² preview, performs one NVENC H.265/HEVC encode, and sends the same frames over a dedicated WebSocket. The client decodes them with WebCodecs. H.264 is available as a wider-compatibility fallback where HEVC hardware decode is unavailable.
How do I get the show server?
The Windows client is publicly downloadable for configured Moonshine systems. The TouchDesigner show server is not yet a self-serve public download; existing customers and pilot teams should contact Tridant for configuration, server access and current license options.
What is PROOF?
PROOF is an active R&D track exploring camera-assisted projector pose, warp and blend calibration. It is not part of the current Moonshine release.
Can I use it for touring shows, fixed installs, or live events?
Yes — all three. Moonshine doesn’t care about venue type; it cares about whether your team needs to run a projection rig together.
try moonshine
Put Moonshine on the operator station.
The portable Electron client is one Windows executable with no installer. It connects to a Moonshine show server on the same local network and gives the operator a native, full-performance preview path.
Current client builds are unsigned and intended for configured Moonshine systems, so Windows SmartScreen may ask for confirmation on first launch. The TouchDesigner show server is available to existing customers and pilot teams rather than as a public download. For configuration, server access, licensing or deployment help: [email protected]