CLAUDE.md's "Per-panel viz controls" section states:
Stale h3d_bg_panel<N>_* keys from a panel that later stopped running 3D are inert (the plugin only reads panel<N> keys for a live panel N) — they're left in place, same as the original palette behavior.
"Inert" only holds if panel N never runs 3D again. But these keys are namespaced by panel index, not by session or song — so a user who re-enables 3D viz on panel N later (a different session, a different song, months later) silently inherits whatever per-panel overrides were left from the earlier stint. This reads as a bug from the user's perspective ("why does panel 2 always come up with a weird palette?"), not as inert dead data. The same CLAUDE.md section's cross-window caveat (main + popup both write panel<N> keys, last-write-wins) compounds this — a value written by a different window's panel N, at a different time, can resurface.
This may be an intentional UX choice (per-panel-slot settings persist across sessions/songs), which is defensible — but it's a materially different claim than "inert," and should be documented as such if intentional.
Suggest either:
- Clear a panel's
h3d_bg_panel<N>_* keys in exitVizMode (matching the "inert" description as actually correct), or
- Reword the doc to describe the real, intended behavior: per-panel-slot viz settings persist indefinitely and are inherited by whatever plugin next runs 3D viz in that slot.
CLAUDE.md's "Per-panel viz controls" section states:
"Inert" only holds if panel N never runs 3D again. But these keys are namespaced by panel index, not by session or song — so a user who re-enables 3D viz on panel N later (a different session, a different song, months later) silently inherits whatever per-panel overrides were left from the earlier stint. This reads as a bug from the user's perspective ("why does panel 2 always come up with a weird palette?"), not as inert dead data. The same CLAUDE.md section's cross-window caveat (main + popup both write
panel<N>keys, last-write-wins) compounds this — a value written by a different window's panel N, at a different time, can resurface.This may be an intentional UX choice (per-panel-slot settings persist across sessions/songs), which is defensible — but it's a materially different claim than "inert," and should be documented as such if intentional.
Suggest either:
h3d_bg_panel<N>_*keys inexitVizMode(matching the "inert" description as actually correct), or