tigerwits Field notes / Interactive systems

Lab 001 · The realization bench

Different machinery.
The same meaning.

A library is more than its implementation.
Two ways to evaluate a curve. One contract for what the curve means.

Tiger Motion · Live API experiment
Fig. 01 / Curve comparatorShared input. Independent outputs.
Twin-carriage curve comparatorScarlet is de Casteljau; silver is the power-basis realization. Each carriage moves from its own implementation's position. The dial reports their observed difference. Use the labelled position slider below the figure.INPUTΔ POSITION
Turn the input with the slider below.Manual instrument · No idle animation

Drag, tap, or use the arrow keys. Home selects zero and End selects 1024. Both implementations receive exactly the same input.

Choose the authored curve

A gentle start. A gentle stop.

Interactive observations have not started.

One coordinate, two computations. Each carriage uses its own implementation’s position. The readouts also compare the tangents—the slope, not a velocity in time. Controls: 0, 0, 1024, 1024. The large dial shows position difference, with zero at twelve o’clock; the readouts retain both differences.

A contract, not a costume

Same answer.
Different API.

One realization captures a curve description. The other prepares polynomial coefficients. The contract connects their observations—not their method names, objects, or internal machinery.

A · de Casteljau
const curve = compile(
  bezier(0, 0, 1024, 1024)
);
if (!curve.ok) throw Error();

sample(curve.value, t);
tangent(curve.value, t);
B · power basis
const curve = prepare(
  [0, 0, 1024, 1024]
);

const { value, tangent }
  = curve.at(t);
What is being compared—and what is not?

A deliberately small contract

These four scalar cubics use integer controls between 0 and 1024. Inputs are exactly k / 1024. The displayed position and tangent come from native observations, not a visual approximation. The displayed values are rounded for reading; the equality check uses the actual native numbers.

The legacy API comes from this website’s pinned Motion package. The power API is an unchanged, source-pinned experimental snapshot from Tiger Motion. It does not replace the website’s stable vendor packages.

Evidence is not decoration

This page reports the current observation. The automated checks sweep every slider position for all four curves against a separate exact-integer Bernstein calculation. That is finite conformance evidence—not proof of JavaScript, all curves, or all platforms.

The apparatus follows Anatomy’s mechanism-first craft approach. Its geometry is illustrative: no collision-clearance audit, physical simulation, new Lean proof, or performance result is claimed here.