v0.3.2
Internal refactor + test hardening. No behavior change vs v0.3.1 — drawing, editing, export/import, and the overlay all work exactly as before.
What changed under the hood:
- The flat-only Draw latch and the lasso→fit→re-derive pipeline were extracted into pure, unit-tested modules (
core/draw-mode.js,draw-pipeline.js); the controller now delegates to them. - New test suite (45→80 JS tests): property-based geometry invariants, headless pipeline tests against a synthetic-surface adapter, an adapter-contract guard, a built-bundle smoke test, and CI on every push.
preflightHost()now fails loudly and names exactly which pycortex internal is missing if the host viewer drifts, instead of misbehaving silently.
See TESTING.md for what each layer guarantees.