vestige/apps
Sam Valladares deb3b82134 fix(dashboard): correct WebGPU shader coordinate + frame-rate bugs (MiniMax M3 audit)
MiniMax M3 (max-depth audit, fresh eyes on the shader MATH that Claude+Kimi's
lifecycle-focused passes missed) found 4 pre-existing criticals, all verified:

- C1 aspect-ratio inversion: vertex shader divided particle X by aspect, which
  SQUASHED the whole field into the center ~56% of a 16:9 screen (~22% empty
  bars each side). Fix: position now uses the full [-1,1] clip box (no divide);
  roundness comes from a proper px2ndc = 2/viewport corner offset so quads are
  sizePx x sizePx device px on any aspect ratio (also kills the 0.01 magic number).
- C3 firewall flare landed at the wrong X (distance measured in unit-box space
  while the particle rendered in divided space). Fixed-for-free by C1; the crimson
  distance is now aspect-corrected so the halo is circular, centered on the catch.
- C4 frame-rate-dependent flow absorption: the velocity lerp used a fixed 0.06
  per-frame factor (not dt-scaled), so the field was 2x snappier at 120Hz
  ProMotion vs 60Hz. Fix: absorb = 1 - exp(-dt * 3.7) — identical feel at 60fps,
  correct everywhere else.

VERIFIED: svelte-check 0 errors / 967 files; zero WGSL validation errors in the
browser (a broken shader struct/syntax would throw at pipeline creation — none).
NOTE: the on-screen full-width widening is not yet visually captured this session
— the preview backend returns API 500 so the (app) layout error-states and the
field doesn't mount; pending eyeball on a wide window against a live backend.
Memory Cinema / Graph3D untouched.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-27 14:52:45 -05:00
..
dashboard fix(dashboard): correct WebGPU shader coordinate + frame-rate bugs (MiniMax M3 audit) 2026-06-27 14:52:45 -05:00