Mobster 0.0.1
First cut of the package, ready for integration.
Sources of guide geometry
Presets work. Six region frame responsive prototypes: Golden Ratio with quadlines and a selectable focus corner, Thirds, Columns, Rows, Ruler, Curve.
Direct paths work. update(paths:resolution:time:) takes geometry the caller has already prepared.
Source layers do not. path.interpret, path.decimate and path.complexity.cap have no implementation. A caller can hand raw stroke positions in as paths and it will run, silently skipping the decimation, curvature reinterpretation and complexity cap that Mobster is meant to own. Integration mode three in Documentation/Integration.md is defined by a source layer and is not available.
What is here
Boundary. No document model declared or imported. Identity crosses as an opaque unsigned integer, never dereferenced and never minted. The target side takes strokes carrying points with identifiers.
Field. Stores the nearest path location per texel rather than a distance, so direction is a subtraction and never a derivative of a sampled field. Exact, verified against a brute force reference across every preset, exterior geometry and placed Frames.
Guide. Tokens over a membership, targets through an inverse distance squared falloff, absolute time playback, dirty rectangles in scene coordinates, settlement on entering the settled condition.
Fixture and harness. A seeded population in its own target, because it mints identifiers and the library must not. A macOS harness drawing the field, guides, points and motion, with a slider for every magnitude.
Also missing
The adherence dial. guide.adherence.curve maps a zero to one control onto a reach and is unimplemented; the harness drives the reach raw in scene units.
The promise not yet made
Integration modes three and four persist a relationship rather than positions, so they recompute displacement on every document open. Determinism holds within a build, verified bit exact across separate processes. Two builds agreeing is a separate promise and nothing makes it. That is cheap to address before those modes ship and expensive afterward.
Verification
171 tests. Five reconciliations in Documentation/Reviews/. They found a preset wrong across three quarters of the field, a tie break resolved by loop order, a crash on a degenerate Frame, an incremental clock that broke scrubbing, and several requirements naming magnitudes no test could observe. The motion and guide correction cuts are not yet reconciled.