RustTracker v0.9.12
RustTracker v0.9.12 — Visualization System Overhaul
Critical fixes
- Ferrofluid Particle Sim: WGSL/host buffer stride mismatch — a third of all particles were phantom static splats. All 100k particles now simulate.
- Video playback: aspect-fit now uses the real surface size; fixed a potential panic on 8-bit video whose decoder stride violates GPU row alignment.
- Synthwave Racer: floating light pools now match lamppost spacing; car silhouette pinholes fixed.
Framerate independence
All animation and simulation timing is now refresh-rate independent — fire, ferrofluid, bioluminescence and every time-based visual now looks identical at 60Hz, 144Hz, or any target FPS.
Realism pass
- Fire Simulation: real flame licks with upward-scrolling anisotropic erosion, tongue seeding, flame bending, blue combustion fringe, rising ember sparks, merged fire line, proper smoke. No more blown-out white cores or purple fringing.
- Retro VU Meters: DENON branding removed (generic AUDIO marker). The unit is now a proper rounded rectangular chassis with rolled bevel edge, rack screws, pivot cap, dial grain, and signal-reactive backlight.
- Matrix Digital Rain: authentic half-width katakana + digits character set (55 glyphs).
- Synthwave Racer car: tapered fuselage, rounded SDF panels with smooth blends, side skirts and front valance.
Performance
- Dead GPU FFT pipeline removed (~8MB VRAM + startup cost); 1.2MB waveform and 256KB spectrum uploads now skipped when unchanged.
- VU meters ray-AABB pre-test, ferrofluid sky early-out + adaptive step scaling, neon smoke bypass when silent, fire black-pixel early-out.
Robustness
~80 spec-indeterminate reversed-edge smoothstep calls migrated to a shared helper; a dozen per-shader correctness fixes (see VIS_REVIEW.md in the repo for the full audit).