Skip to content

Repository files navigation

CloudPoint

CloudPoint app icon

CloudPoint is a native Apple Silicon Mac app for creating local 3D Gaussian scenes without CUDA. Version 1.3 has two deliberately different workflows:

  • Single Image runs Apple SHARP on one confirmed view. It is fast, detailed from the source camera, and does not pretend to reconstruct unseen sides.
  • 360 Scan solves real camera poses with RealityKit, prepares one calibrated scene, and optimizes one coherent Gaussian representation with OpenSplat on Metal/MPS.

The retired LingBot point-cloud UI and independent-view SHARP fusion are not used by either workflow.

What 1.3 supports

Mode Sources Result
Single Image JPEG, PNG, HEIC, camera snapshot, selected MOV/MP4/M4V frame Exact 1,179,648-Gaussian SHARP scene from one view
360 Scan Guided camera scan, MOV/MP4/M4V video, 3–200 images Pose-aware OpenSplat scene from 3–120 admitted views

For 360 Scan, keep the object and lighting still while moving the camera in a smooth arc with substantial visual overlap. Three or four solved views can produce a useful Partial scene. For a credible full loop, capture at least 20 overlapping views, include the sides and back, and finish near the starting view. CloudPoint labels measured coverage as Partial, Nearly Complete, or Complete 360°; it does not relabel a partial result as a full scan.

Projects autosave under ~/Downloads/CloudPoint/Projects by default. Choose a different base folder in CloudPoint → Settings → Working directory. Ephemeral pose/training input uses the macOS temporary directory and is removed only after ownership validation.

Requirements

  • Apple Silicon Mac
  • macOS 15.0 or newer for Single Image
  • macOS 26.0 or newer for 360 Scan in the v1.3.0 packaged runtime
  • Internet access for the one-time Apple SHARP model download, unless a local Release build explicitly embeds the pinned checkpoint seed
  • Approximately 6 GiB free for the app runtime, checkpoint, and working data

The 360 card is disabled with an exact host-version message if the packaged OpenSplat dependency closure cannot run on the current macOS version. The app never silently falls back to CPU for a published 360 scene.

Public CloudPoint builds do not bundle Apple’s model weights. On first use they show the research-model license, download the pinned 2.81 GB checkpoint directly from Apple, and verify its size and SHA-256. An explicitly configured local Release build can carry the same verified checkpoint as an installation seed; license acceptance is still required, and the seed is never part of a public ZIP. Inference stays local after setup.

Install

  1. Download CloudPoint-v1.3.0-macOS-arm64.zip from the latest release.
  2. Unzip it and move CloudPoint.app to /Applications.
  3. This experimental build is ad-hoc signed and not notarized. On first launch, Control-click the app in Finder, choose Open, and confirm the prompt.

Create a Single Image scene

  1. Under Single Image, choose an image, a camera snapshot, or a video.
  2. For video, select the exact source time and confirm the frame.
  3. Complete the one-time Apple SHARP setup if prompted.
  4. CloudPoint reconstructs, validates, and opens the complete raw SHARP scene.

Single Image does not run ICP, voxel deduplication, or multi-view fusion. Start a new scene at any time from the welcome screen or File menu.

Create a 360 Scan

  1. Under 360 Scan, choose Guided Camera Scan, a video, or 3–200 images.
  2. Keep one static subject visible while moving slowly around it. For a camera scan, CloudPoint accepts changing, sharp, overlapping views up to a 120-view safety limit; stop after at least three.
  3. Review the admitted keyframes and exclude any blurred or unrelated view.
  4. CloudPoint solves camera poses and intrinsics, validates scene geometry and coverage, trains OpenSplat on MPS, validates the final PLY, then probes the production Metal renderer before publishing the result.
  5. If coverage is Partial or Nearly Complete, use the guidance in the workspace inspector to improve the next scan.

Pose solving can reject a sequence whose subject moved, overlap is broken, calibration is unavailable, cameras face away from the sparse scene, or motion contains an implausible jump. OpenSplat optimization is intentionally bounded but may take several minutes. Cancel and checkpoint resume have finite terminal paths.

Projects, storage, and privacy

Source media, frames, calibration, poses, optimizer checkpoints, final PLY, and provenance stay on the Mac. The only production network operation is the explicit model download during setup, and a locally seeded installation does not make that request. A project is self-contained:

Example-<uuid>.cloudpoint/
├── Manifest.json
├── Frames/
├── Calibration/
├── Sparse/
├── Training/
├── Outputs/Gaussians/
└── Logs/

Durable project files are committed atomically. Closing or cancelling a scan removes only CloudPoint-owned temporary training data; projects, source media, the model checkpoint, and completed output are preserved.

Build from source

Development requires Xcode, Swift 6, XcodeGen, uv, CMake, and the build-only Homebrew OpenCV and PyTorch formulas used for the arm64 OpenSplat runtime:

scripts/bootstrap
open CloudPoint.xcodeproj

Release embedding is off by default. To produce a private machine-local build, set CLOUDPOINT_SHARP_BUNDLE_CHECKPOINT in the ignored Config/Local.xcconfig to the absolute path of the exact pinned sharp_2572gikvuh.pt. The Release phase rejects links and mismatched bytes, keeps the seed under Contents/Resources/Sharp outside WorkerRuntime, and removes stale seed output whenever the setting is empty. Never use that opt-in for a public archive or ZIP. Public ZIPs must be produced through scripts/package-public-release, which forces the setting empty and rejects the checkpoint in both the app and resulting archive.

Core verification:

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-sharp-model-packaging
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=NO

See the documentation index and project memory for the current architecture, decisions, lessons learned, runtime pins, test evidence, and release boundaries. Legal terms and source obligations are recorded in third-party notices.

Upstream components

CloudPoint is licensed under the Apache License 2.0. OpenSplat is AGPL-3.0; its complete corresponding source and CloudPoint patches are in Vendor/OpenSplat. Apple SHARP source, the separately obtained research model, and all other components retain their own terms.

About

Native Apple Silicon 3D point-cloud reconstruction from video or live camera, powered by MLX and LingBot-Map.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages