summaryrefslogtreecommitdiff
path: root/test/snapshots/layout-open.snap
diff options
context:
space:
mode:
authorGabriel Schneider <[email protected]>2026-07-06 13:10:53 -0300
committerGabriel Schneider <[email protected]>2026-08-01 15:02:07 -0300
commit04cd5a2b41efd6f39c3ba15c32e60843e2c6485d (patch)
tree55e82e6907041314ebd32bb29ea6844a9cd48c45 /test/snapshots/layout-open.snap
parentde4def3548a6729b0dfd2120495a61beef8c8c2c (diff)
downloadpardes-04cd5a2b41efd6f39c3ba15c32e60843e2c6485d.tar.gz
pardes-04cd5a2b41efd6f39c3ba15c32e60843e2c6485d.zip
layout: every pane open/close resizes exactly ONE sibling — never the whole column. Buggy paths fixed: Alt-n inserted a weight-1 shell (whole column reflowed) — now splitBelow the active pane; stackDocLeft (file/image/tutor open with no doc yet) gave the doc a fair share (every pane shrank) — now it halves only the old top pane's slot; ttyForDir (execute from a file pane) appended a weight-1 shell to the rightmost column — now splitBelow its bottom pane; Alt-c moved a pane out without absorbVWeight (all old siblings grew) — now the sibling above absorbs first. Underneath: splitBelow/absorbVWeight/stackDocLeft snap the whole column's weights to on-screen row counts, because computeGeom's per-pane round(avail*w/vsum) let fractional weights jiggle bystanders by a row; evictLonePristineTty recomputes geometry first (a just-stacked doc has no rect). New snap tests layout-open + layout-close cover Alt-n, doc stacking, ttyForDir, Alt-c, tag Del, pty EOF, and column-width handoff. Six goldens regenerated (fileedit, images, look-file, syntax, tutor, windowops): they had frozen the fair-share/append reflow this change removes; every diff is only the doc/split pane sizing, with untouched panes' boundaries restored bit-identical (e.g. bottom pane tag back at its boot row 17 instead of pushed to 22).
Diffstat (limited to 'test/snapshots/layout-open.snap')
-rw-r--r--test/snapshots/layout-open.snap55
1 files changed, 55 insertions, 0 deletions
diff --git a/test/snapshots/layout-open.snap b/test/snapshots/layout-open.snap
new file mode 100644
index 00000000..773cf70d
--- /dev/null
+++ b/test/snapshots/layout-open.snap
@@ -0,0 +1,55 @@
+# every pane open splits ONE existing pane, the rest of the column keeps its
+# sizes: Alt-n splits the active pane, a looked-up file stacking top-left
+# splits only the old top pane, an execute-spawned shell for a file's dir
+# splits only the bottom pane of the rightmost column
+dirmk sub
+file sub/f.txt echo 'TTY'OK
+start 30 100
+wait 8000 sub
+stable 700 20000
+# give pane 0 (top-left) some content so its content-height split is visible
+press left 5 8
+release left 5 8
+stable 400 5000
+key i
+text echo one; echo two
+key enter
+key esc
+settle 700
+stable 400 5000
+snap before
+# Alt-n: new shell below pane 0 — the bottom pane's boundary must not move
+key a-n
+stable 700 15000
+snap altn-left
+# make the right column two panes (Alt-n in a fresh column, trivial split)
+press left 70 8
+release left 70 8
+stable 400 5000
+key a-n
+stable 700 15000
+snap altn-right
+# look sub/f.txt from the bottom-left shell: the doc stacks at the top of the
+# left column, splitting only the old top pane — lower boundaries must not move
+press left 5 27
+release left 5 27
+stable 400 5000
+key i
+text sub/f.txt
+key esc
+settle 700
+stable 400 5000
+press right 7 27
+release right 7 27
+stable 700 15000
+snap file-open
+# execute the file's command (middle drag over line 1): no shell has cwd sub/,
+# so one is forked at the bottom of the rightmost column, splitting only the
+# pane above it
+press middle 8 3
+drag middle 19 3
+release middle 19 3
+wait 10000 TTYOK
+motion 40 25
+stable 700 10000
+snap ttydir