Canonical piecewise interpolation on closed subdivision faces #
A PiecewiseData describes a path potential by its successive block ends and
the total rise of each block. The slope inside a block is not supplied by a
certificate: it is the canonical integer interpolation slope for that block's
length and rise. Thus the only interior coefficients which a leaf needs to
check separately are the block boundaries.
The data deliberately uses a selector rather than a list traversal. A lowerer
can decode its finite block list into blockAt; covers is the small,
arithmetic statement that the selected block contains every surviving unit
step. This formulation is also meaningful on a closed face: a zero-length
slot has no selected step, and balance then forces its two endpoint values to
coincide.
The canonical slope at a unit step, selected from its containing block.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Block-end/rise data for a canonically interpolated piecewise script.
blockEnd e j is the right endpoint of block j; the preceding endpoint is
blockStart e j. blockAt selects the block containing a surviving step.
The latter is intentionally a semantic finite-data interface: list indexing,
ordering, and affine endpoint decoding belong in the lowering layer, while the
proof below only needs the displayed containment inequalities.
The selected block for a slot and unit-step index; the containment laws constrain every surviving step.
The right endpoint position of each block on each slot.
The prescribed total integer rise of each block, used to determine its canonical interpolation slopes.
Instances For
Inside a declared block, the selected slope is exactly that block's canonical interpolation slope. This is the direct W2-facing reading of a block endpoint/rise pair.
W2 bounds on the total rise of the selected nonempty block bound every canonical unit slope of its integer interpolation. This is the precise bridge used by a rich leaf's W4 boundary residual: it does not assume that the endpoint list has no repeated entries.
The upper-half of the selected canonical slope bound.
The path values obtained by accumulating the canonical selected slopes.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The resulting firing script on the contracted subdivision.
Equations
Instances For
Exact endpoint formula at a contracted core class. In particular this retains all collapsed slots; their two displayed endpoint terms cancel.
The quotient-core version of the endpoint formula. It expands a contracted class into its original core vertices, which is the form needed to combine W5's per-anchor residuals with chips that have slid onto a face.
Exact interior formula: the coefficient is the jump of the two selected canonical block slopes.
Away from a block boundary the two adjacent unit steps are selected from the same canonical interpolator, hence the interior coefficient is non-negative. W4 need only check the omitted boundary case.