PanorAi 3.8.0 release checklist¶
This minor release publishes the composed spherical API developed after 3.7: the typed Pipeline, general spherical NumPy operations, generic CPU Torch layers, the spherical image-object workflow, Stable SLIC, application wrappers, and the role-based component catalog. The checklist records evidence for one exact candidate; it does not authorize a tag or publication.
Candidate identity¶
[ ] One exact reviewed protected-main commit contains every release input and has no uncommitted or untracked release changes.
[ ]
CHANGELOG.md,CITATION.cff, README, setuptools-scm fallback, publisher workflow, Pages recovery, API inventory/schema, manifest, artifact policy, and contract tests identify exactly 3.8.0 /v3.8.0.[ ] A fresh review covers the complete
v3.7.0..candidatediff and verifies that every public surface is documented at its actual stability tier.[ ] Published tags and package-index files through 3.7.0 remain immutable.
Stable composition contract¶
[ ]
panorai-spherical-pipeline/v1passes nesting, routing, mixed raster and non-raster branches, deterministic batching, grid transformation, support, validity, autograd, safe persistence, and content-addressed cache tests.[ ]
panorai-spherical-ops/v1passes seam, pole, modality, grid, support, and validity tests for its general NumPy operations.[ ]
panorai-spherical-ops-torch/v1passes CPU float32/float64 parity, autograd, grid transformation, serialization, and installed-wheel tests. CUDA and MPS remain outside the Stable device guarantee.[ ]
EquirectangularImagepasses owned immutableopen,constant,sample,new, conversion, resize, thumbnail, active 3D rotation, transpose, tangent crop, filter, paste, and composite contracts without inferring validity from values.[ ]
panorai-spherical-slic/v1passes the prospectively frozen rotation, planar-limit, seam, connectivity, area, determinism, and installed-wrapper gates.[ ] No Stable or Compatibility name from 3.7 is removed, re-tiered, or given a new runtime warning.
Experimental boundary¶
[ ] DoG application wrappers, dense stereo, relative pose, CAM/SAM instance workflows, graph, reconstruction, and SLAM remain explicitly Experimental with their unresolved scientific gates visible.
[ ]
SphericalMaskRCNNWorkflow/mask_rcnn.workflow()are canonical for the executable CAM/SAM/heuristic workflow; the former ExperimentalSphericalMaskRCNNPaperalias remains object-identical andmask_rcnn.paper()warns before delegating.[ ] The future trainable
SphericalMaskRCNNremains unbound and no trainer, dataset framework, checkpoint, or model weight enters the package.[ ] Relative pose reports rotation plus unit translation direction only; capture eligibility never substitutes for post-estimation acceptance and no metric translation scale is implied.
Documentation, package, and licensing boundary¶
[ ] Quick Start, API-level guides, concepts, component catalog, exhaustive public inventory, migration guide, and executable examples agree with the machine-readable stability inventory.
[ ] Strict Sphinx builds with zero warnings from source and extracted sdist; public examples run against an installed wheel outside the checkout.
[ ] Wheel and sdist contain no dataset, checkpoint, cache, generated output, private evidence, unapproved vendor source, or serialized callable/pickle.
[ ] Torch and model integrations remain optional and lazy; importing
panorai,panorai.geometry, Pipeline, NumPy ops, or the catalog does not load Torch, Open3D, model code, or perform network/cache writes.[ ] The role-based catalog contains every audited public surface and symbol; additions continue to require explicit catalog/stability registration.
Source, wheel, and platform validation¶
[ ] Full warnings-as-errors tests and Ruff check/format pass on the exact candidate; strict MyPy programs, compileall, JSON/schema, and diff checks are green.
[ ] Protected CI passes source and installed-wheel matrices on Python 3.11–3.14, Torch CPU, oldest/newest dependencies, Windows fixture integrity, strict docs, and content/license policy.
[ ] Both native extensions build and execute on Linux x86_64/aarch64, macOS Intel/arm64, and Windows AMD64 for Python 3.11–3.14.
[ ] The hosted aggregate contains exactly 20 wheels and one normalized sdist; filenames, versions, hashes, member inventories, Twine checks, provenance, and source commit are recorded.
[ ] Fresh installed-wheel consumers outside the checkout exercise SLIC, DoG, stereo, Mask R-CNN Workflow, mixed Pipeline composition, spherical
nn.Sequential, and registered save/load/cache behavior where dependencies are available.[ ] A distinct fresh review reproduces the artifact inventory and the release-required installed-package evidence from the exact candidate.