feat(mobile): adopt RuView NLOS instrument interface - #1694
Open
ruvnet wants to merge 5 commits into
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adapts the Cognitum Explain Studio visual language into a RuView specific NLOS mobile instrument interface for SwiftUI, Expo iOS, and Expo web. The implementation now follows the public
cognitum-one/websitedesign system pinned at commit0288734c3426ca9125ef4cb2e067ef057c09f3ce, while retaining RuView branding, evidence vocabulary, privacy controls, and information architecture.This is a UI only stacked pull request. It targets
feat/consumer-nlos-ruview, the branch for PR 1687. Retarget this pull request tomainafter PR 1687 merges.Scope
Typography and asset budget
Trust boundary
The point cloud is a deterministic visualization of already gated RuView tracks plus schematic relay geometry. It does not claim access to raw iPhone LiDAR timing samples, ARKit depth, or physical NLOS evidence. Unverified, stale, disconnected, and replay provenance states expose zero gated target returns.
Verification
Screenshots
docs/screenshots/consumer-nlos-mobile-ui/overview-390x844.pngdocs/screenshots/consumer-nlos-mobile-ui/setup-390x844.pngdocs/screenshots/consumer-nlos-mobile-ui/synthetic-390x844.pngdocs/screenshots/consumer-nlos-mobile-ui/point-cloud-390x844.pngResidual validation
Physical iPhone GPU performance, native font rendering, touch orbit behavior, VoiceOver, Dynamic Type, and Maestro device execution remain explicit device gates in ADR 342. No physical iPhone validation or raw iPhone LiDAR access is claimed by this pull request.
Acceptance test
The software gate is acceptable when production Expo renders all four 390 by 844 journeys without horizontal overflow, the selected local font payload remains at or below 500 KB, the Three.js canvas reports ready, one gated synthetic track renders exactly 96 target returns, unverified states render zero target returns, synthetic replay visibly carries both the SYNTHETIC state and watermark, all automated checks pass, and the Xcode 26 native gate succeeds. Physical completion requires a TestFlight run on a LiDAR equipped iPhone with correct font rendering, no WebGL context loss, and no accessibility or interaction regression.
Remote CI
The two workflows eligible on the stacked pull request event are green on head
5b680507539b75757cb126c2f025b8dada5d8fe6: CSI data policy and Fix Marker Regression Guard. Consumer NLOS, Continuous Integration, and Security Scanning remain gated by their current branch trigger policy while this pull request targetsfeat/consumer-nlos-ruview. The complete local software gate passed. The Xcode 26 build remains a required gate when the pull request is retargeted tomainor the workflow is dispatched manually.