mirror of
https://github.com/samvallad33/vestige.git
synced 2026-07-24 23:41:01 +02:00
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> |
||
|---|---|---|
| .. | ||
| build | ||
| e2e | ||
| src | ||
| static | ||
| .env.example | ||
| package-lock.json | ||
| package.json | ||
| playwright.config.ts | ||
| svelte.config.js | ||
| tsconfig.json | ||
| verify-launch-mobile.mjs | ||
| verify-launch.mjs | ||
| vite.config.ts | ||