the new shape of projection mapping.

Warp, mask and cue shows collaboratively — all from your browser.

Simultaneous users
unlimited
Outputs
up to 32 HD (8× 4K)
Renderer
TouchDesigner
Network
LAN

Browser-native

No installs on user laptops. Open a tab, you’re in.

Multi-user from day one

Not bolted onto a single-user tool. Built around the team from the start.

Built on TouchDesigner

The renderer your studio already trusts. We extend it; we don’t replace it.

feature.3d-warping

3D mesh warping with soft selection.

Grab vertices directly on your imported 3D geometry — sculpture, architecture, custom rigs. Soft-selection pulls surrounding points with smooth Gaussian falloff, so complex non-planar surfaces align cleanly without manual cleanup. The Maya/Blender workflow, applied to projection alignment.

  • Direct vertex manipulation on imported 3D meshes (FBX, OBJ, glTF)
  • Gaussian soft-selection — radius, steepness, strength
  • Surface-preserving knot insertion when refining the grid
  • Per-output warp baking — one mesh, different warps per projector
  • Bezier keystone fallback for fast flat-surface fixes

feature.keystoning

4-corner keystone for flat surfaces.

When the surface is a wall or screen and you just need the projection to land square, the keystone tool gives you four draggable corners and the math falls out. Snap to projector ratio, nudge with arrow keys, save independently of the 3D mesh warp.

  • Four-corner perspective drag with sub-pixel handles
  • Arrow-key nudge with configurable sensitivity
  • Independent per-projector save — keystone separate from mesh warp
  • Aspect-ratio lock so you preserve the projector's native frame

feature.masking

Mask with pixels or paths.

Bitmap brush and Bezier vector masks on the same surface. Brush has pressure response, 50-step undo, and a full erase mode. Vector paths give you resolution-independent edges that scale with the project.

  • Bitmap brush — size, falloff, opacity, erase
  • Vector paths with Bezier handle editing
  • Layer compositing with per-layer visibility and opacity
  • Full 50-step undo/redo stack with canvas snapshots

feature.playback

Run cues like a show, not a deck.

Playlists, CueGrids, and a full transport bar. Eleven transition types — cut, dissolve, iris, blinds, clock, matte video — preview live while you edit. The show runs the same way every night.

  • Drag-orderable playlists with live progress
  • Color-coded CueGrid trigger buttons
  • Cut, dissolve, wipe, iris, blinds, clock, more
  • Live transition preview while editing
  • Image adjustment sliders, debounced and synced

feature.scene

Project onto real geometry.

A Three.js viewport that holds your scene model and shows every projector's frustum in 3D. Drag-drop FBX, OBJ, glTF — one click frames the scene to a sensible camera angle.

  • Three.js viewport with orbit camera
  • Drag-drop import: FBX, OBJ, glTF / GLB
  • Per-projector frustum visualization in 3D
  • Auto "Frame Scene Model" for a sensible default view

feature.collaboration

Build the show together.

Presence, locks, and live cursors built in from the first commit. Touch a resource, you own it. Need it back? Request access. See exactly where everyone else is working, in real time. No more "who has the file open" over the headset.

  • Live cursors with per-user color — follow anyone in real time
  • Selection-as-lock — editing a resource auto-acquires it
  • Request Access modal for handoffs, no headset chatter
  • TTL-based expiry with auto-renewal — locks don't strand
  • Read-only UI when someone else holds the lock

feature.monitoring

See your rig's vitals, live.

FPS, GPU memory, dropped frames, projector status, log stream — all streaming from TouchDesigner in real time. Sparklines tick at 1 Hz so you spot a problem before it spots you.

  • Live TD stats: FPS, GPU memory, dropped frames
  • Per-projector status: signal, lamp hours, temperature
  • WebSocket latency sparkline and WebRTC health
  • Full log stream with severity filtering

feature.scene-graph

See the whole rig at a glance.

