NewAmp 2.1.0 — Featherweight
The performance release. A 71-agent adversarial audit hunted down every reason NewAmp could "get heavy" on long sessions — and the visualizer learned to fly by its instruments.
✈️ Auto-Pilot
Every Eviland surface now governs itself by measured frame cost instead of a one-shot hardware sniff. Sustained over-budget frames step internal resolution down (then frame rate, at the floor); proven headroom steps back up. Discrete steps, dwell and cooldown — no sawtooth, no visible pop. The MilkDrop frame self-governs the same way and finally respects a 45fps cadence cap instead of rendering at your monitor's full refresh rate (144Hz displays were paying 3–5× the useful GPU cost). Pause your music and it glides to 20fps and stops compiling presets you can't hear — each of those was a 50–80MB allocation storm every 22 seconds.
A thermal-throttled laptop and a gaming rig now both get the best picture they can actually hold.
📺 Two new scenes (31 total)
- Phosphor Scope — a dual-trace vintage oscilloscope whose beams are resynthesized live from the spectrum. Stereo width splits the traces; kicks flash the beam; vocals burn the lower trace amber.
- VU Cathedral — a wall of twelve warm-backlit analog VU meters, each needle wired to its own slice of the spectrum, red peak zones lighting when pinned.
🪶 The "gets heavy" fixes
- Instant Replay no longer taxes every session. The 15s replay ring — a hidden second compositor plus a continuous VP9 encode pipeline — used to run the entire time fullscreen Eviland Live was open, even paused, even alt-tabbed. It now arms only while playing and visible, and clip recording never stacks a second capture pipeline.
- Track changes no longer rewrite your whole library database. Play/skip stats batch on a slow flush instead of a full multi-MB synchronous write on every track change; flushes are atomic, and quit still saves everything.
- ffmpeg can't hang or orphan. DNA analysis, ReplayGain, and batch exports got watchdogs, and quitting the app reaps every child process.
- Queue, playlist, and history are virtualized. Thousand-track queues no longer mount thousands of live DOM rows.
- Auto DJ keeps refilling on long sessions (it used to silently stop once played history reached the lookahead target).
- The AI Director stopped allocating ~20 objects 10×/sec for the life of every session.
- Plus: mode-switch bridge leaks fixed, detached-projector producer lifetime fixed, OS media-control churn eliminated, transport footer re-renders eliminated, audio automation timeline hygiene, settings hot-path debounce, and caps on every log/cache that grew forever.
Verification
Full local release gate (typecheck, 120+ smoke battery, packaged-app launch proofs, checksums, provenance) passed before tagging. New test:eviland-governor suite locks the governor's ladder, hysteresis, and paint-gap behavior.
Builds are not yet code-signed: Windows SmartScreen may ask for "More info → Run anyway", and macOS may want right-click → Open on first launch. Verify downloads against
SHA256SUMS.txt.
🤖 Generated with Claude Code