feat(mobile): rooms, live and upload capture, and the altitude-band identity

The Now feed mixes sensor, eye, track, number, witness and room cards
across Orbit, Sky, Ground and Inside, ordered so neighbours differ, with
composited thumbnails and live public-camera frames.

Every situation has a room: typed, place- and time-anchored posts,
evidence badges, bridging-rated notes and a cited Known / Disputed /
Unknown local synthesis, with cross-tab presence over BroadcastChannel.
Example posts are labelled as such.

Capture adds Live (10 s segments sealed into a hash chain, shown on the
globe as a view frustum) and Upload (EXIF placement, Unverified tier),
and an attach sheet that files any capture into a nearby situation.

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-19 02:49:03 +00:00
1 parent ba1673a6db
commit 8b7fcb09df
38 files changed
+9837 -1081

No files matched your search

+9 -4
View File
@@ -540,7 +540,11 @@
}
.tb-tab[aria-selected='true'] {
color: var(--tint);
color: var(--ink);
}
.tb-tab[data-tab='capture'][aria-selected='true'] {
color: var(--b-inside);
}
.tb-tab[aria-selected='true'] .i .f {
@@ -765,12 +769,13 @@
width: 30px;
height: 30px;
flex: none;
border-radius: 8px;
border-radius: 6px;
display: grid;
place-items: center;
font-size: 1.05rem;
color: #05070b;
background: var(--fam, var(--tint));
color: var(--fam, var(--ink));
background: rgba(255, 255, 255, 0.06);
box-shadow: inset 0 0 0 0.5px var(--hairline-strong);
}
.row-main {