Delete F6's dead two-pane diff-view UI code (keep the baseline data layer) #34
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Delete F6's dead two-pane diff-view UI code (kept only as a hidden command)
Summary
Remove the now-dead F6 two-pane diff view code (the
vscode.difftoggle UI),keeping the F6 baseline store that F7/F10 depend on as the data layer.
Problem / pain
F10 (#29) hid the F6 two-pane diff as a user surface by setting its command +
ctrl+alt+dkeybinding towhen:false— a deliberately small, reversible change.The view's code (
DiffViewController'stoggle/pinCommandUI paths and thevscode.diffplumbing) is still present but unreachable. Carrying dead UI code ismaintenance drag: it reads as live, future refactors must keep it compiling, and it
obscures that the preview is now the single review surface.
Who feels it
The developer maintaining the plugin — dead code costs reading/refactor effort
and invites confusion about which review surfaces are real.
Desired outcome / value
The codebase reflects reality: F6 exists only as the baseline data layer
(
onDidChangeBaseline, the baseline store, the auto-advance on machine landing —all consumed by F7/F10), and the two-pane view code is gone, along with its
hidden command/keybinding declarations in
package.json.Acceptance — "done right"
toggleDiffViewUI path andits
vscode.diffplumbing).DiffViewControllerstillexposes the baseline +
onDidChangeBaseline, still auto-advances at machinelandings (INV-18), and F7/F10 still read it unchanged.
cowriting.toggleDiffView+cowriting.pinDiffBaselinecommand andctrl+alt+dkeybinding declarations are removed frompackage.json(they werewhen:false).npm test,npm run test:e2e, andnpm run buildstay green; no behaviorchange for F7/F10 (baseline/diff still drive the preview).
Scope / non-goals
In scope: deleting the dead two-pane view UI + its
package.jsondeclarations; keeping the baseline store.
Non-goals: any change to F7/F10 rendering or to the baseline semantics
(INV-18); removing
DiffViewControlleritself (it owns the baseline).Assumptions · constraints · dependencies
baseline (live data layer)" is explicit in the F10 spec — the baseline must
survive; only the view goes.
onDidChangeBaselineevent or the auto-advancewiring that F7/F10 subscribe to.
Source / signal
Self-originated — capture session vscode-cowriting-plugin-0031 (2026-06-12),
from the F10 spec's deferred cleanup. Spec:
specs/coauthoring-interactive-review.md§6.7 ("Delete the view code now" — chosenagainst for F10, deferred to a later cleanup PR) / §9. Follows F10
#29, F6#17/#19.Priority (WSJF)
Provisional: Value low (maintenance hygiene; no user-facing change) ·
Time-criticality low · Opportunity low ÷ Size small →
provisional priority/P3. (Decision aid, not auto-scored.)
Decomposition
Task (refactor / dead-code removal, no independent business value). Checklist:
DiffViewController(toggle/pin commandhandlers +
vscode.diffplumbing), keep the baseline store +onDidChangeBaseline.toggleDiffView/pinDiffBaselinecommand +ctrl+alt+dkeybinding declarations from
package.json.Solution notes (optional — NOT a design)
Non-binding: keep
DiffViewControlleras the baseline owner; excise only theview-toggle paths. The E2E suite already asserts
toggleDiffViewis hidden — updatethose assertions to "absent" once the command is removed.