diff --git a/plugins/highway_3d/screen.js b/plugins/highway_3d/screen.js index 25198bf..53c6c08 100644 --- a/plugins/highway_3d/screen.js +++ b/plugins/highway_3d/screen.js @@ -14459,7 +14459,11 @@ // costs nothing. const _paneKey = _aspectPaneKey( bundle && bundle.songInfo && bundle.songInfo.arrangement, _paneUid); - _aspectRegisterPane(_paneKey); + // Only feed the Target-picker registry while the tuner is open (same + // gate as the readout). Closed → nothing is registered, so the registry + // can't grow for users who never open the panel; the key is still + // resolved below so any saved overrides keep applying. + if (window.__h3dAspectPanelOpen) _aspectRegisterPane(_paneKey); const _aspTune = _resolveTuneFor(_paneKey); const _aspActive = !!(_aspTune && _aspTune.enabled && !(_aspTune.splitOnly && !_ssActive())); diff --git a/tests/js/highway_3d_wide_fov.test.js b/tests/js/highway_3d_wide_fov.test.js index ead7b58..475dc9c 100644 --- a/tests/js/highway_3d_wide_fov.test.js +++ b/tests/js/highway_3d_wide_fov.test.js @@ -170,8 +170,8 @@ test('a Target select and pane registry drive the per-pane picker', () => { 'the panel must build a Target