storm
Slice 3 of "Sexton's Bell" — the weather, and everything the storm does to the vale. Order 30, sentinel entity `Storm`.
demo.storm
Slice 3 of "Sexton's Bell" — the weather, and everything the storm does to the
vale. Order 30, sentinel entity Storm.
Everything here is a pure function of absolute film time t. It reads
film.strobe, film.rain, film.wind, film.windDir, film.wetness and the
film.STROKES table, and it invents no envelope of its own — the channel
geometry and the light slice's StormKey fire on the same frame because they
read the same number.
What it puts in the world
| entity | what it is |
|---|---|
StormCloudDeck | The ceiling. ~1000 very large soft sprites at 430 m, drifting downwind, lit from inside by the strobe. |
StormScud | The ragged low stuff at 175 m that crosses fast enough to see. |
StormRainFar | A 320 m curtain fixed over the vale, so 96 m and 130 m stations have rain between the lens and the chapel. |
StormRainMid | The main volume, riding the lens. |
StormRainNear | A small dense box at the lens for foreground depth. |
StormDoorRain | A curtain standing in the mortuary doorway, so an interior shot still has rain crossing the opening. |
StormSplash | Vertical ticks off the standing water around the lens. |
StormGutter | Water running down the kerb beside the sunk path. |
StormDoorFlood | Water finding its way in under the door, from t = 59.4. |
StormMist | Mist lying in the hollows, drifting at a quarter of the wind. |
StormBolt<i>_<v> / StormBolt<i>g_<v> | The channel for every fork stroke and for the strike, core and glow, three restrike variants each. |
StormSparks / StormSpireDust | What leaves the finial at 58.40. |
StormSlate1..10 | Ten slates off the roof, each on a ballistic arc that is a pure function of t. |
StormMantleSmoke1/2 | Smoke off the two dead gas mantles, from the strike onward. |
StormDraught | Rain-dust carried in through the open door. |
weather.set carries film.wetness(t) onto every surface in the world, so the
ground darkens and starts to mirror as the film runs.
The channel
A stroke is a polyline carrying two octaves of film.noise offset, drawn as a
cross-ribbon — two quad strips in perpendicular planes — so it has thickness
from any angle instead of vanishing edge-on. Branches leave the trunk in its
lower half and taper out. Each stroke gets three variants and the update swaps
between them at 22 Hz while the stroke burns, which is what makes it flicker.
A fork sits on its own bearing at clamp(km * 1000, 380, 2600) metres from
chapelCentre; the strike stands on SpireFinial itself and runs 640 m up, so
the contact point is exact wherever the vale slice put the finial.
Both bolt materials are unlit + additive with castsShadows = false, and
their base_color is rewritten every frame from film.strobe. A lightning
channel that casts a shadow lays a black branching slab across the whole
cemetery.
Two things worth knowing before editing this
The wind bearing is read as the direction the wind blows TOWARD. Read the other way round, the cell's own rain flies up the avenue into the lodge-gate lens in shots 1 and 14 and its vanishing point sits in the middle of frame as a vortex.
Particles do not seek. In play the ParticleEmitter component steps each
system once per rendered frame; in edit nothing ticks a component at all, so
this slice advances each system by the film time a seek actually covered. A
repeated seek to the same t advances nothing, which is what makes a
two-capture noise floor read zero.
Reading it back
storm.report(t) returns the strobe, the weather ramps, and every emitter's
live count, rate and brightness — for triage from execute, not used by the
film.
Scoped to this part · feeds back into the world's score.