This is the release acceptance record for CloudPoint 1.3.0. It separates mandatory reproducible gates from optional hardware/media gates so a missing private fixture can never be reported as a passing reconstruction.
- Single Image: Apple SHARP produces exactly 1,179,648 Gaussians on MPS, publishes only the single-image provenance schema, validates completely, and becomes renderer-ready.
- 360 Scan: RealityKit solves at least three source cameras before training. CloudPoint validates positive sparse depth, camera-facing geometry, chronological motion, measured coverage, and calibrated intrinsics before a dataset reaches the pinned OpenSplat optimizer.
- Output: one strict OpenSplat PLY is published only after MPS training and first/middle/last offscreen Metal render probes succeed. CPU fallback, non-finite records, malformed provenance, invalid orientation, and a timed-out renderer are terminal failures.
- Lifecycle: training is bounded to 2,000,000 Gaussians, cancellation kills the child process, resumable checkpoints are validated before use, and idle scenes do not retain a continuous redraw loop.
Run from the repository root on Apple Silicon:
uv run --project worker --extra sharp pytest -q
uv run --project worker --group dev ruff check worker/src worker/tests
scripts/tests/test-worker-runtime-packaging
scripts/tests/test-opensplat-runtime /tmp/cloudpoint-opensplat-runtime
xcodebuild build-for-testing -project CloudPoint.xcodeproj -scheme CloudPoint \
-destination 'platform=macOS,arch=arm64' CODE_SIGNING_ALLOWED=NO
xcodebuild test-without-building -project CloudPoint.xcodeproj -scheme CloudPoint \
-destination 'platform=macOS,arch=arm64' -parallel-testing-enabled NO \
CODE_SIGNING_ALLOWED=NOGaussianRenderProbeTests exercises the production MetalSplatter renderer
offscreen at representative solved camera poses. PoseConventionAdapterTests,
CoverageAnalyzerTests, and RealityPoseSolverTests lock the upright
camera-to-world convention and prevent the reversed camera-arc regression.
The OpenSplat runtime smoke requires MPS, trains and resumes a small fixture,
then terminates an in-flight optimizer and verifies that its process exits.
The real-media gate needs a packaged runtime, the pinned SHARP checkpoint, and a static-subject MOV, MP4, or M4V:
CLOUDPOINT_WORKER_RUNTIME=/absolute/path/to/WorkerRuntime \
scripts/test-pose-aware-smoke \
/absolute/path/to/static-subject.mov \
/absolute/path/to/sharp_2572gikvuh.ptIt fingerprints the source before and after, prepares chronological keyframes, runs RealityKit pose preparation, requires either a valid pose-aware trainer dataset or an exact overlap/calibration/quality rejection, verifies real SHARP single-image output, exercises the production renderer, and deletes only its marker-owned temporary data.
- Host: Apple Silicon (
arm64), macOS 26.6.1 (25G76). - Pinned SHARP checkpoint: present under the configured CloudPoint Downloads workspace. The packaged release worker verified its SHA-256, ran a real MPS reconstruction in 13.9 seconds, and published the exact 1,179,648-Gaussian raw-SHARP artifact and provenance contract.
- Pinned OpenSplat MPS runtime: contract, two-iteration training, checkpoint resume, process cancellation, and output creation passed.
- Production offscreen Metal render probe: passed at first, middle, and last synthetic solved camera poses.
- Supplied
/Users/moebis/Downloads/IMG_2285.MOV: not present at release verification time, so its real trajectory and top-view visual judgment are not claimed as passing. Re-run the command above when the fixture is restored. - A separate 20+ private loop fixture was not supplied. Complete-360 coverage, loop closure, and seam quality therefore remain an explicit field-test gate; deterministic coverage classification and lifecycle behavior are covered by automated tests.
Visual coherence and “no doubled subject” remain human acceptance criteria. The app labels 3–11 solved views or less than 240 degrees as Partial rather than presenting that result as a complete 360-degree reconstruction.