Our port vs the Godot-matched baseline · real frames off the live GPU · four camera moves, both looping
Two candidate baselines for the cloud shape, side by side from four angles. Colour is deliberately left out — that's the weather/time-of-day system, a separate job for later.
The shape math and nearly every value already match Godot exactly. The whole difference comes down to two values we'd locked away from Godot:
Both clips in each pair fly the identical camera path; the cloud field is frozen so the loop is seamless and only the camera moves. The grainy speckle is the static dither — the one remaining shape-quality item (Godot uses an animated blue-noise), independent of which baseline we pick.
Circling one cloud mass. Ours breaks into separate towers with open sky between them; the Godot-matched deck stays continuous all the way around.
Pushing in and pulling back along one line. Watch the amount of sky that sits between the clumps in ours versus the packed deck in the Godot-matched version.
Sliding sideways across the field. Ours opens gaps as it passes; the Godot-matched deck stays unbroken.
Rising and looking down over the deck. The fill difference is starkest from above — this is the classic "flying over the cloud sea" view, where Godot's deck lives.
Captured at 960×540, 24 fps, from the live three.js port (module=5 · atmo off · softknee 0.5),
field frozen (anim=0) so the loops are seamless. Everything but coverage & weather is held at the
shared faithful values. Colour excluded by design.