PanorAi 3.5.0 release checklist¶
This minor release packages the current protected-main feature and
documentation line after the GitHub-only v3.4.0 publication attempt. It adds
an evidence-backed relative-pose feature profile and Experimental resolution
selection, descriptor-free spherical detection, coarse-to-fine proposals,
tangent-patch descriptors and organized RGB+XYZ loading. Stable geometry-v1,
projection, object-workflow and spherical-feature-core contracts remain
compatible.
Candidate identity¶
[ ] One exact reviewed protected-main commit contains every release input and has no uncommitted or untracked release changes.
[ ]
CHANGELOG.md, the publisher workflow, Pages recovery default, setuptools-scm fallback, manifest, artifact policy and contract tests all identify exactly 3.5.0 /v3.5.0.[ ] A fresh review checks the complete
v3.4.0..candidatediff and confirms that every new surface is documented at its actual stability tier.[ ] The immutable
v3.4.0tag and GitHub Release remain unchanged. Read-back confirms that no 3.4.0 file reached TestPyPI or PyPI and that 3.3.1 remains the latest package-index version before this release.
Public contract and compatibility¶
[ ] Stable geometry-v1, object-workflow, spherical-feature-core, blender and 3.x compatibility inventories pass without removed names.
[ ]
SphericalFeaturePipeline.for_relative_pose()preserves general preset defaults while freezing only the documented reference profile.[ ]
shadow_paddeddistinguishes cropped and materialized scanner rasters; padding is idempotent and geometric support is not inferred from black RGB.[ ] Resolution selection, direct/coarse spherical detection, tangent patches, descriptor v2 and downstream pose/reconstruction/SLAM/stereo surfaces remain explicitly Experimental.
[ ] Removal of project-specific source helpers changes no wheel/sdist member or Stable/Compatibility export promised by the published package.
Feature and data validation¶
[ ] Direct spherical detector localization covers seam, high-latitude, mask/support, deterministic selection, scale and empty-input cases.
[ ] Coarse-to-fine proposals preserve source-ERP provenance and compose with descriptor-neutral tangent patches and SIFT/ORB adapters.
[ ] Tangent descriptor v2 verifies photometric normalization, effective support, scale/orientation hypotheses, ordering and parallel determinism.
[ ] The resolution-selection report distinguishes converged plateaus from highest-resolution fallback and never resizes caller data implicitly.
[ ]
XYZImageDatasetrequires explicit frame/units, validates organized PLY shape, keeps Open3D optional and ships no dataset bytes.
Documentation and media¶
[ ] The README, user guide, capability map, benchmark guide and API reference agree on sphere-native, projection-domain and hybrid routes.
[ ] Strict Sphinx builds with zero warnings from source and extracted sdist; all executable examples pass from the installed wheel where applicable.
[ ] Only checksum-pinned approved tutorial media appear in the sdist and no raster documentation media appear in wheels.
[ ] Benchmarks label source, development wheel and published-release evidence separately and make no promotion claim for Experimental APIs.
Source, wheel and platform validation¶
[ ] Full warnings-as-errors tests pass on Python 3.11–3.14, including NumPy, Torch CPU/autograd, conformance/oracle, multimodal consumers and new feature and data suites.
[ ] Both first-party native extensions build and execute on Linux x86_64 and aarch64, macOS Intel and arm64, and Windows AMD64 for Python 3.11–3.14.
[ ] The hosted aggregate contains exactly 20 wheels and one normalized sdist; every file passes
twine check, checksum, metadata, license, content and provenance audits.[ ] Fresh installed-wheel smoke outside the checkout proves version 3.5.0, installed origin, native availability, canonical imports and the new public feature/data exports.
[ ] A distinct fresh review reproduces the exact artifact inventory and the release-required installed-package evidence.