lightbox
The lifetime of **Standing Ovation**'s light rig. Add it to the scene's `Lightbox` anchor and the theatre has its worklight, its fourteen footlights, its followspot, its chandelier and house coves, its haze, its rain, its dust, its falling plaster and its post chain, all running…
lightbox (component)
The lifetime of Standing Ovation's light rig. Add it to the scene's
Lightbox anchor and the theatre has its worklight, its fourteen footlights,
its followspot, its chandelier and house coves, its haze, its rain, its dust,
its falling plaster and its post chain, all running on the film clock. Remove
it and every one of them goes.
entity.find("Lightbox").component.add(
asset.resolve("lightbox.lightbox", "component"), {})
The work itself lives in lightbox.lightbox (the module). This file is only
its scope — and that is the whole reason it exists. The volumetric march, the
depth of field, the shutter, the exposure meter and every particle emitter are
acquired in whatever resource scope creates them, and a scope that ends takes
them with it. A rig stood up from a one-shot execute therefore reads back as
live and draws nothing a second later. A component's scope is its entity's, so
the rig lives as long as the anchor does.
Methods
:report(t?) | What every source is doing at film second t (default: now) — level per fixture, the followspot's aim, the haze density. The call to make before reading a screenshot when a frame is darker than expected. |
:rebuild() | Tear the rig down and build it again from the module as it stands. |
Fields
built | Whether the rig is standing. |
fixtures | How many lights it put in the world. |
After editing the module
A module hot-reload does not re-run awake, so the rig in the world is still
the one the previous revision built. Remove the component and add it again:
local anchor = entity.find("Lightbox")
anchor.component.remove("lightbox.lightbox")
anchor.component.add(asset.resolve("lightbox.lightbox", "component"), {})
That runs awake in the component's own scope, which is what the rig needs to
outlive the call.
Scoped to this part · feeds back into the world's score.