Simpler arm length formula
Make arm length ratio dependent on angle (matching circular arc bezier
approximation formula) rather than chord length.

Render to cubic beziers
Use integration to accurately compute control points for a cubic bezier
rendering.
The subdivision scheme is simplistic, but this is definitely a
significant improvement from brute force rendering.

Use sophisticated numerical integration
Use Gauss-Legendre quadrature to characterize the curve, in favor of
crude Euler integration.
Rendering is still done by brute force.

Analytical computation of thetas
Use closed form analytical formula to compute thetas, rather than crude
numerical integration.

Better calibration
Smoother mapping between curve handles and parameters.

Better solving
The chord is computed based on bezier arclength rather than part of the
solving cycle. That makes solving more robust.
Calibration is still not completely smooth, but feels like it's getting
better.

Attempt secant solving
Doesn't work, the function is too nonlinear :/

Better calibration
The bias value calculation feels better. It might not be perfect, but
is probably good enough.

Draggable control handles
For the first time, actually able to use bezier-like UX.

Crude solver
Not robust at all, and the slider-based UX is bad (should be able to
drag points around), but a first cut it kinda works.

Rough calibration
This the first cut of forward mapping of raw params to corresponding
bezier params. It may not be perfect but is probably close enough.

Infer bezier from curve
The length of the control arms are not calibrated, but it lets you
compare the two curve families side by side.

Integrate curve
This actually starts rendering the curve family, using raw parameters.
The next step is to map bezier handles to those parameters.

Update high-tension basis function
This one is simpler mathematically and closer to actual bezier behavior.

Start experimental platform for bezoid curves