Background
slopsmith-plugin-splitscreen (a sibling repo sharing this plugin's architecture, function names, and CLAUDE.md contract) has a KNOWN_ISSUES.md cataloging 7 UI bugs found in a frontend audit of its screen.js. Because both repos share the same panel lifecycle/state contracts, several of these likely reproduce here unfixed. This repo has since diverged (per-panel names, top-right Pop/Dock, exposed panels API — PR got-feedBack#20), so exact line numbers won't match; each item needs to be independently verified against this repo's current screen.js.
Items to check
- Invert state not persisted/restored —
panelToPrefs/prefs-restore path may carry lefty/lyrics but drop inverted, even though pop-out/dock/follower-config code paths thread it through. Repro: toggle Invert, reload or trigger rebuildLayout()/pop+dock — check if Invert silently resets.
- Lyrics overlay toggle button not hidden in Lyrics-pane / Jumping-Tab-pane mode — CLAUDE.md says Invert/Lyrics/Tab buttons should be hidden in those modes; check if
lyricsBtn specifically is exempted, causing overlay-on-overlay duplication.
- Per-panel note detector not torn down/rebuilt across mode/arrangement switches — check if
toggleDetect's captured panel.hw goes stale after recreatePanelHighway swaps the highway on lyrics/JT/viz/arrangement transitions, leaving an orphaned detector running.
popOutPanel() missing the _starting-style in-flight guard used by rebuildLayout()/redock — check for a race where a second quick pop-out can rip out a still-building startSplitScreen().
- Docking a self-split popup only recovers one sub-panel — check whether the
popups tracking structure holds one slot per popup window (not per sub-panel), so docking a popup that split itself into multiple panels loses the others.
- Section-map offset can go stale outside the documented
sizeCanvases() trigger list (activation, controls-bar toggle, window resize, layout change) — check behavior when the section-map bar's own height/visibility changes independently.
getCurrentTime callback missing null-check on #audio in tab-view wiring, inconsistent with the ternary-guarded pattern used elsewhere for #audio access.
Ask
For each item: confirm whether it reproduces in this repo's current code, and if so file/fix as appropriate (or note here if this repo's PR got-feedBack#20 changes already avoid it).
Reference
slopsmith-plugin-splitscreen KNOWN_ISSUES.md (2026-07-22 audit).
Background
slopsmith-plugin-splitscreen(a sibling repo sharing this plugin's architecture, function names, and CLAUDE.md contract) has aKNOWN_ISSUES.mdcataloging 7 UI bugs found in a frontend audit of itsscreen.js. Because both repos share the same panel lifecycle/state contracts, several of these likely reproduce here unfixed. This repo has since diverged (per-panel names, top-right Pop/Dock, exposedpanelsAPI — PR got-feedBack#20), so exact line numbers won't match; each item needs to be independently verified against this repo's currentscreen.js.Items to check
panelToPrefs/prefs-restore path may carrylefty/lyricsbut dropinverted, even though pop-out/dock/follower-config code paths thread it through. Repro: toggle Invert, reload or triggerrebuildLayout()/pop+dock — check if Invert silently resets.lyricsBtnspecifically is exempted, causing overlay-on-overlay duplication.toggleDetect's capturedpanel.hwgoes stale afterrecreatePanelHighwayswaps the highway on lyrics/JT/viz/arrangement transitions, leaving an orphaned detector running.popOutPanel()missing the_starting-style in-flight guard used byrebuildLayout()/redock — check for a race where a second quick pop-out can rip out a still-buildingstartSplitScreen().popupstracking structure holds one slot per popup window (not per sub-panel), so docking a popup that split itself into multiple panels loses the others.sizeCanvases()trigger list (activation, controls-bar toggle, window resize, layout change) — check behavior when the section-map bar's own height/visibility changes independently.getCurrentTimecallback missing null-check on#audioin tab-view wiring, inconsistent with the ternary-guarded pattern used elsewhere for#audioaccess.Ask
For each item: confirm whether it reproduces in this repo's current code, and if so file/fix as appropriate (or note here if this repo's PR got-feedBack#20 changes already avoid it).
Reference
slopsmith-plugin-splitscreen
KNOWN_ISSUES.md(2026-07-22 audit).