{{ mPlotName }}
{{ mPlotSub }}
COMPANION
📋
This is the crew view — read the plot, tick off focus, check patch and power. Tap a hookup row to fix a FID, address or note.
{{ mPlotImgEl }}
{{ mZoomLabel }}
Focus checklist
{{ mFocusCount }} · {{ mFocusPct }}
{{ fr.chk }} {{ fr.fid }}
{{ fr.name }}
{{ fr.pos }} · {{ fr.meta }}
Tap a fixture as you focus it. The checklist lives on this device, per plot.
✓ Work notes
{{ mWnCount }}
{{ wr.chk }}
{{ wr.text }}
{{ wr.meta }}
{{ mWnHint }}
{{ r.fid }}
{{ r.fixture }}
{{ r.sub }}
{{ r.addr }}
{{ r.addr }}
{{ r.fixture }}
{{ r.sub }}
FID {{ r.fid }}
{{ r.name }}
{{ r.cls }}
{{ r.qty }}
{{ mTotalFix }}
{{ s.name }} {{ s.total }}
{{ ph.label }}
{{ ph.amps }}
{{ r.k }} {{ r.v }}
{{ mefName }}
{{ mefSub }}
{{ billingNoticeIcon }}
{{ billingNoticeTitle }}
{{ billingNoticeBody }}
Loading…
L
LuminaPlot
Features Fixtures Learn
Features Fixtures Learn Contact
Designed by lighting crew, for lighting crew

Design your rig.
Patch it. Print it.

Drag real fixtures onto bars and trusses, auto-patch DMX, and export venue-ready paperwork — all in your browser. No CAD license, no install.
Free forever · Pro from €9/mo · Company from €29/user · no card to start
Main Hall — Spring Show
{{ heroPlot }}
A big and always expanding library of fixtures — moving heads, washes, profiles, PARs and conventionals — with modes and footprints ready to patch.
Made on the road

By users, for users.

LuminaPlot started in load-ins and tech tables — built by working lighting techs who were tired of clunky CAD and spreadsheet patch sheets. Every feature earns its place because we use it on real shows: fast drag-to-place, sane auto-patch, paperwork that actually prints.
⚡ Auto-patch in one click 🖨 Print-ready paperwork 🤝 Live collaboration 🔊 Audio plotting 🎭 Curtains & soft goods 🏢 Company workspace 📋 Tech rider builder 📱 Live QR share links
“{{ q.text }}”
{{ q.initials }}
{{ q.name }}
{{ q.role }}

Open, honest tooling

No lock-in and no inflated CAD licence. Your plots export as portable files you own, and the editor runs entirely in your browser.
Free plan, no card required
Export your data anytime (.lxplot, PDF, CSV)
Cancel Pro whenever — your plots stay

Everything a plot needs — nothing it doesn't

From first idea to the paperwork the crew tapes to the wall.
{{ lf.icon }}

{{ lf.title }}

Soon
{{ lf.body }}
{{ st.n }}

{{ st.title }}

{{ st.body }}

Start free. Grow into Pro & Company.

