Search real fixtures (weight, wattage, DMX modes) — or build a custom one below.
✎Editing type — changes apply to every placed fixture of this type. Keep editing as many fields as you like.
PREVIEW · drag to rotate
⚙ GDTF data · fix size & DMX modes▸
Physical size (m) — corrects the 3D model scale when a GDTF has wrong dimensions. Leave 0 to use the default size for the symbol.
DMX modes — rename or fix channel counts (footprint). Each placed fixture picks which mode it uses in its own editor.
Layers
▸
Elements in scene
Rigging points
▸
Load summary
▸
Studio size
▸
ZERO POINT (ORIGIN)
FLOOR GRID
35%
Export / import
Ready
0 selected
Move & rotate
Distribute
Set value on all
Fixtures · type & DMX
Rename / number
Gives elements new names from a start value (e.g. 101 or LX101). The trailing number counts up; any prefix and zero‑padding are kept.
Then click elements one by one — each gets the next number. Esc to stop.
Organise
TOP
SIDE
Studio Lighting Design Tool — User Manual
A guide to designing a TV studio lighting rig. Everything runs locally in your browser; nothing is uploaded. Coordinates use the lighting convention Z‑up: X = length, Y = width, Z = height.
1. Set up the room
The Studio size panel sits near the bottom of the sidebar, just above Export / import. Enter the room Length, Width and Height in metres and click Update room. The floor grid shows 1 m squares; use the Floor grid → Brightness slider in the same panel to make the grid lines lighter or darker for visibility. You normally set the room size once at the start.
Sidebar order: Project · Add element · Layers · Elements in scene · Rigging points · Load summary · Studio size · Export / import. The Layers, Rigging points, Load summary and Studio size sections collapse to a single line — click the heading (▸) to open or close them, giving the element list more room.
2. Navigate the views
Orbit: left‑drag on empty space. Pan: right‑drag or Shift+drag. Zoom: scroll wheel.
TOP / SIDE insets: small live top‑ and side‑view windows sit in the bottom‑right corner.
Plan view: the Plan view button (top‑left) switches the main view to a top‑down plan with a metre ruler along the edges. Drag to pan, scroll to zoom. Your plan‑view zoom and position are kept when you switch back and forth between the iso/3D view and plan view, so you don't lose your framing. Element names (for items with the info label turned on) and truss measurements appear as readable text overlays here — drawn as plain text with no background box, so nothing is hidden underneath; the Labels: on/off button toggles labels in both the ISO/3D view and the plan‑view name overlays. By default a name sits half a metre above its element in plan view. You can drag a name label to move it off the element (a thin line links it back); double‑click the label to reset its position. Labels and measurements look the same — no background — in the PDF export. Label positions are saved with the project.
Toolbar (top‑left): Top · Front · Back · Left · Right · 3D · Saved 3D views · Measure · Clear meas. · Labels on/off · Truss meas on/off · Set origin · Snap. These are described in their relevant sections below.
Keyboard shortcuts:Ctrl/⌘+Z undoes the last action (up to 500 steps, also via the ↶ Undo button top‑left), and Ctrl/⌘+Shift+Z (or Ctrl+Y, or the ↷ Redo button) redoes it; Ctrl/⌘+C / Ctrl/⌘+V duplicates the selection next to itself, giving each copy a fresh name/number and the next free DMX address — copying a truss brings its mounted fixtures and pipes along, copying a fixture brings its softboxes, and a copied snapped‑together truss group stays linked so it moves as one; with several elements selected it copies the whole group at once (see §10); hold A and click to add the selected element at the click point; hold R and drag an object to rotate it; hold M and drag to grab an image/3D model or to move a locked element on the floor; hold Z and release an element over a truss or pipe to snap its height to that rig, or hold Z and drag a locked element to move it up/down; Shift‑drag (or right‑drag) changes height; Esc cancels measuring/placement and closes the manual.
iPhone & iPad (touch): the tool can be operated by touch. In the iso/3D view, drag one finger on empty space to orbit the camera; in plan view one finger pans. Use two fingers anywhere to pinch‑zoom and pan the camera at the same time. To select and move an element, touch it with one finger and drag — this works just like a mouse drag, so selecting, moving, groups and lock all behave the same. In Select mode a tap marks elements for the distribute/group panel. Tip: turn on Plan view for the easiest touch editing, since everything moves on the floor plane; small on‑screen buttons and menus are designed for a mouse, so an iPad is more comfortable than a phone for the side panels. Height changes (mouse right‑drag/Shift) aren't bound to touch yet — set an element's height from its editor (the Z · height field) on a touch device.
2b. Layers
Layers group your elements and follow the type list: Rigging, Set, Video, Markings, plus Images, 3D models, and one layer per custom type you define. A layer only appears in the panel once at least one element uses it, so the list stays tidy. You can also make your own named layers: click + New layer in the Layers panel, give it a name, then select elements (multi‑select tool) and use Move to layer in the selection panel to put them there — they leave their type layer and live in yours instead. Your own layers always show, even when empty, and a 🗑 button removes one (its elements return to their type layers). Show/hide any layer with the eye in the sidebar or the compact layer list pinned to the right edge of plan view (a vertical list that grows downward). A hidden layer disappears from the views and can't be clicked, but still counts in the weight/load totals. Layers are saved with the project.
2c. Zero point (origin)
By default 0,0 is the room corner. To use your own zero point, click Set origin and click a spot in plan view, or type Origin X / Y (measured from the room corner) under Studio size. The origin shifts the edge ruler, the 1 m floor grid (grid lines pass through 0,0), and every element's X/Y in the editor and exports; height (Z) is unaffected. Reset origin to room corner restores the default. The origin is saved with the project.
2d. Views — top, side elevations & saved 3D cameras
The toolbar has a row of view buttons. Top is the classic top‑down plan (look straight down); click it again to return to 3D. Front, Back, Left and Right are side elevations — orthographic views from each of the four sides, showing length or depth against height. Use them when you build something vertical (a tower, a leg, a stacked wall) that you can't judge from the top: in a side view you see the real heights and can line things up. All five ortho views pan (drag empty space) and zoom (wheel), and you can drag elements in them — in an elevation a drag moves the element in the plane you see (e.g. Front moves it in length + height, Left moves it in depth + height), so it's the easy way to set heights by eye. Snap applies as usual. The 3D button returns to the orbit view at any time. (Measuring and Set origin always use the Top view, since they work in floor coordinates.)
Saved 3D views: line up any angle you like in the 3D/orbit view, then click ★ Save view and give it a name — it's stored with the project. Pick it again any time from the Saved 3D views… dropdown to jump the camera straight back to that exact angle (position, zoom and target). ✕ deletes the one selected in the dropdown. Handy for keeping a few working angles (e.g. "House left", "Downstage", "Over the drummer") and flipping between them.
3. Add elements
Choose a type under Add element, set a length/height where relevant, and click Add to scene. The new element follows the cursor — click once to drop it. Beside the button, the DMX: Auto / Manual toggle controls addressing for new fixtures: in Auto each fixture gets the next free address in universe 1; in Manual you set the Universe and Start address, the first fixture takes that address, and each following fixture stacks onto the next free slot after it (the Start field advances automatically). The Snap dropdown (top‑left) is off by default for free placement; set it to 0.1 / 0.5 / 1 m to round positions while dragging. Shortcut: hold A and left‑click on the canvas to instantly add the type currently selected in the dropdown at the click point — no need to press the button each time. Available types:
Rigging: truss (horizontal, vertical/tower, circle, corner 90°, T‑piece 3‑way, and 3‑way corner‑down (QX30SAL3, a 50 × 50 × 50 cm corner where two horizontal legs meet a third leg pointing down, 8.2 kg)) and pipe (straight, circle, corner, T‑piece, corner‑down). The truss matches the Litec QX30SA end‑plated square truss: 29 × 29 cm cross‑section, Ø50 mm main tubes, about 5.5 kg/m (a 3 m bay ≈ 16.5 kg). The 90° corner (QX30SAL2090, 50 × 50 × 29 cm) ≈ 5.9 kg and the 3‑way T (QX30SAT3, 50 × 50 × 29 cm) ≈ 7.3 kg, matching the Litec data sheet. A straight truss also has editable width, height and diagonal spacing, so you can shape the cross‑section and how dense the lattice diagonals are. You can save a shaped truss as a reusable type: open its editor and click ★ Save as truss type, give it a name, and it appears under My truss types in the Add‑element dropdown (and in the custom‑type panel, where you can delete it). Saved truss types persist in your browser across projects. A circle rig has an editable diameter and arc (any angle from 5° to 360°, set with the up/down arrows, by typing, or with the ¼ / ½ / ¾ / full quick buttons below the field); the corner, T‑piece and corner‑down are fixed pieces. Horizontal truss and pipe — and circle rigs — can also be tilted (Tilt Z °) to slope; mounted fixtures follow. A pipe can hang on a truss (set in its Hangs on field): it snaps under the truss, is included in the truss's measurements, and its weight — plus anything hanging on the pipe — rolls up into that truss's load. If a straight pipe lies across two (or more) trusses, its load is shared between them by moment balance — each truss carries the share nearest to it (based on where the pipe's own weight and its fixtures sit along the pipe), applied at the point where the pipe crosses that truss. When you drop a pipe near a truss it snaps to the top or bottom if it is within 10 cm of that side; placed at mid‑height it stays on the front of the truss. Trusses are built from standard sections in 3, 2, 1.5, 1, 0.5 and 0.25 m lengths, while pipes also come in shorter pieces (0.6, 0.4, 0.2, 0.1, 0.05 m) — a length is split into the fewest sections, largest first, and small rings mark where sections meet in 3D. Truss and pipe modules also snap end‑to‑end: when you place or drop one and its end comes within ~40 cm of another rig's end, it jumps so the ends meet — handy for chaining straight sections, corners and T‑pieces. Turn this off with the End‑snap button in the toolbar. Modules that snap together become a group: dragging any one of them moves the whole chain together. To pull a single module out of the group, hold M while you drag it — it leaves the group and moves on its own. There is also an MX1 Ladder vertical hole pipe (under the rigging types): a floor‑standing upright with holes for horizontal cross‑pieces (it carries a half coupler on top — a truss clamp modelled on the real Ø48–51 mm coupler, 0.634 kg — and can hang from a truss: the coupler grips the truss underside like a drop arm and it follows the truss when moved or tilted). A PDU / Dimmer city element (a floor‑standing power distro) and a Power-Hot cable are also under the rigging types. A cable is routed by clicking waypoints: pick it from Add element, then click a truss to start (at a hot output), click along to add bends (each click snaps to a truss or drops to the floor), and click a PDU to finish (or press Enter; Esc cancels). Set its weight per metre (kg/m) and a destination label in its editor; the route length and weight (kg/m × length) are computed automatically. The cable weight is split across the trusses its segments run along (shown per‑truss in the load summary and applied where each segment crosses the truss), and floor/drop runs are attributed to the truss they leave. Cables follow the trusses and PDU when those are moved; use ↻ Route manually in the editor to draw a new path, or ⚡ Auto-route to PDU and then click a PDU: the cable follows the truss nearest the PDU, and if a chain block or motor hangs above the PDU it grabs that point and drops straight down to the PDU — otherwise it runs along the ceiling as far as possible and drops to the floor beside the PDU. The cable always follows the trusses (it can't hang in mid‑air) — on a circle truss it runs along the ring (the arc), not across it. If the start (hot) is on a different truss than the PDU, the cable hops from truss to truss through the ceiling (trusses within ~2 m of each other are treated as connected) along the shortest path over the trusses, staying on the truss as long as possible and only dropping down near the PDU; where two trusses meet at an angle it forms a right‑angle bend (a little extra cable) instead of cutting across. You can restrict which trusses auto‑route may use with the "Auto‑route only via these LX" tick‑boxes in the cable's editor — tick the LX you want the cable to run on (none ticked = it may use any), and the start and PDU trusses are always allowed. In the editor you can set Start at hot: the cable then starts at the centre of that hot's fixtures on the truss, and the start (and the whole cable) follows automatically when those fixtures are moved. Editing the path: click the cable to select it — its waypoints show as small handles (yellow = draggable, blue = anchored to a hot/PDU). Drag a yellow handle to move that bend; floor points slide on the floor and truss points slide along the truss. The cable itself isn't dragged as a whole — it is defined by its waypoints. The route length is split into standard cable lengths that join together (40 / 30 / 20 / 10 / 5 / 2 m) using the fewest joints — surplus cable is allowed (it lies as slack at the PDU). The editor shows the cable order (e.g. "40m + 5m = 45 m, 1.8 m spare, 1 join") and the PDF Parts count lists how many of each length to order. A Half coupler is also available on its own in the rigging types, to clamp anywhere on a truss. Set its length and hole spacing in its editor — 10 cm or 20 cm — and the holes are drawn at the right positions (Ø50 mm pipe, Ø12 mm holes). Both spacings share one 10 cm grid (first hole 10 cm from each end): the 20 cm pattern is simply every other hole of the 10 cm pattern, so switching between 10 and 20 cm keeps the existing holes where they are and just adds or removes a hole in each gap. A 2 m pipe at 20 cm therefore has 10 holes — nine 20 cm gaps plus a 10 cm margin at the top and bottom. MX1 pipe comes only in sections up to 2 m, so a longer upright is assembled from several sections: set any length and it is split into standard sections (2 / 1.5 / 1 / 0.5 / 0.4 / 0.3 / 0.2 / 0.1 / 0.05 m), largest first — a collar marks each join in 3D, and the editor shows the section breakdown. There is also an MX1 horizontal crossbar — a Ø50 mm bar with milled ends, an endcap and a bolt at each end. Set its width the same way you set a pipe's length; when you drop it beside an MX1 upright, the near end snaps to the closest hole (right height, sitting on the pipe surface with the bolt into the hole). Size the width to reach a second upright to span between two.
PDF parts count: the report includes a Parts count section listing the number of fixtures and softboxes, plus truss sections and pipe sections counted separately (e.g. "6×3 m · 2×1 m") with the total length of each; every truss/pipe in the element list also shows the sections it is built from. MX1 parts are counted on their own — uprights are listed both as the number of assembled pipes and as the individual sections per standard length they are built from, crossbars by width, and the total number of half couplers (one per assembled upright plus any standalone).
Fixtures (all custom): there are no built‑in fixture types — every fixture comes from the Custom library. The tool ships with a factory library of ready‑made models (small/medium/large fresnel, Nanlite Forza 60/300/720, several moving wash and moving profile sizes, Martin Aura XIP, MAC Viper XIP, MAC Encore, LED panel, LED PAR, tapered softbox, adjustable softbox, strobe, round lantern, Astera Titan Tube and Astera QuikPunch). The fixture 3D models are shaped to resemble the real fixtures (moving heads have a base, yoke arms and a head; Fresnels have a lens and barndoors; the Forza is a round COB; the Aura has its ring of LEDs), and every fixture tilts about 35° downward so it looks like it lights towards the stage — except the QuikPunch, which sits as a floor uplight and points upward. The three fresnels are sized to real fixtures — small ≈ 650 W, medium ≈ 1 kW, large ≈ 2 kW. Each fixture has an editable Size (%) in its editor so you can scale it to taste, and it starts at a realistic size for that model. The Astera Titan Tube is an LED tube with an adjustable Tube length (set it to 1 m for the Titan, 0.5 m for the shorter Helios, etc.); its clamp is hidden so the thin tube looks clean, but it still snaps to a truss normally. Every (non‑softbox) fixture carries a hook clamp (quick‑trigger style) on top — an open hook that grips over the rig's bottom pipe, with the fixture hanging under it — so when you snap it onto a truss the hook sits on the pipe at a consistent point. Fixtures and tubes can also be tilted in the editor (a Tilt (°) field plus Flat / Vertical 90° / Vertical −90° quick buttons) so e.g. a Titan Tube can stand upright. Pick a model under Custom in the Add‑element dropdown. Each fixture can show a small blue direction arrow (seen from above in plan view) so you can read which way it points — turn it on per fixture with the Direction button in the editor (off by default); the arrow is sized from the fixture's own footprint and kept thin. Softboxes snap in front of the nearest fixture when dropped close to one: they sit right at the fixture's lens and follow the fixture's 35° tilt, and they keep following the fixture when it is moved or rotated. Their size is editable (Width/Height/Depth). The adjustable softbox always keeps a white underside as a softbox marker — you can recolour its other five faces freely, but the white face stays so it reads as a softbox at a glance. You can edit any model or add your own via + Define custom type — edits apply globally. Each fixture gets a DMX footprint and a Power (Hot) field.
Set: box, wall, square podium, round podium (all resizable), plus a standing person (1.75 m) and a seated person for scale reference, and a chair.
Video: a video screen built from LED panels — set the panel width and height (in cm, default 50×50) and the pixels wide and high per panel separately, then enter the screen width and height and it fills with whole panels (rounded down), showing the panel grid and count. Editing any of these re‑grids it; the total weight is the panel count × an editable weight per panel (or set a fixed total in the Weight field). The full total resolution — columns × panel‑pixels‑wide by rows × panel‑pixels‑high — and megapixels are shown, and the per‑port signal capacity uses the actual pixels per panel. You can save a panel as a reusable type: open a screen's editor and click ★ Save as panel type, give it a name (e.g. a real product like "Absen PL2.5"), and it appears under My panel types in the Add‑element dropdown — picking it builds a new screen with that panel size, pixel pitch and weight. Saved panel types persist in your browser across projects and can be deleted from the panel‑type list in the sidebar.
You can show an image on the screen face from the Screen image row in its editor: Test image puts a generated test pattern (colour bars, panel grid, centre cross and the screen's resolution) on it, or Custom image… lets you upload your own picture (JPG/PNG). The image always stretches to fit the current screen size and re‑fits automatically when you resize the screen or change the panels; None clears it back to the plain screen. The choice (and the uploaded picture) is saved with the project.
The video screen also carries a full cabling calculator built on the NovaStar MX40 Pro (20 Ethernet ports, fiber boxes of 10 ports, max 9 M px/device). It draws two cable routes on the screen front and computes the gear needed:
Signal: pick bit depth (8/10/12), frame rate and receiving card (A10s/A8s Pro, or Armor‑series where 10‑bit has the same capacity as 12‑bit). The tool auto‑distributes panels across Ethernet ports, filling each port up to the per‑port pixel capacity — at 60 Hz an A10s Pro port carries 659,722 px at 8‑bit, 494,791 at 10‑bit and 329,861 at 12‑bit, and the whole MX40 Pro tops out at 9 M px. You can set Modules per port lower if you want fewer panels per port, but never more than the capacity allows (a higher value is capped automatically). It draws one coloured route per port with the main port number (M1, M2 …). You control the route with three independent settings: Distribution — Serpentine (a snake that fills each port to its limit) or Straight chains (one port per chain, no reversing); Signal start corner — top‑left, top‑right, bottom‑left or bottom‑right; and Pull direction — Vertical (panels stack in vertical bands numbered across the top: M1, M2 … run along the top row, then the band below) or Horizontal (each port is a horizontal stripe with the cable running sideways; M1 = top stripe, M2 the stripe below, and a stripe wider than one port is split into left/right segments). Modules per port defaults to Auto (fill each port to the pixel capacity); set it lower for fewer panels per port — never more than fits (a higher value is capped). The readout shows the pixels used per output (panels per port × pixels per panel) and how much of the port's capacity that is, plus how many ports, fiber boxes and MX40 Pro controllers are needed.
Redundancy (backup): turn it on and each data line uses two physical ports — a backup port can't share an output, so the port count doubles. Choose the scheme: Split (ports 1–10 input, 11–20 backup) or Odd/even (odd ports = input, even = backup). On the PDF the backup port is drawn as a square (R + number) at the opposite end of each chain.
Power: enter watt per panel, voltage, amps per output and number of outputs. Number of outputs defaults to Auto (use as many as the layout needs); set a number to check against the outputs you actually have — the readout then flags if more are needed. A power feed (hot) holds a fixed 6 outputs; beyond that a new hot is added automatically, and hots can be named. Two distribution modes: Serpentine (fill each output to the amp limit) or Straight chains (one output per chain). Chains can start from vertical bands or horizontal stripes (the same layouts as the signal route — H1.1 across the top, or rows running down), or from the top, bottom, left, right, centre‑vertical or centre‑horizontal, and a chain that would exceed the amp limit is split automatically across more outputs. Chains are spread across the phases using the same fixed phase‑per‑output pattern as the fixture hots (state's phase map, e.g. 1,1,2,2,3,3), so an output's phase is decided by its position in the hot — video and fixtures share one phase distribution everywhere. In vertical‑bands and horizontal‑stripes each section is bound to its own hot: when a new band/segment starts, any remaining outputs on the previous hot are left empty and the new section begins on a fresh hot — so a hot never has to run a cable across into another section. The power route is drawn in a single yellow colour (hot standard), each start labelled hot.output (e.g. H1.1, H1.2 … H2.1, or with a named hot SR.1, SR.2 …). Everything respects Z‑up, so "from the top" follows the screen's physical top even when it is tilted or hung.
Manual patch: instead of the automatic distribution you can patch ports by hand. Click Manual patch in the Signal route section, then click panels on the screen to add them to the current port; press Next port to move to M2, M3 … Undo last removes the last panel, Clear all starts over, and Done finishes. Backup ports (R) follow each main automatically. A port can't take more panels than its pixel capacity allows — when it's full you're prompted to move to the next port. Switch back to Auto any time. The manual patch is saved with the project.
In ISO/3D the main port numbers (M), backup numbers (R) and hot.output labels (H1.1, H1.2 …) are shown as readable tags on the screen — toggle them with Show port/hot numbers in ISO. All cabling and power settings are saved with the project.
Import: images and 3D models (.obj) — see section 8.
Markings: a line (straight, editable length) or a circle (ring, editable diameter) drawn flat on the floor — useful for set marks and positions. They can be named, recoloured, tilted and moved like any other element, and carry no weight or DMX. They show up in plan view from above.
Custom types: click + Define custom type to create your own fixture — give it a name, weight, colour, a 3D symbol (moving head, PAR, wash, etc.), a DMX channel count and a Watts value (used by auto‑hot). Saved types appear under Custom in the dropdown and persist in your browser across projects (and are saved inside each project file). Adding one auto‑assigns the next free DMX start address, increasing by the channel count of each fixture. Each universe holds 512 channels: when a fixture won't fit in the remaining space, addressing rolls over to the next universe at address 1 (so address 513 becomes universe +1, address 1). This applies to auto‑assignment and to repacking. Set the universe, start and channel count per fixture in its editor; the info label and PDF show the address as #universe-address (e.g. #1-123). Use the ✎ Edit button next to a saved type to change its name, weight, colour, symbol or DMX — the change is applied globally to every element already placed of that type. Changing a type's channel count (e.g. switching a fixture to a larger mode) updates every placed fixture of that type and repacks all DMX addresses per universe so nothing overlaps. You can also do this from a single fixture's editor: set its DMX channels and click Apply channels to all of this type. The ✕ button deletes a type. While defining or editing a type a small live 3D preview shows the selected model in your chosen colour — drag it to rotate — so you can check the look before saving, and when you edit a type you stay in edit mode (a yellow banner shows which type; click + New type to start a fresh one). Under ⚙ GDTF data you can fix a bad GDTF import: set the fixture's real physical size (length/width/height in metres — this rescales the 3D model) and edit its DMX modes (rename them or correct the channel count/footprint); fixing a mode's channel count updates every placed fixture using that mode. You can jump straight here from any placed fixture with the ⚙ Edit type data · size & DMX modes… button in its editor.
4. Select, move and edit
Select: click an element (or a rigging point) in the 3D view; the list scrolls to it and its editor opens. With Auto‑open Edit ticked (above the element list), selecting anything opens its editor and closes any other — so only one editor is open at a time, and the list always scrolls to the current selection even if another editor was open. Untick it to open and keep editors manually.
Move: drag along the floor; Shift‑drag or right‑drag changes height. Rotate shortcut: hold R and drag an object left/right to spin it around its vertical axis. Mounted fixtures rotate and move with their truss, and a softbox mounted on a fixture follows that fixture when it is moved or rotated.
Edit (button in the list) gives: name, colour, position, rotation, size/length/diameter, weight, info label (Top/Side — the label rotates with the object and sits just above/beside it), and lock. The rotation field has four quick orientation buttons (0° / 90° / 180° / 270°) that turn the element straight to that heading. Fixtures also show Size (%) to scale the model, and Hangs on; the Astera Titan Tube shows Tube length; softboxes show Width/Height/Depth; images, models and the adjustable softbox get full X/Y/Z rotation, Mirror, and Place‑on buttons. Number fields have their own up/down arrows beside the box.
Right‑click an element in the 3D view to open a pop‑up editor — the same full editor as in the list, but in a centred window (a right‑drag still orbits the camera / changes height, so only a right‑click without moving opens it). At the top a Switch fixture / Switch truss·rig dropdown lets you change the element to another type (fixtures → any fixture model, truss/pipe → any rig type) while keeping its position, name, DMX and rigging; the editor below then rebuilds for the new type. If the right‑clicked element is part of a multi‑selection, the switch changes all selected elements of the same kind at once (the button shows the count, e.g. "Change (6)"). Right‑clicking an MX1 crossbar also shows an Add fixture row — pick a fixture and click + Add to hang it straight on that crossbar (centred, bound to it), so you can build a ladder fixture‑by‑fixture without dragging. Close it with the Close button or by clicking outside the window.
Lock prevents accidental dragging (shown with 🔒). A locked element can still be nudged with a key held: hold Z and drag to move it up/down (height), or hold M and drag to move it on the floor (X/Y) — handy for fine‑positioning a fixed element without unlocking it. By default a locked element is also click‑through: dragging on it pans/orbits the camera (in plan view and ISO/3D) instead of grabbing it, while a quick click still selects it so you can edit or unlock it. Turn this off with the Locked click‑through button (top‑left) if you'd rather a click always selects the locked element. Weight is editable on every element. Hide (the 👁 button in the element list, or the checkbox in the editor) hides an element visually — it vanishes from the 3D view, plan view and PDF but still counts in the weight/load totals (shown with 🚫). The Transparency slider in the editor makes any element see‑through. Images and imported 3D models don't block the mouse in either the ISO/3D or plan view, so you can orbit, pan and zoom through them; you can still place one with the mouse right after inserting it, and to grab and move one afterwards hold the M key while dragging (or select it from the element list to edit).
Rename / number (in the selection panel, under Select): give elements new names counting up from a start value you type, e.g. 101 or LX101 — the trailing number increases while any prefix and zero‑padding (001 → 001, 002 …) are kept. Two ways: Number by click order… asks for the start value, then every element you click gets the next number in the sequence (101, 102, 103 …) — click them in the order you want them numbered, and press Esc (or the button again) to stop. The element you just named is marked with a green ring and a floating name tag so you can see exactly which one got which number and don't lose your place. Number selected · left → right renames all currently selected elements at once, ordered left‑to‑right the same way Auto‑hot reads them — grouped per truss (LX) and left‑to‑right as seen from the centre of the studio, so a circle truss follows the ring (seen from inside the centre) instead of jumping across; elements not on a truss fall back to screen X. Both take one undo step. Because Auto‑DMX addresses in fixture‑number order, numbering a round truss this way then makes its DMX come out right too.
Delete from the list. The list has its own scroll area so the panels below stay reachable.
5. Attach to trusses & hang underneath
Release a fixture near a truss/pipe and it snaps to the underside. Other hangable items (set pieces, models, images) also snap to the underside when dropped close to a rig. In a fixture's editor, Hangs on chooses the truss (Auto = nearest / None / a specific one). Moving or trimming a truss carries its mounted fixtures with it. On a circle truss a fixture is automatically turned to point in toward the centre (radially) when it snaps on, so every fixture on the ring aims at the middle.
Drop arm (Avenger C820): add it from the element dropdown to hang a fixture below a truss rather than right on it. It's a thin vertical arm whose clamp grips the truss (or a pipe) at the top and whose stirrup holds a fixture at the bottom — handy when a fixture needs to sit lower than the rig. Snap its top to a truss or a pipe like any hangable item; then drop a fixture near its bottom (within ~0.6 m) and the fixture hangs there and binds to the arm (its softboxes follow). The arm's length is editable — a Drop length (m) field in its editor (0.8–4 m, default 1.2 m, matching the C820's ~1.2–2.0 m range); changing it rebuilds the arm and moves any fixture on the bottom up or down with it. Arm length and the fixture it carries are saved with the project. In the PDF's LX measurement strip a drop arm also shows, in grey, the fixture hanging on it (↳ name), next to its DMX/hot info.
6. Rigging points & load
All rigging points sit on their own fixed Rigging points layer, so you can show/hide them all at once from the Layers panel (or the plan‑view layer buttons) just like Lamps, Rigging, Set, etc.; hiding the layer only affects the view — the points still count in the load calculation. The Rigging points section is collapsed by default — click its heading to open it. Pick a marking (H = ceiling, P = wall), set the WLL, click Place point, then click a ceiling or wall. You can click a point in the 3D view to select it (it enlarges and its editor opens). Edit a point to rename it, set X/Y/Z and WLL, and tick which trusses it carries. Each truss's load is distributed to the points carrying it by moment balance (the see-saw principle), not split equally: a heavy fixture hanging near one point loads that point far more than the far one. With two points the calculation is exact; with three or more (statically indeterminate) each load is shared between the two nearest points around it, which is the standard rigging approximation and errs on the safe side. A load hanging outside the points (cantilevered) is carried fully by the nearest one. The Load summary (also collapsible) shows total hanging load, load per point, load per truss, and warns when a WLL is exceeded.
Chain blocks & hoists: add a Chain block (manual), Electric hoist (motor) or Electric hoist (upside‑down) from the Rigging group. A hoist connects a ceiling point (its top) to a truss (its bottom): drop it near a point and it snaps its hook to the point, then finds the truss under it and lifts it. Set the capacity (from a list or a custom value) and the chain length (24 m default — used for the self‑weight, which is motor body + chain based on real CM Lodestar data and still fully overridable). The Chain drop is the reach in 3D: change it and the truss is raised or lowered to match. When several motors hold one truss, extending just one makes the truss tilt (that end drops) — and any fixtures, pipes and other elements mounted on the truss tilt with it, staying fixed in place as if clamped on (they follow both the height change and the tilt angle). To move the whole truss up or down without tilting, use the Move whole truss field (drives all its motors together, live) or the Level truss button in the motor's editor, or select several motors and set Motor chain drop in the selection panel. The hoist's full weight (motor + chain) is counted on the ceiling point it hangs from — never on the truss it lifts.
7. Truss measurements
In a truss's editor, tick Show measurements to list each mounted fixture's distance from the left end and draw a dimension chain between the fixtures in plan view. These also appear in the PDF. The Truss meas: on/off button (top‑left) hides or shows the measurement chains on the top views (plan view and the PDF top plot); the measurement list/table in the PDF is always included.
DMX: every fixture (built‑in and custom) gets a DMX footprint — a sensible default channel count is pre‑set per type and a free start address is auto‑assigned, increasing by each fixture's channel count. In a fixture's editor set the universe, start and channels (set channels to 0 to disable DMX for that fixture). In the selection panel the DMX (by fixture number) row has three buttons that all work on the selected fixtures in fixture‑number order (they read the number at the end of each fixture's name and go ascending, so any numbers you set with Rename / number are respected; fixtures with no number go last). Auto‑number re‑addresses them stacked from address 1 of the universe in the U box (change U and the addressing follows into that universe). Set from here does the same but starts from the exact U @ address you type. Set universe U · keep address only moves the selected fixtures to the universe in the U box without touching their start addresses — use this when you just want to bump fixtures to another universe and keep their patch. The label and PDF show the address as #universe-address (e.g. #1-123). When a fixture carries several DMX modes — for example after importing a .gdtf file, which reads every mode and its channel count — a DMX mode dropdown appears in the editor; pick a mode and the channel count follows automatically (choose Custom to type your own count). The channel count is the mode's real DMX footprint read from the file — 16/24‑bit channels that span two or three addresses are counted correctly, not just the number of channel objects. Switching mode updates the DMX channels field below, and in Auto addressing it reflows all addresses so the new footprint is respected and nothing overlaps (in Manual addressing your numbers are left untouched). The selected mode and its channel count show on the fixture‑label export (its own MODE field / DMX mode CSV column). Each fixture also has a free‑text Cable/PU out field next to its DMX address — type a cable or processor‑output reference (e.g. A1) — and it can be set when adding a fixture (toolbar), per fixture in its editor, or on many at once via Set on selected in the selection panel. It shows on the fixture's label, in the plan‑view overlay, and in the PDF report and fixture‑label export (its own Cable/PU field / CSV column) alongside the DMX address.
Power (Hot): each fixture also has a free‑text Power (Hot) field — type a power/circuit reference such as Hot 1.1. It appears in the label, the plan‑view overlay and the PDF report alongside the name and DMX address. Auto‑hot: to fill these in automatically, give each fixture type a Watts value (in its custom‑type editor) — or set Watts on an individual fixture in its own editor to override the type default for that one fixture — then use the Auto‑hot… button (sidebar) which opens a menu where you pick the scope — All fixtures, just the Selected ones, or a single LX — set the amps/output, volt, start hot, max fixtures/output and phase mapping (two quick presets — Pairs · 112233 and Rotating · 123123 — fill the phase field, or type your own six numbers), and run it (the same auto‑hot is also available inside a truss's editor as Auto‑hot this LX). The menu also has an Auto‑hot video section: choose All screens or a single one (One screen, picked from a list — the same way you can auto‑hot a single LX), set the hot number they start from (After fixtures continues straight after the fixture hots), and run it — so screens and fixtures share one continuous hot series. It assigns hots the same way as the video power: each hot carries up to 6 outputs, each output up to the chosen amps per output, and a hot is used on one truss (LX) at a time — a new truss starts a fresh hot, leaving any spare outputs on the previous hot empty rather than running a cable to another LX. Set A/output, Volt and the Start hot number in the truss editor. You can also set Max fixtures/output (0 = no limit): a fresh output is started when either the amp limit or that fixture count is reached — handy for low‑wattage fixtures where amps alone would put too many on one output. Phase per output lets you define how the 6 outputs of a hot map to the three phases: type six numbers (1/2/3), e.g. 1,1,2,2,3,3 (pairs) or 1,2,3,1,2,3 (alternating) — the PDF phase summary and each fixture's info use this mapping. Fixtures get tags like H1.1, H1.2, assigned left‑to‑right as seen by someone standing in the centre of the studio facing each truss — turn 90° to the next truss and it reads left‑to‑right the same way (on a circle truss you instead stand in the centre of the ring and the order runs left‑to‑right as seen from inside), and you can still edit any fixture's Hot field by hand afterwards to move it to another hot. Typing a Hot address by hand locks that fixture — auto‑hot will skip it (leaving your address untouched) while still counting it in the loads, phase summary and PDF. The fixture editor shows "manual (locked)" and an Unlock button to hand it back to auto‑hot. A selected fixture's editor also shows its own watts/amps and the total load on its output (with its phase) and its whole hot. A fixture hanging on a drop arm is counted on the same LX as the truss the drop arm hangs from. A fixture on a pipe is counted on the truss the pipe hangs from — or, if the pipe hangs free, the pipe itself is treated as its own LX. Hot labels: the Hot labels item in the Export & PDF menu opens an editor with one label per hot — both fixture hots and video‑screen hots, numbered in one continuous series (each label notes its source). Fixture outputs show the fixture type and number (first – last when an output feeds several); video outputs show the screen and a short R/C code (R + row number for horizontal distribution, C + column number for vertical) describing which part of the screen the output feeds. Every field is editable (orange border = edited), empty outputs stay blank for hand notes, and edits are saved with the project. You don't have to start from the model: a Data source row lets you Import CSV… (columns Hot, Note, Out1–Out6; a two‑line output cell is kept) or start a Blank sheet of a chosen number of empty labels, and either can be edited in the same cards — Use model data switches back to the auto‑filled hots. Export CSV writes the current labels out (a handy template to edit in a spreadsheet and re‑import), and import/blank work even before you've run auto‑hot. Set the label size in cm and the text sizes (number / type), and click Export labels PDF for a separate document with the labels tiled on A4 pages ready to print and cut — each field shows the fixture number large across the top, a faint "Fixture" mark, and the type set vertically below.
Fixture labels: the Fixture labels item in the Export & PDF menu makes a small label per fixture with its number, type, LX, DMX, DMX mode (mode name and channel count, e.g. Extended · 36ch), Cable/PU out, hot address, XYZ position and distance from the LX end — to stick on the fixture itself. Choose the Data source: From model (all fixtures or just the selected ones), Import CSV… (same columns as the exported CSV — Number, Type, LX, DMX, DMX mode, Cable/PU out, Hot, X, Y, Z, DistFromLXEnd — with column order, extra columns and comma/semicolon all tolerated), or a Blank sheet of a chosen number of empty labels. Whichever source you pick, an editable table shows one row per label with every field, so you can correct or fill in values before printing — + Add label and the × per row change the count, and edits apply to the printout only (the model is unchanged). A blank sheet keeps the field headers (LX, DMX, HOT …) so you can hand‑write on the print, or type the values in the table. Then export three ways: an A4 sheet in a standard Avery format (pick the size to match the print‑your‑own labels you buy), a roll PDF with one label per page at a chosen tape size for a label printer (Brother, DYMO, etc.), or a CSV for the printer's own software.
8. Free measuring tool
Click Measure (top‑left; it switches to plan view automatically). Click a start point then an end point to draw a double‑arrow dimension line showing the distance — the arrows point outward to the two points. Keep clicking for more. Delete a line by clicking on it, use Clear meas. to remove all, or press Esc to cancel the current line / remove the last. Measurements are free (no snap), shown in plan view, and saved with the project.
9. Images & 3D models
Import with Image or 3D model (.obj). In the editor: Place on (Floor / Ceiling / Wall N‑S‑E‑W) orients and positions in one click; Mirror flips along an axis; the three rotation fields tilt freely. Models are auto‑scaled to fit and given an editable weight. Images become a flat panel sized to their aspect ratio. A 3D model also has a Horizontal cut: two sliders (top and bottom, as a percentage of the model's height) show only the slice between them — handy for revealing just the floor level or a single deck of a venue model. Reset cut restores the full model. Imported 3D models come in at 10 % opacity by default, so they sit as a faint reference you can rig over; raise it with the Transparency slider in the editor if you want the model more solid. You can also recolour a model: the editor's Color picker tints the whole model to any colour you choose. Calibrate size: if an imported model comes in at the wrong scale, click Calibrate size, then click two points on the model that span a dimension you know the real length of (e.g. a door, a truss, a stage edge), type that real length in metres, and the whole model is scaled uniformly to match.
10. Save, open & export
Select & distribute: the Select button (top‑left, plan view) turns on select mode — click an element to select just it, Shift‑click to add/remove, or drag a box to select every element inside it. With one or more selected, a panel appears. Most tools work on a single element too (rotate, nudge, set a value, rename, lock, labels, move to layer, change fixture type, DMX) — only Distribute needs two or more. You can distribute the selection: evenly along the truss they hang on, with a fixed spacing along the truss, or evenly / fixed spacing along an axis (X or Y) regardless of truss. Set the spacing in metres where relevant and click Apply; the order of the fixtures is preserved. On a circle truss the fixtures are spread around the ring (by angle) instead of in a straight line. The panel also lets you set one value on every selected element at once — pick Height (Z), Position X, Position Y, Colour, DMX universe or a Power tag, type the value and click Set. Height is handy when a truss should hang at a different level than its fixtures: select just the truss and set its Z (the fixtures stay where they are). For X/Y, fixtures on a truss move with it. To tidy fixtures that sit in a zigzag across a truss, select them and use Align on truss — Front chord or Back chord — to line them all up on the front or back pipe of the truss (works even when the truss is turned or tilted); distributing them afterwards keeps them on that chord. The panel also lets you copy the whole selection at once with the ⧉ Copy selection button (under Organise): it duplicates every selected element a little offset from the originals and makes the copy the new selection so you can drag the whole cluster into place. The copy carries everything over — position, rotation, size, colour, labels, DMX, power and all other settings — and keeps the structure intact: mounted fixtures and pipes follow their copied truss, softboxes follow their copied fixture (re‑snapping to the new lens), and a snapped‑together truss group stays linked so the copy moves as one. The panel also lets you name the whole group at once (they become "Name #1, #2, …"), lock or unlock all, turn info labels on or off, and change the fixture type of all selected fixtures at once (position, rotation, DMX address, name and rigging are kept; only the fixture model and channel count change). You can also DMX‑address the selected fixtures in selection order: Auto‑number assigns consecutive addresses from the first free slot (rolling over universes at 512), or type a universe and start address and click Set from here to address them from that point on. You can also Auto‑hot the selected fixtures: set A/output, Volt, Start hot and Max fixtures/output, and click Auto‑hot selected — it assigns hots to just those fixtures (grouped per truss, same rules as the truss and global auto‑hot). Two more group tools: Rotate each selected turns every selected fixture in place around its own axis — use the 45° / 90° / 180° / +5° buttons — handy for re‑aiming a whole row at once; and Nudge all selected together moves the whole selection in one direction (X, Y or Z) by a chosen distance, the quick way to shift a group of un‑snapped elements into place. The ✕ clears the selection.
Groups: select two or more elements and press ⛓ Group (in Organise) or the G key to bind them into one named group; Shift+G ungroups again. A grouped set moves as a single unit — drag any member and the whole group follows (with each member's fixtures and softboxes). Each group also gets its own entry at the top of the element list, where you can rename it, move the whole group in X / Y / Z, and tilt it around its centre; Delete there dissolves the group but keeps all its elements. A Groups layer appears automatically whenever something is grouped, so you can show/hide all groups together. Groups are saved with the project and survive copying.
New project: clears everything back to an empty studio — no elements, DMX addresses, names, points or measurements left over — so you can start from scratch. It always asks for confirmation when there is anything on screen, so you can't wipe a design by accident; your custom‑type library is kept.
Save project / Open project: stores the entire design — room, elements, imported geometry and images, rigging points, and measurements — in one self‑contained .sldt.json file. The app also auto‑saves to the browser after every change and offers to restore that copy next time you open it; as an extra backup it periodically auto‑downloads a …-autosave.sldt.json file. Auto‑save can be turned on/off with the ⟳ Auto button next to Save/Open. If you try to close the tab with unsaved changes, the browser warns you first. Project files are backward‑compatible — files saved by older versions always open, with any missing settings filled in automatically.
JSON: a structured data export of the layout.
Fixture library: in the custom‑type panel, Add fixture from library… opens a searchable list of real fixtures with their real weight, wattage and DMX modes. Two tabs: Bundled is a built‑in set (Martin, Robe, ARRI, ETC, Chauvet, Ayrton, GLP, Clay Paky, Astera…) that works fully offline; Online · GDTF Share searches the whole GDTF Share database live and imports a fixture straight from its .gdtf file — reading the model's real weight, wattage, DMX modes and physical dimensions (the 3D model is scaled to the real fixture's proportions). Search by name or manufacturer, then Add one at a time; it becomes a custom type you can place, and its wattage feeds the auto‑hot power calculation. If a GDTF file has bad data, you can correct the size or the DMX‑mode channel counts afterwards under ⚙ GDTF data in the custom‑type panel (or via the Edit type data… button on any placed fixture). The Online · GDTF Share tab asks you to log on with your own GDTF Share account (gdtf-share.com). Search and download go through the Netlify proxy over HTTPS (the browser cannot keep a GDTF session cookie because of CORS). Host the app on Netlify so the functions run; a local python static server cannot. The app still works fully offline on the Bundled tab. There's also an Import .gdtf file… button to add a fixture from a .gdtf file on your own computer — this works fully offline, no login needed. You can also build a custom type by hand below.
MVR (My Virtual Rig): under Interchange in the Export & PDF menu you can Export MVR — an open‑standard .mvr file (a ZIP with a GeneralSceneDescription.xml) carrying every fixture, truss and video screen with its position, rotation and DMX address, for exchange with Vectorworks, MA, previz and consoles. Import MVR reads an .mvr and places its fixtures at the right positions with their DMX. This is a first version: it moves fixtures, position and patch, not full 3D geometry or GDTF fixture models yet.
Export & PDF menu: all output functions are gathered under the Export & PDF… button (sidebar). It opens a menu with the PDF report, Hot labels and Fixture labels under Documents, and Save project and Export JSON under Project file. Pick one to run it.
PDF report (A3): the report is built on A3 pages. The first three pages each hold one full‑page view, rotated to fill the whole sheet edge to edge: page 1 — top plot (with truss measurements), page 2 — side view, page 3 — the iso/3D view. The top plot follows your current plan‑view zoom and pan, so frame the area you want in plan view before exporting and the PDF captures exactly that; the iso page likewise matches your 3D view. After the views come element data, per‑truss and per‑point loads, and measurement tables, plus a combined power‑hot summary that lists every hot — both the auto‑assigned fixture hots and the video‑screen hots — in one continuous series (Hot 1, Hot 2 …), each tagged with its source, with the watts and amps per output and per hot, and a total load per phase summed across all hots (fixtures + video), with the imbalance, and a grand total showing total power in kW, the amps on the busiest phase, and the single‑phase equivalent. On the top plot, element names and measurements are drawn in plan‑view style — small gold text with no background box, just a thin outline for legibility. Names include the DMX address and Power (Hot) value. A final section shows a per‑truss measurement view: each truss is drawn as a bar with the distance from its left end to every mounted fixture and pipe. A circle truss or circle pipe can't be measured as a straight bar seen from the side, so it is instead drawn seen from above as a ring — each fixture is a numbered point with the arc distance to its neighbours shown around the ring, and a numbered list below gives each fixture's name, DMX and hot. Each label also carries the fixture's DMX address and Hot value on one side and any snapped softbox on the other, and labels that sit too close are automatically stepped down to separate levels with a connector line, so nothing overlaps. If the layout uses MX1 uprights, the report also adds a per‑MX1 elevation page (seen from the side). Uprights joined by crossbars are drawn as a ladder — both pipes side by side with the crossbars as horizontal rungs between them at their real heights; a standalone upright is drawn as a single bar with its crossbars as stubs. Each pipe shows its holes as ticks, and the text above every crossbar gives its width, its height from the top (like the LX distance from an end), its floor height (Z), and any lamps on it with their DMX/hot. If the layout contains any video screens, the report adds a dedicated page per screen with the panel count, resolution and weight, the signal‑ and power‑cabling diagrams (drawn separately, seen from the front, with main‑port/backup/hot labels), the controller and fiber‑box count, and the per‑phase and per‑output power tables.
11. Keyboard & mouse shortcuts
A quick reference to every shortcut. The hold‑key shortcuts (A, R, M, Z) only work while the key is held — release it to go back to normal. Shortcuts are ignored while you're typing in a text field.
Edit — Ctrl/⌘+Z undo (up to 500 steps) · Ctrl/⌘+Shift+Z or Ctrl+Y redo.
Copy — Ctrl/⌘+C or Ctrl/⌘+V duplicates the selection next to itself (with mounted fixtures, pipes, softboxes and group links). One element copies that element; several copy the whole group.
Hold A + click — add another copy of the selected element at the click point.
Hold R + drag an element — rotate it about its vertical axis.
Hold M + drag — grab an image / 3D model, or move a locked element across the floor.
Hold Z + drag — move an element freely up and down in height (Z = height). It stays where you drag it; use H if you then want to snap it exactly onto a truss. Holding Z also lets you raise/lower a locked element.
G — bind the current selection into one named group (moves as a unit); Shift+G ungroups it again. The name comes from the group‑name field in the panel, or an automatic one if it's empty.
H — set the height of the selected fixture(s)/pipe(s)/drop arm(s) to the truss they hang on, so a fixture you've dragged up or down snaps back onto its rig.
Shift‑click (in select mode) — add/remove an element from the selection.
Enter — in the panel's name / value fields, applies the field (same as clicking its button).
Esc — cancel the current measurement line (or remove the last one) and close this manual.
Mouse: left‑drag empty space = orbit · right‑drag or Shift+drag = pan · scroll wheel = zoom · right‑drag or Shift‑drag an element = change its height (in 3D view).
Delete — elements are removed with the Delete button in the element list (no destructive keyboard key, to avoid accidents).
Reopen this manual any time with the ? button in the top‑right. All load figures are indicative estimates and do not replace proper structural documentation.