Every asset, playlist, mesh, and projector lives in a live node graph. Drag-connect a playlist to a mesh and the projection routing updates everywhere. No hidden state, no guessing which feed goes where — the wiring is the UI.

  • Visual scene graph: assets, playlists, meshes, projectors
  • Drag-connect routing — playlist → mesh in one move
  • Lock indicators on every node so you see who is editing what
  • Right-click context menu to add, duplicate, or detach

how it works

Three stages. One wire path.

Users run the browser UI. TouchDesigner renders and holds state. Projectors light up the surface. State flows over WebSocket; preview comes back over WebRTC.

01

Browsers

  • Unlimited simultaneous users
  • Mac or PC
  • Chrome (current version)

02

TouchDesigner

  • Renders the output
  • Holds authoritative state
  • WebSocket + WebRTC

03

Projectors

  • Up to 32 HD (8× 4K)
  • Per-output warp + mask
  • Cued, transitioned, live

Control

WebSocket — every state change broadcast to every user, every output.

Preview

WebRTC — live composite from TouchDesigner, sub-100 ms, peer-to-peer.

Signal

Decklink 100G + transmission.video — 32 HD outputs from one box.

comparison

What sets Moonshine apart.

MadMapper

peer

Established single-user desktop mapper.

the gap

Single-user. The moment a second person needs to mask, you’re back to taking turns at one machine.

Resolume

peer

VJ-style media mixer — Avenue, Arena.

the gap

A beautiful mixer, not a mapper. Built around decks and clips; not around 3D mesh warping and per-projector state.

HeavyM

peer

Accessible projection mapping for solo creators.

the gap

Solo-only, 2D-grid warping. No 3D mesh manipulation, no collaboration story, no per-projector state.

Raw TouchDesigner

peer

The renderer your studio already uses.

the gap

Not an operator UI. Every studio hand-rolls one. Moonshine is that UI, finished and shared.

the 3D warping difference

Most projection mappers warp 2D grids on the projector output. Moonshine lets you grab vertices directly on your imported 3D mesh and drag them with Gaussian soft-selection falloff — the workflow you'd expect from Maya or Blender, applied to projection alignment.

No other mainstream mapper offers this. Notch (procedural node-graph deformers) and Pandoras Box (coarse FFD cage) come closest — neither matches the interactive grab-and-drag workflow. Everyone else warps 2D output grids only.

In development

PROOF — coming soon.

An auto-calibration and alignment system for Moonshine. Point a camera at your projection surface, let PROOF figure out the rest — per-projector pose, warp, blend. In active development. Early access via the waitlist.

Get early access

built 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 remote tweaks without sending someone to site.

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. Moonshine runs on top of a TouchDesigner Commercial license (or higher). TouchDesigner does the rendering; Moonshine is the operator UI.

Mac or PC?

Both. The Moonshine UI runs in Chrome (current version) on either OS. The TouchDesigner backend runs on the OS TD supports — Windows or macOS.

How many users can join a session?

Unlimited. Moonshine was built for teams; selection-based locking keeps concurrent edits clean no matter how many users are connected.

What are the network requirements?

LAN. Wired is recommended for show-critical operation — low latency, no dropouts. Wireless works for setup and remote tweaks but is not the recommended path under pressure.

How does the signal reach the projectors?

Up to 32 HD outputs (8× 4K) routed from a single Decklink 100G card, transported by transmission.video — our companion routing layer. One box, every projector.

What does it cost?

Pricing is TBD. Join the waitlist and we’ll talk.

What is PROOF?

PROOF is Moonshine’s auto-calibration and alignment system. It’s in active development — automated per-projector pose and warp calibration so you don’t have to do it by hand. Not shipping yet; first public access goes to waitlist participants.

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.

join the waitlist

Join the waitlist.

Limited capacity for the private beta. We're prioritizing studios shipping shows now — touring crews, install teams, event leads. Tell us about yours.

We’ll only email about Moonshine. No newsletter, no spam.