mirror of
https://github.com/samvallad33/vestige.git
synced 2026-07-24 23:41:01 +02:00
The dead routes were flat purple. This adds ONE cheap WebGPU substrate behind them whose drive is REAL backend metrics, so it legibly READS the data instead of being decoration — a store with 129 endangered memories storms; 0 contradictions is a calm field (the discipline test still holds). - AmbientField.svelte + ambient-field.wgsl: a metric-bound mote field. Each mote's vertical drift IS its retention (low sinks to the forgetting floor, high floats up); the real endangered fraction storms turbulence + the sink split; contradiction fraction tears rifts; due-for-review pulses it. Deterministic per mote (no Math.random in the loop). - Guardrails: no WebGPU / null adapter / context throw -> renders nothing (page background shows, never a black canvas). prefers-reduced-motion freezes drift but keeps the metric snapshot. Page-Visibility + IntersectionObserver gate the rAF loop. DPR clamped, mobile-first budget. - Wired to the two highest-signal routes: /stats (endangered + due) and /contradictions (fracture). Reusable — any remaining route adopts it with one import + real metric props. Verified live: /stats renders the field reading the retention distribution (dense healthy top, endangered embers); /contradictions shows a calm crimson field at 0 contradictions (fracture=0). check 0 err, 1043 tests, build green. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| dashboard | ||