Release readiness — v0.1.0-alpha
Target: snapshot origin/develop as a publishable, merge-ready baseline.
Version: v0.1.0-alpha (unless JFW changes it).
Stable APIs (semver — no breaking changes in patch/minor)
These are the validated production paths. A user following the tutorial
(docs/TUTORIAL.md) stays entirely inside this surface.
API surface |
Entry point |
Validated |
|---|---|---|
OpenCV stereo path |
|
✅ slow tests |
Ray2D corner refinement |
|
✅ benchmark |
Central stereo rayfield |
|
✅ slow tests |
Non-central Zernike origin field |
|
✅ benchmark |
Model import / export |
|
✅ round-trip test |
Reconstruction diagnostics |
|
✅ benchmark |
Advanced APIs (stable interface, expert use)
These are validated but require domain knowledge (optical models, gauge conventions, parameter layout). Breaking changes may happen after deprecation notice.
API surface |
Entry point |
|---|---|
Physical model selection |
|
CMO physical model |
|
CMO telecentric model |
|
CMO warped model |
|
Schur diagnostics |
|
Paper reproduction helpers |
|
Experimental APIs (no stability promise)
These exist as scaffolding for future work. Signatures, parameter layouts, and return types will change without notice.
API surface |
Status |
|---|---|
N-camera facades ( |
Routes only |
|
Container only; real N-rayfield BA not implemented |
|
Container only |
|
Wraps stereo model via |
|
Routes only |
N-camera oracles / simulators |
Benchmark scaffolding only |
|
Paper-specific, not general-purpose |
Explicit non-goals for v0.1.0-alpha:
True N-camera bundle adjustment (Phase 2 — specification exists, not implemented)
Shared-rig SE(3) constraints across >2 channels
Production-grade multi-camera calibration from real images
GUI / web dashboard
Paper-only code
This code exists to reproduce the CMO paper. It is not part of the library API and may use hard-coded paths, deprecated helpers, or paper-specific conventions.
Location |
Purpose |
|---|---|
|
Manuscript source, build scripts, standalone figure generators |
|
JSON/NPZ artefacts for paper figures |
|
Full paper analysis walkthrough |
|
Standalone figure generators |
Quality gates (all passing @ 2026-05-24)
Gate |
Command |
Status |
|---|---|---|
Lint |
|
0 errors |
Docstring contract |
|
0 alarms, 88 files, wired into CI |
Fast tests |
|
159 passed, 39 deselected |
Slow tests |
|
39 passed, 0 failures |
Doc coverage |
|
✅ |
Known heavy artefacts (audit 2026-05-24 — 234 MB total)
Artefact |
Size |
Strategy |
|---|---|---|
|
140 MB (6 files × ~24 MB) |
Archived on Zenodo — DOI: 10.5281/zenodo.20369312 — regeneration artefacts, not primary data |
|
51 MB (3 files) |
Keep (needed for paper figure reproduction) |
|
15 MB |
Keep (vector PDF versions are 2 MB, PNGs are paper legacy) |
|
8 MB |
Keep (submission artefact) |
|
6 MB (2 files) |
Already local bibliography — keep |
|
5 MB |
Keep (Colab badges point to develop) |
|
2 MB |
Keep (needed for notebook walkthroughs) |
|
<1 MB |
Keep |
Recommendation: move docs/assets/pycaso_real_data/schur_ba/ (available on Zenodo: https://doi.org/10.5281/zenodo.20369312) to Zenodo
(140 MB would be removed) and add the DOI to the paper’s data-availability
statement. The 6 large NPZ files are Schur-BA snapshots reproducible from the
smaller specimen_correspondences.npz (12 MB) + the fitting code. After
removal, the repo would be ~94 MB (after Zenodo archival).
Pending before merge to main
Switch Colab links from
blob/develop/toblob/main/(see CLAUDE.md § Colab branch hack)Tag
v0.1.0-alphaon the merge commitUpdate
docs/START_HERE.mdto reflect thatdevelop→mainhas happenedArchive paper artefacts on Zenodo and link from README