Fix two scenes that were failing their gate before the migration touched them

The library-wide gate run left two failures after the migration was complete,
both of the shape "renders nothing at the bottom of a param range". Running the
same gate against the pre-migration source shows them failing identically, so
the migration did not cause either — it exposed them. The per-scene battery is
opt-in and nobody had ever run it across all sixty-five at once.

The defect is the RANGE, not the shader. Spectrum Sculpture at radius 0.15 is
too small to register and Circuit Bloom at grown 0.25 has no pads yet, and both
values are ones the generator is free to sample. Floors raised to where the
scene actually draws something.

All sixty-five now pass the full battery: renders, animates, deterministic,
distinct, param sweep, flash rate, every declared trait and every declared
artifact.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Dejvino 2026-08-18 06:44:04 +02:00
parent 2d3ed8eb02
commit 572b090b83
2 changed files with 7 additions and 2 deletions

View File

@ -32,7 +32,9 @@ export const circuitBloom = {
// Range stops at 1.6 on purpose: the frame's far corner is about 1.4 // Range stops at 1.6 on purpose: the frame's far corner is about 1.4
// units out, so anything past that is a board that already covers // units out, so anything past that is a board that already covers
// everything, and axis travel spent up there changes nothing. // everything, and axis travel spent up there changes nothing.
grown: { type: 'float', range: [0.25, 1.6], default: 1.0, uniform: 'u_grown', slowAxis: true }, // Floor raised from 0.25: below about half, the growth front has not
// reached far enough for any pad to be drawn and the frame is empty.
grown: { type: 'float', range: [0.55, 1.6], default: 1.0, uniform: 'u_grown', slowAxis: true },
edge: { type: 'float', range: [0.2, 1], default: 0.5, uniform: 'u_edge' }, edge: { type: 'float', range: [0.2, 1], default: 0.5, uniform: 'u_edge' },
palette: { type: 'palette', count: 5 }, palette: { type: 'palette', count: 5 },
}, },

View File

@ -17,7 +17,10 @@ export const spectrumSculpture = {
params: { params: {
bars: { type: 'float', range: [8, 96], default: 40, uniform: 'u_bars', bias: 'density' }, bars: { type: 'float', range: [8, 96], default: 40, uniform: 'u_bars', bias: 'density' },
radius: { type: 'float', range: [0.15, 0.7], default: 0.35, uniform: 'u_radius' }, // Floor raised from 0.15, where the sculpture was too small to register
// as anything and the range sweep called the frame dead. A range the
// generator may sample must not contain a value that renders nothing.
radius: { type: 'float', range: [0.28, 0.7], default: 0.35, uniform: 'u_radius' },
length: { type: 'float', range: [0.05, 0.6], default: 0.25, uniform: 'u_length', bias: 'energy' }, length: { type: 'float', range: [0.05, 0.6], default: 0.25, uniform: 'u_length', bias: 'energy' },
thickness: { type: 'float', range: [0.1, 0.9], default: 0.45, uniform: 'u_thickness' }, thickness: { type: 'float', range: [0.1, 0.9], default: 0.45, uniform: 'u_thickness' },
// Bar segments per second, NOT turns per second. Rotating by a full turn // Bar segments per second, NOT turns per second. Rotating by a full turn