araharah-executor
13ba0bbee5
feat(07-02): landscape cockpit geometry block — CSS-only, tokens binding (PX-04/D-03)
...
- @media (orientation: landscape) and (max-height: 560px) block appends to shell.css
- banner 72px min-height + safe-left/right edge padding via max(); plate 40px/glyph 28px
- strip rides under 72px chrome; guide-list 100dvh-bounded; bottom register inside landscape height
- sanctioned literal list extended in the cockpit header comment
- no radius/shadow/blur/transition, no MapLibre rule; theme audit stays clean
2026-10-25 03:52:17 +08:00
araharah-executor
79836f0a31
feat(06-05): guidance/confirm/trip-end card builders + the token-only shell.css guidance block (GREEN)
...
- buildGuidanceCard: GUIDE register, verbatim headline, live telemetry row (MIN / {km} KM / ETA), 4px progressbar with full aria value set + instant inline width, no-reroute state line only when degrading, ONE btn-secondary END TRIP
- buildConfirmCard: GUIDE // CONFIRM + exact en/ms privacy copy, btn-primary YES ABANDON + btn-secondary CONTINUE, guide-confirm bottom-register hook — the ONE primary CTA in guidance chrome
- buildTripEndCard: GUIDE // END, exact deletion copy, no actions
- shell.css guidance block: banner chassis + 1px separator, CSS-only strip compaction under [data-guidance], list panel + row states + lamp, progress bar — token vars only, zero motion/depth/radius/hex (theme audit clean)
2026-10-24 14:18:21 +08:00
araharah-executor
01a75f1fbe
feat(05-04): route paint stack + endpoint markers + load-hook install + shell chrome
...
- route-layers.ts: 2 empty GeoJSON sources + 4 line layers (route-alt-casing
5px matte-black / route-alt-line 3px soft-beige / route-casing 9px
matte-black / route-line 5px signal-orange), opacity 1.0, cap square,
join bevel, no beforeId — idempotent install, setData-only updates,
zero setStyle (T-05-09); verbatim tokens.css hex (DSGN-01)
- route-markers.ts: origin ring (24px, 2px matte-black, aria-hidden) +
destination pin (12px square + 3px×8px tail, white inset rule, never
orange) + 160px ellipsis name chip; WeakMap-tracked removal
- map.ts: bootMap gains opts.onLoad — invoked inside the existing load
handler AFTER building-3d, BEFORE the ready log, its own try/catch
- shell.css: .route-stack registers (64px control-clearance composite),
telemetry/diff/chips rows composing the .card child rules (no padding
overrides), 28px chips with 44px ::after hit slop + instant :active
invert + 3px focus bracket, marker chrome — token references only
2026-10-24 05:29:25 +08:00
araharah-executor
9ae2059432
fix(shell): card body padding — text sat at card edges (device-gate feedback)
2026-10-24 04:12:19 +08:00
araharah-executor
fc99745672
chore(03-04): remove the device-matrix diagnostic probe — exit obligation, matrix passed
2026-10-23 18:41:41 +08:00
araharah-executor
f4453996ac
fix(03-04): on-screen diagnostic probe — WA version/platform, initData char-count, session + location categories
2026-10-23 01:24:52 +08:00
araharah-executor
d573acc583
feat(03-03): status strip, state cards, recenter control, boot choreography — map-first, D-09 staged states
...
- strip.ts: six-state lamp+word left cluster, ±M / FIX Ns AGO telemetry (U+00B1 glyph), elapsed-seconds for acquiring
- cards.ts: boot/denied/lost builders from theme classes, machine-blink gantry (500ms JS duty cycle), GEO/SYS registers from strings.ts, D-06 CTA inversion (chat-fallback=btn-primary, retry=btn-secondary)
- recenter.ts: 40x40 plate w/ >=44 hit slop, orthogonal inline-SVG crosshair, three data-attribute notch states, no inline handlers
- main.ts: boot order map->session->chain (bootMap before acquireFix), null-map guards on every map consumer, ARAHARAH-LIVE emitted outside the guard, data-map=absent fallback, localeFromInitData, ASK VIA CHAT w/ D-03 revalidation, 1s tick re-running the chain at 45s staleness
- map.ts: attribution control moved bottom-left (UI-SPEC flush chip, compact)
- shell.css: attrib chip #map-scoped override (wins cascade over maplibre css), strip left cluster, recenter z-index
- vite.config.ts: define __ARAHARAH_HARNESS__ keyed on --mode harness (bare ambient global would ReferenceError in plain dev; Rule 3)
- session.test.mjs: SESS1-4 memory-token gates
2026-10-23 00:08:34 +08:00
araharah-executor
c437d312f6
feat(03-03): Rams shell stylesheet + MapLibre v6 bootstrap, position marker, follow controller
...
- shell.css: token-only chrome (zero hex, zero transition/animation), dark-slot activation, machined geometry (8px lamp/notch, 40x40 plate, data-map=absent field)
- map.ts: setWorkerUrl + ?worker&url, build-time-inlined liberty-rams.json, GPUInitializationError -> null gate, RAMS-BASEMAP-READY signal
- marker.ts: dot + accuracy circle (100m display cap) + heading cone hidden on null, DOM Marker SVG namespace discipline
- follow.ts: 96px camera padding, 400ms flyTo, user-gesture-only free mode
- UI-SPEC: planner amendments verified (Pitfall 4 present; Open Question 1 appended)
2026-10-22 23:53:18 +08:00