Skip to content

feat: add native iPhone LiDAR sensor and web viewer - #1684

Merged
ruvnet merged 18 commits into
mainfrom
feat/iphone-lidar-ruview
Aug 22, 2026
Merged

feat: add native iPhone LiDAR sensor and web viewer#1684
ruvnet merged 18 commits into
mainfrom
feat/iphone-lidar-ruview

Conversation

@ruvnet

@ruvnet ruvnet commented Aug 22, 2026

Copy link
Copy Markdown
Owner

Implements the first RuView iPhone LiDAR path.

What is included

  1. Native SwiftUI and ARKit capture using sceneDepth with device capability checks.
  2. Depth confidence intrinsics camera pose sequence and provenance schema.
  3. Geometry only transport with no RGB upload.
  4. Compact UInt16 millimeter wire encoding with spatial downsampling and 15 FPS cap.
  5. Local WebSocket relay and browser point cloud viewer.
  6. Node codec tests.
  7. ADR 340 defining the production RuView HAL and trust boundary.

Validation

The browser codec tests pass 3 of 3 locally. Apple documents sceneDepth and smoothedSceneDepth as the supported rear LiDAR depth APIs on capable devices. Physical iPhone and Xcode compilation remain required before merge because this environment does not include the Apple SDK or LiDAR hardware.

Key constraint

Mobile Safari does not expose ARKit scene depth to an ordinary web page, so native acquisition is required. The web implementation is intentionally a receiver and visualization surface.

Next production step

Terminate the stream inside the RuView sensing server, authenticate the iPhone via the existing sensor identity path, convert frames into ruv​iew HAL Observation objects, then attach witness and fusion stages.

@ruvnet

ruvnet commented Aug 22, 2026

Copy link
Copy Markdown
Owner Author

Review remediation is now on 080930370: fixed the relay broadcast-state and text-frame defects; added per-run token authentication, a 2 MB WebSocket limit, static-file allowlisting, CSP headers, canonical packet validation, and a reproducible lockfile; removed the non-Sendable ARFrame actor crossing; and corrected the nested Swift wire type compile failure. Validation: local Node tests 5/5, npm audit 0 vulnerabilities, claim-check PASS, plus Node and iOS 17 strict-concurrency compile PASS. Physical iPhone behavior and the 150 ms p95 target remain explicitly unverified and are not claimed by this merge.

@ruvnet
ruvnet merged commit 0df48df into main Aug 22, 2026
27 of 44 checks passed
github-actions Bot pushed a commit to wilsonwu-ai/RuView that referenced this pull request Aug 23, 2026
…uvnet#1684)

* feat(ios): add RuView LiDAR frame protocol

* feat(ios): capture ARKit scene depth for RuView

* feat(ios): stream compact LiDAR frames over websocket

* feat(ios): add native LiDAR capture UI

* feat(ios): add RuView LiDAR app entrypoint

* feat(web): add LiDAR bridge web package

* feat(web): decode RuView LiDAR wire frames

* feat(web): add local LiDAR websocket relay

* feat(web): add LiDAR browser viewer

* feat(web): render live LiDAR point cloud

* fix(ios): use wall clock time for LiDAR provenance

* feat(web): style LiDAR viewer

* test(web): add LiDAR codec tests

* docs: add iPhone LiDAR integration guide

* docs(adr): define iPhone LiDAR sensor bridge

* fix(ios): harden and validate LiDAR bridge

* fix(ios): qualify LiDAR wire depth type 0df48df
github-actions Bot pushed a commit to romeo1250-crypto/RuView that referenced this pull request Aug 23, 2026
…uvnet#1684)

* feat(ios): add RuView LiDAR frame protocol

* feat(ios): capture ARKit scene depth for RuView

* feat(ios): stream compact LiDAR frames over websocket

* feat(ios): add native LiDAR capture UI

* feat(ios): add RuView LiDAR app entrypoint

* feat(web): add LiDAR bridge web package

* feat(web): decode RuView LiDAR wire frames

* feat(web): add local LiDAR websocket relay

* feat(web): add LiDAR browser viewer

* feat(web): render live LiDAR point cloud

* fix(ios): use wall clock time for LiDAR provenance

* feat(web): style LiDAR viewer

* test(web): add LiDAR codec tests

* docs: add iPhone LiDAR integration guide

* docs(adr): define iPhone LiDAR sensor bridge

* fix(ios): harden and validate LiDAR bridge

* fix(ios): qualify LiDAR wire depth type 0df48df
github-actions Bot pushed a commit to ariannamethod/RuView that referenced this pull request Aug 24, 2026
…uvnet#1684)

* feat(ios): add RuView LiDAR frame protocol

* feat(ios): capture ARKit scene depth for RuView

* feat(ios): stream compact LiDAR frames over websocket

* feat(ios): add native LiDAR capture UI

* feat(ios): add RuView LiDAR app entrypoint

* feat(web): add LiDAR bridge web package

* feat(web): decode RuView LiDAR wire frames

* feat(web): add local LiDAR websocket relay

* feat(web): add LiDAR browser viewer

* feat(web): render live LiDAR point cloud

* fix(ios): use wall clock time for LiDAR provenance

* feat(web): style LiDAR viewer

* test(web): add LiDAR codec tests

* docs: add iPhone LiDAR integration guide

* docs(adr): define iPhone LiDAR sensor bridge

* fix(ios): harden and validate LiDAR bridge

* fix(ios): qualify LiDAR wire depth type 0df48df
github-actions Bot pushed a commit to mechbrian/RuView-wifidensepose that referenced this pull request Aug 25, 2026
…uvnet#1684)

* feat(ios): add RuView LiDAR frame protocol

* feat(ios): capture ARKit scene depth for RuView

* feat(ios): stream compact LiDAR frames over websocket

* feat(ios): add native LiDAR capture UI

* feat(ios): add RuView LiDAR app entrypoint

* feat(web): add LiDAR bridge web package

* feat(web): decode RuView LiDAR wire frames

* feat(web): add local LiDAR websocket relay

* feat(web): add LiDAR browser viewer

* feat(web): render live LiDAR point cloud

* fix(ios): use wall clock time for LiDAR provenance

* feat(web): style LiDAR viewer

* test(web): add LiDAR codec tests

* docs: add iPhone LiDAR integration guide

* docs(adr): define iPhone LiDAR sensor bridge

* fix(ios): harden and validate LiDAR bridge

* fix(ios): qualify LiDAR wire depth type 0df48df
github-actions Bot pushed a commit to alphvsn/ruview that referenced this pull request Aug 25, 2026
…uvnet#1684)

* feat(ios): add RuView LiDAR frame protocol

* feat(ios): capture ARKit scene depth for RuView

* feat(ios): stream compact LiDAR frames over websocket

* feat(ios): add native LiDAR capture UI

* feat(ios): add RuView LiDAR app entrypoint

* feat(web): add LiDAR bridge web package

* feat(web): decode RuView LiDAR wire frames

* feat(web): add local LiDAR websocket relay

* feat(web): add LiDAR browser viewer

* feat(web): render live LiDAR point cloud

* fix(ios): use wall clock time for LiDAR provenance

* feat(web): style LiDAR viewer

* test(web): add LiDAR codec tests

* docs: add iPhone LiDAR integration guide

* docs(adr): define iPhone LiDAR sensor bridge

* fix(ios): harden and validate LiDAR bridge

* fix(ios): qualify LiDAR wire depth type 0df48df
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant