feat(mobile): add the mobile app shell, capture and the /mobile/ build page

Five tabs (Now, Globe, Capture, Threads, You) over one persistent globe:
a live situation feed whose cards open into the world with a detented
brief, the lens dock and time ribbon, AR Look and signed Witness
capture (ECDSA P-256 in IndexedDB, SHA-256 hash chain, IMU and GPS
trace, eight-check verify), the Bhote Koshi reconstruction thread with
a live ledger, and hinge-aware two-pane layouts for foldables.

The production build now emits mobile/index.html beside the app; the
panel build keeps the app alone.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01VVYRAqiQj9Y1V9ZfG1RcDH
This commit is contained in:
Claude committed 2026-10-18 05:40:33 +00:00
1 parent e532c5efb6
commit 52de186005
8 files changed
+183 -8

No files matched your search

+5 -2
View File
@@ -148,9 +148,12 @@ export function createWorld({
}
function contextEvidence(s) {
const span = Math.max(0.02, (s.camera?.height || 300e3) / 111e3 / 1.6);
const span = Math.min(
12,
Math.max(0.02, (s.camera?.height || 300e3) / 111e3 / 1.6),
);
const frames = [
{ t: 'Region', span: span * 6 },
{ t: 'Region', span: Math.min(40, span * 6) },
{ t: 'Area', span },
{ t: 'Close', span: span / 5 },
];