Repository navigation
v0.9.0 — the fire pass
The fire pass
The old flames were bonfire-shaped. Every 32 m cell of fire drew one smooth
symmetric mound, so a fire front read as a row of giant campfires — and scaling a
campfire's silhouette up to wildfire size is exactly what it looked like.
They are now built from the fire's own behaviour instead of from a lookup table
per fuel type:
- Flame length, band depth and lean all come from fireline intensity — how
many kilowatts per metre of front the fire is actually putting out. A grass
fire lies over at about 46° with metre-scale flames; a crown fire stands nearly
upright with ten-metre ones; and the slow back edge of a fire draws visibly
shorter flames than the head racing away from it. - The burning band runs along the front. It used to run along a fixed world
axis no matter which way the fire was travelling. - And it is deeper than it is tall, which is the shape a spreading fire's
flaming zone actually has. - Flame colour is a temperature. There is no blue in it any more, because a
sooty flame that cool has none to emit — that was the "gas burner" tell.
Flames no longer glow through daylight, because a real one is dimmer than
sunlit dry grass.
The smoke column rises on the standard buoyant-plume law rather than an invented
one, widens the way plumes are measured to widen, bends over where the updraft
stops beating the wind rather than at a fixed height, and takes its strength from
the fire's heat output — so a big fire punches a column a small one cannot.
Fixed
- The ocean was painting over the smoke. The sea is a 16 km transparent
plane, and without a draw priority it sorted in front of the plume and erased
it wherever sea was behind the smoke — a straight cut at the horizon. This was
never smoke-specific: everything transparent seen against open water was
affected, including the spray under the aircraft during a bucket dip. - The benchmarking harness had been measuring the wrong place for any
fire-anchored viewpoint. - Fuel consumption was being discounted twice, putting cured grass well below
what it really carries.
Performance
Faster than the version it replaces, despite all of the above — close pass on a
burning ridge goes 131 → 137 fps, the 1% low 94 → 123, and the worst frame
19.2 ms → 8.7 ms.
Known open
The fire-sim harness's terminates check still fails exactly as it did before
this pass. Flame orientation is uniform across a fire — length and depth vary
cell by cell, but the sim has one wind direction, not one per cell. Looking
straight up into the plume from directly underneath, the sprites are still
countable.
macOS: universal (Apple Silicon + Intel), ad-hoc signed. Gatekeeper will
object to an unsigned app: System Settings → Privacy & Security → Open Anyway.
Windows: x86_64.