lumen — confidential

Protected

Enter the password to view this proposal.

← Lumen

Echo · Live Rehearsal · for the Lighting Designer

Echo: the artist speaks, the room answers — you approve.

A plan to import a grandMA3 show, refine it conversationally with the artist — in rehearsal, live, with you as gatekeeper — and push approved changes back to the desk. Nothing here replaces your programming. It speaks your looks, into your sandbox, on your approval.

The artist directs the show in plain language.
Your taste is the vocabulary.

lumen knows exactly where you are in the show. The artist speaks a note — “the drop should hit colder” — and lumen pins it to that moment, resolves it to your look, previews it on the phone, and waits for you to say go. The desk is never touched until you approve.

How a note travels — on the artist’s phone

Picture rehearsal. The artist is in the house, you’re at the desk. lumen is following the timecode, so it always knows the song and the position. The artist just… talks.

lumen · rehearsalFOLLOWING TC
Now at
Midnight — Drop 1
00:03:14:08 · 128 BPM
▲ playhead locked to the desk
🎤 Artist dictated
“Make the drop colder and tighter — less wash, more punch.”
→ lumen resolved to your look
blood-red-tight → ice-tight
deep-blue · beam:narrow · energy:violent
Preview on rig Send to LD ✓
Concept interface — not final UI.

What just happened

  • It knew where you were. Locked to timecode — song, section, frame, tempo. No scrubbing, no “which cue was that.”
  • The artist spoke, didn’t program. A dictated note, captured against that exact moment.
  • lumen resolved to your vocabulary. The note became one of your authored looks — never invented DMX.
  • Preview before reality. The change renders on-device first; the rig only moves when asked.
  • You stay the gatekeeper. It arrives as a proposal for your approval — nothing lands on the master show without you.

The one-line verdict

Realistic — conditional on one test: does grandMA3 v2.x round-trip Groups, Presets, Sequences and Timecode through its native XML export/import? If yes (likely for most), this is a tractable build. If the data only lives in the opaque .show.gz binary, native export becomes a research project.

Why this respects the desk

The non-negotiable design rule: lumen never invents raw DMX, and never silently touches live programming. The artist talks in plain language; lumen resolves that language only to looks you authored. Everything it can write is confined to an agreed sandbox, and in the room you approve every change before it lands.

Your taste is the moat

“Blood-red and tight” resolves to a look you defined — palette, beam, edge, motion, energy. lumen matches intent to your vocabulary, then confirms. It never guesses a fixture value on its own.

The sandbox is hard-walled

Writes are physically confined to a reserved range (sequences 90–99, high groups, exec page 9). A loose Store or Delete outside it is refused by the adapter, not by good behaviour.

Three modes — and the safety line between them

The same show model is used three ways. They are deliberately separate so the live-stage one can’t be fat-fingered.

 AuthorRehearsalPerform
Purposebuild / edit offlinerefine on a live rig, togetherbroadcast the finished show
Touches a live rig?neverread + sandboxed writeoutput / input only
Realtime surface?n/ayes — the pointnone (forbidden)
Outputa saved versiona proposed version (you accept)live light

Rehearsal mode — the room workflow

This is the part you asked for: the artist dictates changes in real time, and lumen reads the actual code coming back off the MA3 so the conversation is grounded in what the desk really did — not what we hoped.

  1. You pause at a position in the run.
  2. lumen reads the real desk state at that moment over telnet (the console’s own reply lines).
  3. Artist gives voice/text feedback — “colder, tighter.”
  4. lumen previews on-device from real state + the proposed change (faithful, not photoreal).
  5. Artist agrees or tweaks until it reads right.
  6. lumen pushes the change as a proposal — into the sandbox, captured as a proposed version.
  7. You approve / accept before it merges into the master show.

Why this is safe: writes are sandboxed, every change is a proposed version (never auto-applied), and you remain the gatekeeper. It is collaborative refinement, not a bypass.

The four inputs, assessed honestly

InputRealismWhy
Audio + syncHighA file pinned to one show-clock offset. No MA3 dependency. We use frames as the integer currency so cues don’t drift over a long set.
Push to console (telnet)HighAlready designed. Store / label / fire over port 30000 into the sandbox. Only the exact v2.x syntax needs live confirmation on your desk.
Import MA3 programmingHigh via XMLgrandMA3 ships a native XML Export/Import. We use that — never reverse-engineer the binary bundle.
TimecodeMediumClean conceptual match to our show-clock, but timecode-track editing is telnet’s known weak spot. May need the on-console Lua plugin.
Native MA3 exportMediumDone as XML re-import of the changed objects — not a monolithic file rewrite. The binary rewrite path is avoided.

The honest caveat: the moment we’d need to parse and rewrite the raw .show.gz bundle byte-for-byte, realism collapses — it’s undocumented and changes across point releases. The entire plan is built to lean on MA’s own XML serializer instead.

The MA3 interface — telnet first, Lua for the rest

InterfaceJob
Telnet (port 30000)Primary channel. Send command-line strings, read the replies back — that read-back closes the feedback blind spot and powers Rehearsal mode.
Lua plugin (on-console)The surgeon for what telnet can’t reach: timecode-track editing, data-pool ops. Lives on your desk.
XML Export/ImportThe import and native-export path. MA’s own format, so it survives version changes.
MA-Net / DMX-outOutput only. Can’t program through it; rejected for the cross-site mirror.

De-risking plan — in dependency order

  1. Spike 0 — XML coverage truth table. On your sample shows in onPC: export Groups, Presets, Sequences/Cues, Timecode to XML, re-import to a blank show, record what round-trips and what’s lost. This single test decides High vs. Low for the whole feature.
  2. Spike 1 — read one real show into lumen. Map an exported sequence + its presets/groups to our model, read-only.
  3. Spike 2 — audio + timecode alignment. Load the audio, scrub, confirm a known cue lands on the musical moment across the full set.
  4. Spike 3 — export one edited look back to onPC. Change one colour, write XML, MA3 Import, eyeball it. Smallest possible native round-trip.
  5. Spike 4 — telnet push + read-back on your desk. Confirm the real v2.x syntax and the state read-back live. This is where we’d want your console.

Spikes 0–2 need only MA3 onPC + your sample files. 3–4 want your actual console (or a faithful onPC) to confirm Import and telnet behaviour.

What we need from you

Next move: run Spike 0. One afternoon in onPC with a sample show tells us whether native export is conventional engineering or a research project — before anyone commits a timeline.


lumen — author a live show as intent, re-perform it anywhere, locked to one clock. Confidential technical proposal. This page is gated for casual privacy only, not secured.