mirror of
https://github.com/samvallad33/vestige.git
synced 2026-07-24 23:41:01 +02:00
Turn all 17 sparse organs from text-on-black voids into full-bleed, moving, bioluminescent WebGPU fields. Each cell maps to a real backend fact; verified live on the real brain with a decoded fill% + motion + zero-error probe. Foundation: one reusable LivingFieldPass (src/lib/observatory/field/) does splat -> separable-blur (render passes) -> membrane base coat -> HDR cells with orbital drift and a CPU pick-mirror. Each organ writes a ~20-line data->cells mapper (cell-layout.ts: layoutGalaxy / layoutRings / FIELD_HUE). Organs brought alive (fill% before -> after, all zero WebGPU errors): stats 0.8->80.9, observatory 10.8->81.4, graph 12.3->82.4, memories ->78.4, blackbox 18.2->83.3, contradictions 1.6->69.6, dreams 0.3->64.5, settings 2.7->76.4, reasoning 2.7->39.2, patterns 7.1->45.6, activation 10->64.9, feed ->89, explore ->83.3, intentions ->66.6, importance ->73.7, memory-prs ->74.4, schedule ->37.1. Backend surfaces: add api.memoryChangelog() + ChangelogResponse; surface suppress/unsuppress on the memories field (shift/alt-click -> scar). Tests: palace-launch-gate now asserts fillPct>30 + isAnimating (not just non-black), with a longer settle for reasoning's deep_reference and a raised timeout for the curated tour. all-routes-smoke treats settings as the WebGPU field it now is. Gates green: check 0/0, build ok, palace-launch-gate 22/22 + tour, all-routes-smoke 20/20. Protected work untouched: MemoryCinema, graph/cinema, observatory scene shaders, node-renderer, palace-map. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1 line
1.9 KiB
JavaScript
1 line
1.9 KiB
JavaScript
import"../chunks/Bzak7iHL.js";import{d as k,a as M,b as m,e as R}from"../chunks/DAau0uzT.js";import{p as D,a as T,b as B,f as N,c as X,r as Y,g as s,s as _,d as A}from"../chunks/CGq8RnJq.js";import{b as E}from"../chunks/Ccqjq5DS.js";import{O as L}from"../chunks/BMB5u1EX.js";import{T as O}from"../chunks/D7ozXiSB.js";var S=N('<div class="fixed inset-0 bg-[#020307]"><!></div>');function H(f,y){D(y,!0);let o=A(null),e=null,i=null,u=null;async function v(n){i=n;const t=new O(n);e=t,await t.init(),t.setText({id:"msdf-test-line",kind:"msdf-test",text:"hello | 5de3e41f | trust 51%",x:-.62,y:.03,size:.105,color:[.14,.78,.87,1],startFrame:0,revealSpan:20,maxWidthEm:18,depth:.51,weight:.51}),n.addPass(t),n.demoClock.reset()}function x(n){if(!s(o)||!e)return;const t=s(o).getBoundingClientRect();if(t.width<=0||t.height<=0)return;const c=(n.clientX-t.left)/t.width*2-1,h=-((n.clientY-t.top)/t.height*2-1),a=e.pickAt(c,h);a&&console.info("[msdf-test] picked",a.id)}function g(n){if(!s(o))return null;const t=s(o).getBoundingClientRect();return t.width<=0||t.height<=0?null:{x:(n.clientX-t.left)/t.width*2-1,y:-((n.clientY-t.top)/t.height*2-1)}}function w(n){if(!s(o)||!i)return;const t=g(n);if(!t)return;const c=s(o).getBoundingClientRect(),h=Math.max(1e-4,c.width/Math.max(1,c.height)),a={x:t.x*Math.max(h,1),y:t.y/Math.min(h,1)},l=u??a,d={x:l.x+(a.x-l.x)*.35,y:l.y+(a.y-l.y)*.35};u=d,i.setCursorPreNdc(d.x,d.y,d.x-l.x,d.y-l.y);const p=e==null?void 0:e.pickAt(t.x,t.y);e==null||e.setRunDepth((p==null?void 0:p.id)??null,p?1:.51)}function C(){u=null,i==null||i.setCursorPreNdc(999,999,0,0),e==null||e.setRunDepth(null,.51)}M(()=>{e==null||e.dispose(),e=null,i=null});var r=S(),b=X(r);L(b,{demo:"recall-path",seed:"msdf-test-v1",onready:v}),Y(r),E(r,n=>_(o,n),()=>s(o)),m("pointerdown",r,x),m("pointermove",r,w),R("pointerleave",r,C),T(f,r),B()}k(["pointerdown","pointermove"]);export{H as component};
|