Copy of coord.py (which is already pure numpy) into the private
underscored module to be consumed by upcoming mouse.py rewrite.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Hatchling's already picks up assets/;
force-include duplicated each asset and emitted a build warning once
real ONNX files landed. onnxscript is a transitive runtime dep of
torch.onnx.export (PyTorch 2.11+) — make it explicit.
Expands the 2026-05-11 design spec into ~40 bite-sized tasks across 6
phases (pre-flight golden capture, tools/ extraction, src layout switch,
ONNX export, NumPy/ORT rewrite, docs cleanup). Each task is self-contained
with full code blocks, exact file paths, and verification commands. TDD
where applicable; pure-move tasks use shorter scaffolding.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Captures the decisions made in brainstorming for 0.2.0:
- Split src/ai_mouse/ (pure-inference, numpy+onnxruntime only) from
tools/ (training/server/eval, torch+fastapi+...)
- Bundled ONNX weights via importlib.resources
- Public API: MouseModel/ScrollModel classes + cached generate() helpers
- ONNX export script with PyTorch parity check
- Golden tests to lock semantics during NumPy rewrite of post-processing
- 5-stage migration plan, git URL install, no PyPI
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
These post-processing hacks were added to compensate for small-data
training. With Balabit pretraining they suppress the multimodal
timing distribution and cause the template-y Δt curves seen in the
verify UI.