Pane v2 slice 1b: resizable details pane, preview subsystem removed #633

Merged
Cordy merged 8 commits from fix-pane2b into main 2026-09-20 23:36:40 +00:00
Owner

Second slice of the approved pane-v2 design. Net −905 lines and five vendor viewer libraries out of the image.

  • The pane keeps the debugged resize feature. The #295 divider machinery — pointer-capture drag (the touch/PDF-iframe fix), keyboard steps, dblclick reset — is re-pointed at #detpane, with its own persisted width (cairn-det-w, default 380, min 300, capped by what the pane TAKES not what it keeps). The element deliberately keeps the pvdivider id so its CSS (grip, hover, phone display:none) applies unchanged. Divider shows/hides with the pane (openDetails/closeDetails hooks); window resize re-clamps.
  • Every open path lands in the pane: row and tile name clicks, the row menu's Open, and ArrowUp/ArrowDown file-stepping (re-implemented against detItem, same skip-folders semantics). Escape closes the pane.
  • The preview subsystem is deleted: pvpanel DOM+builders, openPreview/closePreview, all client renderers (docx-preview, SheetJS, PptxViewJS, pdf iframe, md/text doc view), the phone wave-C preview layers (history push + swipe), and the five vendor-* assets. pvExt/pvRaw/pvEsc/mdToHtml are kept (used by rows and the hero). setView/openAdmin/openEditor call sites retargeted or dropped.
  • Guards updated to the single-pane world: det-dock's insertion + "one pane at a time" tests; new det-resize.test.js (17 asserts) pins the resizer behavior and the deletion.

Known follow-ups for the sweep slice (3): phone pass for the details sheet (swipe/history), dead CSS pruning (#pv* rules, .pvsel, [data-pv]), unused pv i18n keys.

Red-green on the runner: RED confirmed, full go test + extract fence + all web suites green (commit ecf3702).

Second slice of the approved pane-v2 design. Net −905 lines and five vendor viewer libraries out of the image. - **The pane keeps the debugged resize feature.** The #295 divider machinery — pointer-capture drag (the touch/PDF-iframe fix), keyboard steps, dblclick reset — is re-pointed at #detpane, with its own persisted width (`cairn-det-w`, default 380, min 300, capped by what the pane TAKES not what it keeps). The element deliberately keeps the `pvdivider` id so its CSS (grip, hover, phone display:none) applies unchanged. Divider shows/hides with the pane (openDetails/closeDetails hooks); window resize re-clamps. - **Every open path lands in the pane:** row and tile name clicks, the row menu's Open, and ArrowUp/ArrowDown file-stepping (re-implemented against `detItem`, same skip-folders semantics). Escape closes the pane. - **The preview subsystem is deleted:** pvpanel DOM+builders, openPreview/closePreview, all client renderers (docx-preview, SheetJS, PptxViewJS, pdf iframe, md/text doc view), the phone wave-C preview layers (history push + swipe), and the five `vendor-*` assets. `pvExt`/`pvRaw`/`pvEsc`/`mdToHtml` are kept (used by rows and the hero). setView/openAdmin/openEditor call sites retargeted or dropped. - Guards updated to the single-pane world: det-dock's insertion + "one pane at a time" tests; new `det-resize.test.js` (17 asserts) pins the resizer behavior and the deletion. Known follow-ups for the sweep slice (3): phone pass for the details sheet (swipe/history), dead CSS pruning (#pv* rules, .pvsel, [data-pv]), unused pv i18n keys. Red-green on the runner: RED confirmed, full go test + extract fence + all web suites green (commit ecf3702).
Cordy merged commit 84d0a398f9 into main 2026-09-20 23:36:40 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: Cordy/Cairn#633
No description provided.