pub fn resolve(
a: &IfsTable,
b: &IfsTable,
morph: f32,
levers: Levers,
) -> IfsTableExpand description
The pure function everything safety-critical lives in — no GPU, no clock, no randomness (ADR-0075).
Interpolates two figures in SVD space, map by map, paired by index: singular values and translations lerped, angles taken along the shortest arc, probabilities lerped. Then applies the four levers, in the same space.
The morph is contractive by construction and there is no clamp making it so.
A lerp of two values below 1 is below 1, and the angles do not enter
contractivity at all — so if both endpoints converge, so does every point on
the path between them. Of the levers, only vigor can reach the cliff, and
it is held under SIGMA_CEILING by one comparison on one number.
Degenerate maps stay legal rather than being special-cased: the fern’s stem
is rank 1 (sx = 0), and morphing a reflection into a non-reflection passes
through sy = 0. Both are contractions — the branch momentarily collapses to
a line and recovers.