Free covers 3 plots and the full editor. Pro unlocks unlimited-scale plots, real-time collaboration, libraries and clean paperwork. Company adds a shared rental workspace — inventory, availability, pull lists, sub-rental and client quotes for the whole team.
© {{ year }} LuminaPlot · App by The Async × UpMix Music Group
L
LuminaPlot
Professional light-plot tooling for venues & touring crews.
{{ rq.mark }} {{ rq.label }}
{{ authNotice }}
{{ authError }}
OR
{{ authSwitchText }}
{{ authNote }}
© {{ year }} LuminaPlot · App by The Async × UpMix Music Group
L
Verify it's you
We emailed a 6-digit code to {{ twofaEmail }}. Enter it below to finish signing in.
{{ twofaError }}
🔑
Reset your password
Enter your account email and we'll send you a link to choose a new password.
{{ forgotError }}
📨 If an account exists for {{ forgotEmail }}, a password-reset link is on its way. Check your inbox — the link expires in 1 hour.
L
Set a new password
{{ resetError }}
✅ Your password has been updated. You can now sign in with your new password.
{{ verifyIcon }}
{{ verifyTitle }}
{{ verifyBody }}
L
LuminaPlot
{{ modeLabel }}
Notifications
{{ n.icon }}
{{ n.title }}
{{ n.body }}
{{ n.time }}
🔔
You're all caught up.
Welcome, {{ onbFirstName }} 👋
Let's tailor LuminaPlot to you
A couple of quick questions so we build the right features for how you actually work. You can refine the rest any time in Account.
* Required to continue
My plots
{{ plotCountLabel }}
📱
Companion mode. Open any plot to read it, work the focus checklist and fix patch details. Building and importing plots happens in the editor on a laptop or desktop.
L
Welcome to LuminaPlot, {{ firstName }}
{{ emptyStateSub }}
01
Set the stage
Pick a venue preset or enter your stage, audience & rigging.
02
Add fixtures
Drag real fixtures from the library onto bars & trusses.
03
Patch & export
Auto-patch DMX, then print plots & paperwork.
Build your first plot on a laptop or desktop — then it's here on your phone at the gig, ready to read, focus and check.
{{ maintBanner.icon }}
{{ maintBanner.tag }} {{ maintBanner.title }} {{ maintBanner.timeLine }}
{{ maintBanner.msg }}
🔒
{{ lockedCount }} plot(s) are read-only on Free
{{ downgradeNote }}
{{ fc.label }} {{ fc.count }} ×
Continue where you left off
{{ continueName }} {{ continueMeta }}
Open →
🗑
Trash is empty
Deleted plots stay here for 30 days before they're removed for good.
{{ t.name }}
{{ t.venue }} · {{ t.fixtures }}
{{ t.deletedWhen }}
{{ t.expires }}
🔍
No plots match “{{ dashSearch }}”
Try a different name or venue, or clear the search.
v2.2 is here
The AI Designer drafts a whole plot from a sentence — or from a pasted band rider. Plus MVR import, crew work notes, live cursors you can jump to, and everything from 2.1.
{{ c.preview }}
🔒 Read-only
{{ c.shareIcon }} {{ c.shareLabel }}
{{ c.ownAccess }}
{{ c.name }}
{{ c.venue }}
{{ c.fixtures }} fixtures · {{ c.updated }}
Export
{{ c.busyLabel }}
Venue profiles
{{ venueTabBlurb }}
🏛
No venue profiles yet
Open a plot and use More ▾ → “Save room as venue profile” to keep the room for next time.
🏛
{{ v.name }}
{{ v.meta }}
Shared by {{ v.sharedBy }}
Templates & tours
Every plot card has Template (a fresh plot with the same stage, structures & inventory — no fixtures) and ⋯ → New show at venue (the same rig re-drawn onto a saved venue — give it a tour name and the copies group into a folder).
AI DesignerPROBETA
Describe the rig — it drafts the stage, positions and a patched plot ready to edit.
Try
The extracted input list lands in the Audio panel and monitor mixes get named on the wedges — everything stays editable.
Draft setup — what the AI must respect
🏛 Venue — draft into a saved room
📦 Gear — draft only from an inventory you own
⚡ House power — what the venue actually has
{{ p.label }} {{ p.kw }} {{ p.count }}
⚡ {{ aidPowBudget }}
📏 Other constraints — the draft must fit (blank = no limit)
1
Describe the rig
Venue, band or show type, the mood — plain language. Add venue, gear and power limits above if the room is fixed.
2
Review the draft
Rig list with roles and colours, a plot preview, power & weight checks — and honest warnings when something won’t fit.
3
Create & make it yours
One click builds a real plot — patched, placed and editable like any other. Nothing is locked in.
Drafting the rig…
{{ aidErr }}
{{ aidName }}
🏛 {{ aidVenueName }} {{ aidVenue }} · {{ aidSize }} · {{ aidTotal }}
{{ aidSummary }}
{{ st.k }}
{{ st.v }}
over your limit — redraft
{{ aidPreviewSvg }}
{{ fz.icon }} {{ fz.tag }} {{ fz.text }}
{{ aidConcept }}
{{ r.label }} {{ r.where }} {{ r.role }} {{ r.purpose }}
Focus notes
{{ fn.t }}
+ backline, wedges & mic positions on stage
{{ rb.t }}
{{ aidNotes }}
{{ aidCreateErr }}
Inventories
{{ invTabBlurb }}
📦
No inventories yet
Build one here, or save a plot's inventory from the editor dock (Library ▾ → Save inventory as library).
📦
{{ iv.name }}
{{ iv.meta }}
{{ iv.top }}
{{ invBTitle }}
{{ invBCount }}
No types yet — search above to add your gear.
{{ it.name }}
{{ calTitle }}
Read view — plan in the
{{ d.n }}
{{ c.num }}
{{ it.label }}
{{ lg.label }}
© {{ year }} LuminaPlot · App by The Async × UpMix Music Group
Help & getting started
Learn Center ↗
Learn LuminaPlot in five minutes
A light plot is a top-down map of your rig. You set the room once, drag fixtures onto bars and trusses, patch them, and share. Here's the whole workflow.
1Create a plot
Hit New plot. Start from a venue-type preset (end-on, thrust, arena, black box, club, festival or blank canvas) or a saved layout, set your stage & audience dimensions, then lay out the room on the Room layout canvas — drag bars, trusses and audience areas into place, drag a truss end to reshape it, or grab a one-click rig preset. Click anything to type exact numbers. Add details & metadata anytime.
2Place fixtures
Drag a fixture from the left Inventory onto any bar or truss. It snaps to the nearest one. Drag placed fixtures to reposition; turn on Snap to lock them to the grid.
3Patch & number
Click a fixture to set its FID, DMX mode, universe, address and dimmer. The badge warns of duplicate FIDs and overlapping addresses. Use Auto-patch (and its ▾ settings) to assign everything in one pass.
4Save & share
Everything autosaves. Export writes a portable .lxplot file; import it from the dashboard. Use the Share tab to invite collaborators as editors or viewers.
Key features
{{ f.title }}
{{ f.body }}
Keyboard shortcuts
{{ k.label }} {{ k.keys }}
Reading the plot
The teal box is the stage; the dashed blue area is the audience. The orange line is the plaster (setting) line and the dashed vertical line is centre (CL). Grey bars over the stage are LX (lighting bars); gold bars over the audience are trusses. Each fixture symbol follows lighting convention — moving heads show a yoke, profiles show a lens, and so on.
Working with fixtures
Where fixtures come from
In a plot, open the inventory dock and hit + Add to open the fixture browser. You can search across four sources:
Your fixtures — anything you've saved, built or uploaded (see below), available in every plot.
Generic & patch objects — dimmers, PARs, hazers, followspot positions and generic movers you set the channels for.
Built-in library — real fixtures from Robe, Martin, Chauvet, ETC and more, with modes, power and weight prefilled. Fixtures we've individually reviewed carry a Verified badge.
Or Upload .gdtf to import any fixture profile from a GDTF file — we normalize it into your schema.
Saving & editing your own fixtures
When you Build custom, upload a .gdtf, or edit a fixture, the editor asks Save changes to:
This plot only — the change stays in the current plot's copy.
My fixture library — saves an editable custom copy that shows up in every plot. Editing a verified or uploaded fixture this way makes your own copy; the original verified library is never changed.
Managing your fixtures
See and manage everything you've saved in two places: the Your fixtures group at the top of the fixture browser (each row has a pencil to edit and an ✕ to remove), and your Account → Custom fixtures section, where you can search, edit, delete, build a new fixture or upload a .gdtf. Removing a saved fixture leaves any plots that already use it untouched.
© {{ year }} LuminaPlot · App by The Async × UpMix Music Group
What's new
Release notes
The latest improvements to LuminaPlot.
{{ rel.bgEl }}
v{{ rel.v }}
{{ rel.date }}
{{ rel.heroBadge }}
{{ it.bullet }}{{ it.text }}
Plans & pricing
Design freely. Upgrade when you grow.
Professional light-plot tooling at a fraction of legacy CAD pricing.
Monthly
Yearly 2 months free
Free
€0/forever
Everything you need to sketch a plot.
{{ ff.icon }}{{ ff.label }}
Included with Pro
Your current plan
Most popular
Pro
{{ proPrice }}{{ proPer }}
{{ proSub }}
{{ pf }}
Your current plan
Company
{{ coPrice }}{{ coPer }}
Run the whole rental house, not just the plot.
{{ cf }}
Your current plan
{{ billingNote }}
Cancel anytime. {{ comparePrice }}
Account
🎉 Welcome to Pro — all features unlocked. Thanks for supporting LuminaPlot.
{{ st.value }}
{{ st.label }}
Profile
Profile
{{ acctInitials }}
{{ acctName }}
{{ acctEmail }}
About you
Tell us how you work so we can build the right features. This stays private — only anonymised, aggregated trends are ever shared with partners.
Preferences
App theme
How the whole app looks on this device. Light is free; the colour themes are Pro.
{{ t.label }} PRO
Measurement units
How lengths display across plots & paperwork. Each plot can override this in Plot details. Data is always stored metric.
Plan & billing
Plan & usage
{{ planLabel }}
Plots{{ usePlots }} / {{ maxPlots }}
Fixtures per plot{{ maxFixturesLabel }}
{{ usageNote }}
Studio branding
{{ brandBadge }}
Put your studio or company name and logo on every PDF and exported drawing's title block. LuminaPlot stays as a small credit line.
PNG/SVG · under 512 KB
Title-block preview
{{ brandPrevLogoEl }} L {{ brandPrevName }}
Venue name
Plot title
Custom export branding is a Pro feature. Upgrade to brand every plot and document with your studio identity.
Your library
Custom fixtures
Fixtures you’ve saved, built, or uploaded — available in every plot. Edits here don’t touch the verified library.
{{ acctFixCount }}
{{ r.icon }}
{{ r.name }}{{ r.badge }}
{{ r.manuf }} · {{ r.meta }}
No saved fixtures yet.
Build one, upload a .gdtf, or save a library fixture to “My library”.
Communication
Emails
Account and billing emails always arrive. These are optional:
{{ ep.label }}
{{ ep.sub }}
{{ emailPrefsNote }}
Request a feature
Missing something you need on a show? Tell us — feature requests go straight to the team and shape every release.
{{ frSentNote }}
Security & data
Security
Two-factor authentication
{{ twofaNote }}
Linked sign-in accounts
{{ linkedNote }}
{{ li.name }}
{{ li.sub }}
No password is set — this account signs in only through the provider above.
Active sessions
{{ ss.label }}
{{ ss.sub }}
{{ ss.tag }}
Data & privacy
Under GDPR you can download everything we hold about you at any time.
Danger zone. Deleting your account cancels any active subscription and removes every plot — it can’t be undone.
60-second setup
{{ guideStepLabel }}
What kind of stage?
{{ v.emoji }}
{{ v.label }}
{{ v.hint }}
How big is the space?
{{ z.scale }}
{{ z.label }}
{{ z.hint }}
Start with fixtures, or an empty rig?
{{ r.label }}
{{ r.hint }}
{{ r.count }}
Plot name{{ guideName }}
Stage type{{ guidePresetLabel }}
Size{{ guideSizeLabel }}
Rig{{ guideRigLabel }}
We'll build the stage, hang the bars & trusses, and drop you straight into the editor. You can change anything afterwards.
Live preview
{{ guidePreview }}
{{ coachNum }}
{{ coachTitle }}
{{ coachBody }}
{{ upsellTitle }}
{{ upsell.msg }}
Choose plots to keep editable
Free includes {{ keepMax }} editable plots. Pick the ones you want to keep working on — the rest stay safe and viewable, just read-only. Selected {{ keepCount }}/{{ keepMax }}.
{{ k.check }}
{{ k.name }}
{{ k.fixtures }} fixtures · {{ k.updated }}
Share plot
{{ shareDlgName }}
🔌Sharing needs an account
Share links and email invites require a LuminaPlot account and connection to the server. You're currently in local/demo mode, so plots live only in this browser. Sign in to share with collaborators.
Share link
Share link
{{ shareRoleHint2 }}
{{ shareQrEl }}
Scan at load-in. The house crew scans this to open the always-current plot — it also prints on the title block of every export.
Invite by email
{{ inviteNote }}
Manage subscription
{{ portalNote }}
Current planPro · {{ proPer2 }}
Renews{{ renewDate }}
Admin
OWNER {{ adminUpdatedLabel }}
{{ r.icon }}
{{ r.label }}
{{ r.sub }}
Nothing matches across users, plots, errors or feedback.
DEMO DATA Sample figures for previewing the dashboard — not from your live database. The deployed site at luminaplot.com shows real data.
{{ adminTabTitle }}
{{ adminTabDesc }}
{{ sec.error }}
This week
{{ sec.blocked7d }}
{{ sg.label }}
{{ sg.detail }}
Nothing unusual in the last 7 days — no failed-login bursts, no throttled mail, no blocked attempts.
Blocklist
Blocked values are refused at signup and sign-in. Blocking an address or a domain also suspends the matching accounts. Admin addresses can never be blocked.
{{ b.kind }} {{ b.value }} {{ b.reason }} {{ b.hits }} {{ b.when }}
Nothing blocked yet. Add a disposable-mail domain, or block from a user's drawer.
Security events
{{ ev.tag }} {{ ev.action }} {{ ev.detail }} {{ ev.ip }} {{ ev.when }}
{{ us.label }}
{{ us.v }}
Providers
{{ ar.label }}
{{ ar.desc }}
Fall back automatically (user AI)
When the primary is capped or failing, silently try the next provider in the chain. The admin AI never falls back — its prompts stay with the one vendor you picked.
Order {{ co.n }} {{ co.label }}
{{ aiSet.keyHint }}
Providers & health
{{ fp.label }} {{ fp.statusLabel }} {{ fp.role }}
{{ fp.lastNote }}
Every provider except Anthropic speaks the same API, so a key is all it takes. Free tiers are rate-limited — that is what the fallback chain is for. Only Anthropic and Mistral may serve the admin AI (neither trains on prompts); on Mistral, admin prompts are still redacted.
Generation & limits
{{ g.label }}
{{ g.desc }}
Temperature
0 = deterministic, 1 = creative. Empty uses the provider default — recommended, the prompts are tuned for it.
Features
{{ f.label }}
{{ f.desc }}
Privacy
Always redact admin data
Withhold user emails, names and feedback texts from the admin AI on every provider — including Anthropic. Non-Anthropic providers are always redacted regardless.
Provider, model and limit changes apply to the next AI call — nothing to redeploy.
Showing {{ adminRangeLabel }}
Pulse {{ tc.v }} {{ tc.k }}
{{ st.spark }}
{{ st.label }}
{{ st.value }}
{{ st.sub }}
Monthly recurring revenue
{{ adminMrrNow }} · {{ adminMrrGrowth }}
{{ adminRevPeak }}
{{ b.month }}
{{ adminRevSvg }}
Plan mix
{{ p.label }} {{ p.value }} {{ p.pct }}
New signups
upgraded to paid
{{ adminSignupPeak }}
{{ b.month }}
{{ adminSignupSvg }}
System health
{{ h.label }} {{ h.detail }}
Plots created
{{ adminPlotTotal }} total · peak {{ adminPlotPeak }}
{{ b.month }}
{{ adminPlotSvg }}
Newest signups
No users yet.
{{ u.initials }}
{{ u.email }}
{{ u.when }}
{{ u.plan }}
Active users
{{ adminActiveNow }} in the latest period
{{ b.month }}
{{ adminActiveSvg }}
Engagement
{{ en.label }} {{ en.value }} {{ en.sub }}
{{ adminNote }}
{{ adminUserCount }}
{{ sg.label }} ×
{{ st.label }}
{{ st.value }}
User {{ sortArrowName }}Plan {{ sortArrowPlan }}Status {{ sortArrowStatus }}Plots {{ sortArrowPlots }}Active {{ sortArrowActive }}Joined {{ sortArrowJoined }}Actions
{{ u.display_name }} {{ u.adminTag }}
{{ u.email }}
{{ u.statusLabel }}
{{ u.plots }}
{{ u.active }}
{{ u.joined }}
Signup → activation funnel
{{ growthFunnelNote }}
{{ f.label }}
{{ f.stepPct }}
{{ f.n }} · {{ f.pct }}
{{ f.allN }}
Revenue movement
{{ rc.k }}
{{ rc.v }}
{{ growthRevNote }}
At-risk accounts
Payment failures, scheduled cancellations, ending trials, and paying users gone quiet 21+ days.
Nobody at risk right now — all subscriptions healthy.
{{ ar.chip }} {{ ar.name }} {{ ar.email }} · {{ ar.plan }} {{ ar.when }} {{ ar.sentLabel }}
Send a win-back email
{{ wbWho }}
Coupon — live Stripe promotion codes
Fetching active codes from Stripe…
Feature usage · last 30 days
free pro company
{{ usageNote }}
{{ usageTotalNote }}
No usage recorded yet.
{{ u.label }}
{{ u.keyMono }}
{{ u.spark }}
{{ u.share }}
{{ u.paidPct }}
{{ u.total }}
{{ u.delta }}
Never used by anyone: {{ usageNever }}
Data-protection requests (GDPR art. 15 & 17). The clock is 30 days from the request — log it here the day the email arrives.
No requests logged. That's a good day.
{{ g.type }} {{ g.who }} requested {{ g.requested }} · {{ g.note }} {{ g.deadline }}
Aggregated, anonymised insight from user profiles — the kind of industry signal you can share with manufacturing partners. No names, emails or individual accounts appear here.
Demo figures — live mode aggregates the real profiles in your database.
{{ audError }}
Users
{{ audTotal }}
{{ audNew30 }}
Profile coverage
{{ audCoverage.pct }}
{{ audCoverage.sub }}
Onboarding completed
{{ audOnbPct }}
{{ audOnbSub }}
{{ tc.k }}
{{ tc.v }}
{{ tc.sub }}
{{ blk.title }}
{{ r.label }}
{{ r.value }} {{ r.pct }}
{{ ins.text }}
Paid share by use case
free pro company
Which segments actually pay — your best targets for messaging and pricing.
{{ c.label }}
{{ c.total }}
{{ c.pct }}
Paid share by acquisition channel
Where paying users came from — spend your marketing effort on the top rows, not the biggest ones.
{{ c.label }}
{{ c.total }}
{{ c.pct }}
Brand share of gear mentions
Sellable
{{ audBrandNote }}
{{ b.rank }} {{ b.label }}
{{ b.value }} {{ b.share }}
Answer rate {{ r.label }} {{ r.pct }}
Most-used fixtures
Manufacturer signal {{ audFixCount }}
No fixture mentions match that search.
{{ r.label }}
{{ r.value }}
📊
Loading audience data…
Aggregating profile answers — nothing here identifies an individual account.
All plots created on this instance. Open to inspect, flag for review, or remove content that violates the terms.
Plot {{ contentSortName }}Owner {{ contentSortOwner }}Fixtures {{ contentSortFixtures }}Updated {{ contentSortUpdated }}Actions
{{ c.name }} {{ c.flagLabel }}
{{ c.venue }}
{{ c.owner }}
{{ c.fixtures }}
{{ c.updated }}
🗂
No plots on this instance yet
Every plot users create shows up here for review.
In-app feedback and bug reports submitted by users. {{ adminFeedbackNote }}
💬
No feedback yet
Messages from the in-app “Feedback” button appear here.
{{ fb.when }} Reply
{{ fb.text }}
Aggregated, anonymised datasets you can share or sell to manufacturer & distributor partners — the industry signal LuminaPlot sees. No names, emails or per-account data ever leave this instance.
⚖ Before sharing or selling, make sure your privacy policy and user consent cover aggregated data sharing.
Fixture usage
Manufacturer signal
Placements per model & manufacturer across every plot — which fixtures working LDs actually hang, and what's trending in the last 30 days.
{{ expFixCount }}
Audience segments
Who uses LuminaPlot — use case, organisation type, console preference and how they found us. Counts only, no profiles.
{{ expAudCount }}
Growth & usage trend
Signups, paid conversions, plots created and active users per period — market-size context for the two datasets above.
{{ expGrowthCount }}
Insights portal clients
/insights ↗
Self-serve logins for statistic clients (rentals, manufacturers). Each client sees only the modules you grant — always aggregated and anonymised. Sign-ins and views land in the Activity log.
Login created for {{ icIssued.email }} — one-time password: {{ icIssued.password }}
Copy it now and send it to the client — it isn't shown again.
{{ icForm.title }}
Access — modules this client can see
{{ sc.mark }} {{ sc.label }}
{{ icError }}
{{ c.company }}{{ c.stTag }}
{{ c.email }} · {{ c.meta }}
{{ c.scopeLine }}
No client logins yet — create one to give a partner access to /insights.
🧾
Export log
Who exported or viewed what, when — CSV downloads from this tab plus every insights-portal login, view, drill-down and search.
{{ x.icon }} {{ x.text }} {{ x.tag }} {{ x.when }}
Nothing yet — CSV downloads and insights-portal activity will show up here.
Full history lives in Logs → Activity.
Account & system activity — logins, plan changes, admin actions, billing events, exports, and failures. Each row shows whether it succeeded. {{ adminFeedbackNote }}
Security signals
{{ s.label }}
{{ s.detail }}
{{ adminActivityCount }}
🕐
No activity logged yet
Logins, plan changes, exports and admin actions appear here as they happen.
{{ g.day }} {{ g.count }}
{{ a.action }} {{ a.detail }}
{{ a.nLabel }} Stripe ↗
{{ a.statusLabel }} {{ a.when }}
Error volume · last 14 days
Events per day, stacked by severity
fatal error warning
{{ adminErrChart }}
Top offenders (open)
{{ t.k }} {{ t.n }}
Open issues
{{ adminErrOpen }}
Events (open)
{{ adminErrEvents24h }}
Fatal
{{ adminErrFatal }}
New (24h)
{{ adminErrNew24h }}
Users hit
{{ adminErrUsers }}
By source
{{ adminErrPhp }} php · {{ adminErrJs }} js · {{ adminErrApi }} api
No errors logged. 🎉
Server exceptions, front-end JS errors and failed API calls will appear here.
{{ e.type }} {{ e.sev }} BOT {{ e.countLabel }} {{ e.when }}
{{ e.message }}
{{ e.loc }}
{{ e.meta }} · {{ e.agent }} · {{ e.firstSeen }}
Stack trace
{{ e.stack }}
Only add quotes you have permission to publish. These appear on the public landing page — they must be real and used with consent.
No testimonials yet.
The landing page shows a neutral panel until you add real, consented quotes.
“{{ t.text }}”
— {{ t.name }}{{ t.roleSuffix }}
Fixture usage
{{ fxStatNote }}
Aggregating fixture usage across every plot…
Couldn't reach the server for usage analytics. Showing what's available locally.
{{ k.value }}
{{ k.label }}
Usage trend {{ fxTrendArrow }} {{ fxTrendPct }} {{ fxTrendRecent }} recent · {{ fxTrendPrev }} prior {{ fxTrendWindow }}
🏆Most-used fixtures
{{ r.rank }}
{{ r.icon }}
{{ r.name }}{{ r.badge }}
{{ r.placements }}
{{ r.plots }}
No fixtures placed in any plot yet.
Usage ranks here as plots are built.
🛠Most-customised fixtures
{{ r.rank }}
{{ r.icon }}
{{ r.name }}{{ r.badge }}
{{ r.manuf }}
{{ r.placements }}
{{ r.plots }}
No customised fixtures in use yet. Edited & custom library models, plus fixtures users build themselves, will rank here.
Built-in {{ fxStatLibBuiltin }} Edited {{ fxStatLibEdited }} Custom {{ fxStatLibCustom }} User fixtures {{ fxStatUserFix }}
Likely fixture errors
{{ fxCrowdNote }}
{{ fxCrowdCount }}
{{ c.icon }}
{{ c.name }}{{ c.manuf }}
{{ c.kindLabel }} {{ c.fieldLabel }} {{ c.defLabel }} {{ c.altLabel }}
{{ c.who }}
{{ c.share }}
🏭By manufacturer{{ fxMfCount }}
{{ m.rank }}
{{ m.manuf }}
{{ m.placements }}
{{ m.models }}
No placements to roll up yet.
🗑Never placed{{ fxUnusedCount }} · {{ fxUnusedPct }}
{{ u.icon }}
{{ u.name }}
{{ u.manuf }}
{{ u.badge }}
{{ fxUnusedMore }}
Every library fixture has been placed at least once.
Possible duplicates{{ fxDupCount }}
{{ d.name }}{{ d.count }}
{{ d.variants }}
{{ d.placements }}
🏷Needs a manufacturer{{ fxNoMfCount }}
These library fixtures were published without a manufacturer — assign one so they group and colour-code correctly for everyone.
{{ n.icon }}
{{ n.name }}
{{ n.meta }}
{{ adminFixCount }} · sort
{{ adminFixNote }}
{{ r.icon }}
{{ r.name }}{{ r.badge }}
{{ r.manuf }} · {{ r.meta }}
{{ r.usageLabel }}
No fixtures match.
{{ aiNote }}
Generate this week’s briefing
Health summary, the metric moving most (charted), odd or at-risk users, and one concrete recommendation.
{{ aiBusyQ }}
Analyzing the snapshot…
{{ msg.q }}
{{ msg.when }}
{{ msg.headline }}
{{ msg.a }}
{{ ch.title }}
{{ ch.svg }}
Application
All signups (master)
{{ appSettings.signupsDesc }}
{{ t.label }}
{{ t.desc }}
Free plan limits
Enforced on create & save; existing over-limit plots become read-only, nothing is deleted.
Billing & limits
Pro trial length
Days of free trial at checkout. 0 uses the Stripe default.
Default currency label
Used for new Company workspaces (quotes, invoices, budgets).
Max collaborators per plot
Hard cap on invites per plot. 0 = unlimited.
Features & safety
{{ t.label }}
{{ t.desc }}
Notifications
Email notifications go to {{ adminNotifyEmail }}. Choose which events you want to hear about, and how often you'd like an overview digest.
{{ t.label }}
{{ t.desc }}
Automatic alerts
Checked once a day by the cron job; triggered alerts are emailed to the admin address (no repeats while unchanged).
{{ t.label }}
{{ t.desc }}
Overview digest
A periodic summary of signups, subscriptions, plots and feedback.
{{ digestHint }}
{{ settingsSavedNote }}
Email user
→ {{ compose.to }}
Sent from the system address and recorded in the Email log.
{{ es.k }}
{{ es.v }}
{{ emailDemoNote }}
No emails match. The log records every send from now on; older failures appear from the activity trail.
{{ em.kind }}
{{ em.subject }}
{{ em.to }} {{ em.name }}
{{ em.when }} {{ em.st }}
{{ emailView.kind }}
{{ emailView.subject }}
→ {{ emailView.to }} {{ emailView.when }} {{ emailView.st }}
{{ emailView.bodyEl }}
Transactional templates
Reword any system mail — leave a field empty to keep the default. Placeholders like {{ tplPhExample }} are filled per recipient; the first line becomes the heading, lines starting with “– ” become small print.
{{ t.label }} CUSTOM {{ t.vars }}
{{ t.btnNote }}
🚧 Dashboard banner
Maintenance, update or info notice shown to every signed-in user.
{{ appSettings.maintStatusLabel }}
Times show in each user's own timezone. Banner hides itself when the window ends.
Quick
{{ appSettings.maintPrevIcon }}
{{ appSettings.maintPrevTag }} {{ appSettings.maintPrevTitle }}
{{ appSettings.maintPrevMsg }}
{{ appSettings.maintPrevTime }}
{{ settingsSavedNote }}
📣 Broadcast announcement
Push an in-app notification to users' bell — maintenance notice, new feature, important update.
Type
Audience
Preview
{{ announcePreviewIcon }}
{{ announcePreviewTitle }}
{{ announceBody }}
just now
{{ announceNote }}
🗞
Sent broadcasts
Delivery per broadcast — and how many recipients actually saw it in their bell.
{{ h.icon }}
{{ h.title }}
{{ h.body }}
{{ h.aud }} {{ h.sent }}
{{ h.viewed }}
{{ h.when }}
Nothing sent yet — broadcasts and their view rates will show up here.
✉️ Marketing email
Emails every verified user who hasn't opted out (Account → Emails). Each mail carries a one-click unsubscribe link. {{ mktRecipientNote }}
Audience
Header image
Insert: works in the subject too — click a field first; the preview shows sample values
Button — optional
Leave the label empty for no button. Merge fields work in the label too.
Preview
L LuminaPlot
{{ mktPrevSubject }}
{{ mktPrevBody }}
{{ mktPrevBtnLabel }}
You get this because you have a LuminaPlot account · Unsubscribe from these emails
{{ mktNote }}
{{ udName }}
{{ udEmail }}
{{ udPlanLabel }} {{ udStatusLabel }} {{ udVerifyChipLabel }} ADMIN 2FA ON
Plots
{{ udPlots }}
Fixtures
{{ udFixtures }}
Shared with
{{ udShared }}
Joined
{{ udJoined }}
Last seen
{{ udLastSeen }}
Sessions
{{ udSessions }}
Renews / ends
{{ udRenew }}
Billing
{{ udBilling }}
Profile / About
{{ pf.k }} {{ pf.v }}
Recent plots
{{ rp.name }}
{{ rp.meta }}
View →
Emails sent
{{ um.st }}
{{ um.subject }}
{{ um.kind }} · {{ um.at }}
Nothing sent to this user yet.
Recent activity
{{ ac.action }} {{ ac.at }}
Subscription
{{ udSubSummary }}
{{ udSubId }}
Manage plan
Account
{{ apvName }}
{{ apvMeta }}
Loading plot…
{{ apvImgEl }}
Read-only · access is logged to the audit trail. {{ apvStats }}
{{ tstFormTitle }}
New light plot
Start from a venue type
Optional — prefills sensible geometry you can fine-tune below. Or just fill in your own dimensions.
Your saved layouts
{{ lc.name }} {{ lc.sharedBadge }} ×
Project
Stage & venue dimensions (metres)
Room layout — positions & areas
{{ posCount }} positions · {{ areaCount }} areas {{ roomPax }}
Drag bars & trusses and audience areas / zones straight on the canvas — drag a truss end cap to change its length or angle, click anything to fine-tune exact numbers below. All measurements in metres, snapped to 0.1 m; − is upstage / stage-left, + is downstage / stage-right.
📐 Venue plan loaded × QUICK RIGS AREAS
Truss Single bar Plaster Area {{ roomHint }}
{{ roomCanvas }}
{{ rc.label }} ×
Select a position or area — on the canvas or in the list above — to fine-tune its exact numbers here.
Point A
Point B
Numbering & grid
🏛 Venue-profile mode — the room you design here (stage, bars, zones, house infrastructure) is saved as a reusable venue, not a plot. Start shows in it from the create screen, card menus or the AI Designer.
{{ plotVenue }} {{ saveLabel }}
On-screen info
Label shows
Text size — FIDs, labels & dimensions
Snap to grid
Snap to objects
Line up with the centre line, stage edges and other bars, zones & elements. Guides show while you drag.
Show grid
Grid spacing
m
X m
Y m
Auto-patch settings
Order by
Group by fixture type
Renumber FIDs
New hundred per type
Console patchPRO
{{ conflictLabel }}
{{ issueHeadLabel }}
Nothing flagged — patch, rigging and power all check out.
{{ ig.title }}
{{ ig.countLabel }}
{{ ig.caret }}
{{ it.label }}
{{ it.detail }}
{{ ig.moreLabel }}
{{ pp.initials }}
↻ synced
🔒 Read-only — this plot is locked on the Free plan. View and export only. Make it editable from the dashboard, or upgrade to Pro.
Live · always current This link always shows the latest version — updated {{ guestUpdatedAgo }}. No account needed to view.
👁 Viewing {{ roOwnerName }}'s plot — read-only. Made with LuminaPlot. You can plot your own show the same way — free.
💬
{{ pc.name }}
{{ underlayImgEl }}
{{ a.label }}
CL
PLASTER LINE
{{ stageDimLabel }}
{{ houseDimLabel }}
SIDE ST.
SIDE ST.
{{ dm.text }}
{{ b.label }}
{{ hm.glyph }}
{{ hm.label }}
{{ cg.chip }}
{{ el.icon }}
{{ el.label }}
{{ fx.icon }} {{ fx.label }} {{ fx.subText }} 🔒
{{ tip.name }}
FID {{ tip.channel }} · {{ tip.pos }}
U{{ tip.universe }} / {{ tip.address }} · {{ tip.mode }}{{ tip.proto }}
Dimmer {{ tip.dimmer }}
{{ tip.purpose }}
{{ modeChipIcon }} {{ modeChipName }} · {{ modeChipHint }}
+
{{ libPickTitle }}
{{ libPickSubtitle }}
{{ libResultCount }}
{{ g.manuf }} online {{ g.count }}
{{ r.icon }}
{{ r.name }}
{{ r.meta }}
No matches.
Try the manufacturer name, or upload the .gdtf file directly.
{{ libSelIcon }}
{{ libSelName }}
{{ libSelSource }}
{{ libSelBadge }}
{{ libProvNote }}
DMX mode → footprint
{{ m.name }} {{ m.fp }} ch
Normalized to your schema
{{ f.label }} {{ f.value }} {{ f.tag }}
Max power {{ libStaticPower }}{{ libWTag }}
Unit weight {{ libStaticWeight }}{{ libWTag }}
Max power W {{ libWTag }}
Unit weight kg {{ libWTag }}
Plot color
Quantity
unchanged
Quantity
{{ libFootNote }}
G
Import fixture from GDTF
Normalized into your library — review before adding
{{ gReviewIcon }}
{{ gReviewName }}
{{ gReviewSource }}
{{ gReviewBadge }}
{{ gReviewProvNote }}
DMX mode → footprint
{{ m.name }} {{ m.fp }} ch
Normalized to your schema
{{ f.label }} {{ f.value }} {{ f.tag }}
Max power W {{ gWattsTag }}
Unit weight kg {{ gKgTag }}
Amber "fill in" fields were missing from the GDTF file — add them so the rig load & power reports stay accurate.
Plot color
Quantity
{{ gReviewFootNote }}
{{ gdtfBatchTitle }}
{{ gdtfBatchSub }}
Apply to all
{{ gdtfBulkNote }}
{{ g.name }}
{{ g.manuf }} · {{ g.meta }}
{{ g.warnText }}
{{ adminFixTitle }}
Crowd correction applied
{{ afxCrowdHint }}
{{ afxAiNote }}
Class
Symbol
{{ t.icon }}
{{ t.label }}
DMX modes
ch
{{ invFormTitle }}
GDTF import{{ gdtfMfr }}
{{ gdtfNote }}
Fixture class
Intelligent
DMX-addressed · modes & footprint
Conventional
Dimmer channel · 1 ch
Symbol
{{ sy.icon }}
{{ sy.label }}
Colour
DMX modes
Save changes to
{{ ivForkNoteText }}
{{ ghost.icon }}
{{ eggShow }}
LuminaPlot
A quick tour of the editor 🎚️
click outside to exit
Quick start
Build a plot in a few moves
{{ tip.icon }}
{{ tip.title }}
{{ tip.body }}
Tip — press ? any time for keyboard shortcuts.
App by The Async × UpMix Music Group
{{ toastMsg }}
Offline — changes save locally and sync when you're back
New show at venue
Copies “{{ venueDlg.srcName }}” — rig, patch and paperwork — onto a saved venue profile. Room, zones and house infrastructure come from the venue.
Venue profile
{{ vl.name }} {{ vl.dims }}
No saved venue profiles yet. In the editor, use More ▾ → Save room as venue profile to capture a room — then duplicate any show onto it here.
💬 Comment
{{ commentDlg.meta }}
DMX universe map
Each cell is one address — hover for the fixture, click to jump to it on the plot. Red marks overlapping footprints.
{{ ds.v }}{{ ds.k }}
Universe {{ un.u }} {{ un.meta }} {{ un.freeNote }}
1128256384512
⚠ {{ un.conflictNote }} — {{ un.conflictDetail }}
Free: {{ un.freeRanges }}
AddressChFixtureModePosition
{{ pr.range }} {{ pr.ch }} {{ pr.name }} {{ pr.mode }} {{ pr.pos }}
Patch export
No patched fixtures yet — place fixtures and they'll show up here by universe.
{{ lg.name }}{{ lg.count }}
ESC
{{ pi.icon }}
{{ pi.label }}
{{ pi.hint }}
{{ pi.kind }}
No matches — try a plot name, channel number or action.
Keyboard shortcuts
{{ grp.title }}
{{ k }}
{{ r.does }}
Press ? anywhere in the editor to open this sheet.
Venue underlay
Put the venue's ground plan behind your plot — an image (PNG / JPG / SVG) or a CAD DXF. Set its real-world width to scale it, then draw on top. It never prints on paperwork.
{{ confirm.title }}
{{ confirm.message }}
Build a linked structure
Legs are butted together at the corners. Afterwards each leg edits like any other position — move one and the corner follows.
{{ shapePreview }}
Truss profile
{{ shapeSource }}
{{ shapeSummary }}
{{ ln }}
{{ ln }}
Thanks for the feedback!
We read every message.
Send feedback
Found a bug or have an idea? Tell us — it goes straight to the team.
Work notes
Tasks for the crew — saved with the plot, checkable on mobile.
No notes yet. Select a fixture or element and hit “+ Note on selection” to pin a task to it — “refocus ch 12”, “swap lamp”, “gel to L201”.
{{ w.meta }}
Tech rider
Prefilled from this plot — edit anything. Saved with the plot; prints as a document in the PDF pack.
Profiles — reusable contacts, hospitality & terms
{{ pr.name }}
Contacts
{{ sec.label }}
Ticked sections print in the PDF pack as the “Tech rider” document.
⚠️
This plot changed on the server
Someone else saved this plot while you were editing — probably a collaborator. Autosave is paused so nobody's work gets silently overwritten. Whichever you pick, the other version is kept in Version history.
Version history
Snapshots auto-save while you work. Restore or compare any point.
Changes since {{ verDiff.label }} · {{ verDiff.when }}
{{ c.text }} No differences — the plot matches this snapshot.
{{ verDiff.svg }}
added removed (×) moved (dashed trail from old spot) patch / detail edited
No saved versions yet.
Use “Save a version” to capture this state, or keep editing — autosnapshots appear here.
{{ v.when }}
{{ v.label }} · {{ v.fixtures }} fixtures
Keeps the last 30 snapshots
Plot details
Credits
Print / Save as PDF
Pick your page setup and documents, then use the browser’s “Save as PDF”.
Orientation
Portrait
Tall page
Landscape
Wide page
Documents
Cover sheet
Contents page
Title block
Plot drawing
Fixture legend / key
Instrument schedule
Fixture count summary
DMX patch sheet
Per-position worklists
Magic sheet
Truss build sheet
Tech rider — specs, contacts, hospitality, terms
Audio pack — input list, patch & monitors
Soft-goods / curtain schedule
Colour, gobo & accessory schedulePRO
⚠️ {{ printScaleWarn }}
Section order
{{ sr.num }} {{ sr.name }}
For page numbers, turn on “Headers and footers” in your browser’s print dialog — a web page can’t number its own pages. Every page already carries the venue and plot name.
{{ printDocCount }}