Skip to main content

resolve

Function resolve 

Source
pub fn resolve(
    a: &IfsTable,
    b: &IfsTable,
    morph: f32,
    levers: Levers,
) -> IfsTable
Expand 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.