summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGabriel Schneider <[email protected]>2026-09-16 11:53:11 -0300
committerGabriel Schneider <[email protected]>2026-10-01 00:12:14 -0300
commit0b54c599fa5e26fb1754ca0aab53da5fa0e14af1 (patch)
tree69d940d085f0043f19d4196d1d23593619b11dd4
parent71c273b7777ed17bc72c11df1a9221a9e645c714 (diff)
downloadpardes-0b54c599fa5e26fb1754ca0aab53da5fa0e14af1.tar.gz
pardes-0b54c599fa5e26fb1754ca0aab53da5fa0e14af1.zip
Composite tag layers into the macOS e2e captures
Tag text stopped living in the frame grid when the core moved the topbar, the column bar and every pane tag into tag layers of their own; the grid keeps the chrome and the physical grips. readFrame still read the grid alone, so every capture recorded blank header rows and each script timed out waiting for text that was on screen but not in the dump. Flatten the layers back over the grid at one cell per column — the tty backend's spelling, which these goldens exist to stay comparable with — and follow pardes_font_take to its size out-param. The goldens were recorded before the column bar and before the tag gap, so they are rerecorded here: the captures now agree column for column with what the tty renderer paints today. Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
-rw-r--r--test/macos-snapshots/boot.golden16
-rw-r--r--test/macos-snapshots/cwd.golden32
-rw-r--r--test/macos-snapshots/drop.golden42
-rw-r--r--test/macos-snapshots/font.golden48
-rw-r--r--test/macos-snapshots/keys.golden104
-rw-r--r--test/macos-snapshots/rotate.golden128
-rw-r--r--test/macos-snapshots/trackpad.golden130
-rw-r--r--test/macos_e2e.swift68
8 files changed, 299 insertions, 269 deletions
diff --git a/test/macos-snapshots/boot.golden b/test/macos-snapshots/boot.golden
index f79a8e2a..193ff6ab 100644
--- a/test/macos-snapshots/boot.golden
+++ b/test/macos-snapshots/boot.golden
@@ -1,6 +1,7 @@
-== snap boot grid=80x24 cursor=4,2
-|New Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
-|$ /private/tmp/pardes-macos-e2e/boot/cwd Save New Newtty Del Filter
+== snap boot grid=80x24 cursor=4,3
+|Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
+| New Tty Find Grep Joincol
+|$ /private/tmp/pardes-macos-e2e/boot/cwd Tty Save Del Mode Filter Collapse
| $
|
|
@@ -22,11 +23,11 @@
|
|
|
-|
== draw boot 680x396 nonblank
-== snap resized grid=100x30 cursor=4,2
-|New Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
-|$ /private/tmp/pardes-macos-e2e/boot/cwd Save New Newtty Del Filter
+== snap resized grid=100x30 cursor=4,3
+|Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
+| New Tty Find Grep Joincol
+|$ /private/tmp/pardes-macos-e2e/boot/cwd Tty Save Del Mode Filter Collapse
| $
|
|
@@ -54,6 +55,5 @@
|
|
|
-|
== draw resized 850x495 nonblank
== draw panels 850x495 nonblank
diff --git a/test/macos-snapshots/cwd.golden b/test/macos-snapshots/cwd.golden
index 022550d2..4a12335c 100644
--- a/test/macos-snapshots/cwd.golden
+++ b/test/macos-snapshots/cwd.golden
@@ -1,6 +1,7 @@
-== snap spawned grid=100x24 cursor=4,2
-|New Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
-|$ /private/tmp/pardes-macos-e2e/cwd/cwd Save New Newtty Del Filter
+== snap spawned grid=100x24 cursor=4,3
+|Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
+| New Tty Find Grep Joincol
+|$ /private/tmp/pardes-macos-e2e/cwd/cwd Tty Save Del Mode Filter Collapse
| $
|
|
@@ -22,10 +23,10 @@
|
|
|
-|
-== snap moved grid=100x24 cursor=4,3
-|New Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
-|$ /private/tmp Save New Newtty Del Filter
+== snap moved grid=100x24 cursor=4,4
+|Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
+| New Tty Find Grep Joincol
+|$ /private/tmp Tty Save Del Mode Filter Collapse
| $ cd /tmp
| $
|
@@ -47,10 +48,10 @@
|
|
|
-|
-== snap moved-again grid=100x24 cursor=4,4
-|New Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
-|$ / Save New Newtty Del Filter
+== snap moved-again grid=100x24 cursor=4,5
+|Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
+| New Tty Find Grep Joincol
+|$ / Tty Save Del Mode Filter Collapse
| $ cd /tmp
| $ cd /
| $
@@ -72,10 +73,10 @@
|
|
|
-|
-== snap idle grid=100x24 cursor=4,4
-|New Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
-|$ / Save New Newtty Del Filter
+== snap idle grid=100x24 cursor=4,5
+|Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
+| New Tty Find Grep Joincol
+|$ / Tty Save Del Mode Filter Collapse
| $ cd /tmp
| $ cd /
| $
@@ -97,4 +98,3 @@
|
|
|
-|
diff --git a/test/macos-snapshots/drop.golden b/test/macos-snapshots/drop.golden
index 01247ed3..75302bde 100644
--- a/test/macos-snapshots/drop.golden
+++ b/test/macos-snapshots/drop.golden
@@ -1,6 +1,7 @@
-== snap booted grid=100x30 cursor=4,3
-|New Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
-|$ /private/tmp/pardes-macos-e2e/drop/cwd Save New Newtty Del Filter
+== snap booted grid=100x30 cursor=4,4
+|Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
+| New Tty Find Grep Joincol
+|$ /private/tmp/pardes-macos-e2e/drop/cwd Tty Save Del Mode Filter Collapse
| $ printf 'first file\n' > one.txt; printf 'second file\n' > two.txt
| $
|
@@ -28,10 +29,13 @@
|
|
|
-|
-== snap dropped_on_shell grid=100x30 cursor=7,2
-|New Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
-| /private/tmp/pardes-macos-e2e/drop/cwd/one.txt Save New Newtty Del
+== snap dropped_on_shell grid=100x30 cursor=7,6
+|Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
+| New Tty Find Grep Joincol
+|$ /private/tmp/pardes-macos-e2e/drop/cwd Tty Save Del Mode Filter Collapse
+| $ printf 'first file\n' > one.txt; printf 'second file\n' > two.txt
+| $
+| /private/tmp/pardes-macos-e2e/drop/cwd/one.txt Save Tty Del Collapse
| 1 first file
| 2
|
@@ -45,10 +49,6 @@
|
|
|
-|$ /private/tmp/pardes-macos-e2e/drop/cwd Save New Newtty Del Filter
-| $ printf 'first file\n' > one.txt; printf 'second file\n' > two.txt
-| $
-|
|
|
|
@@ -60,28 +60,28 @@
|
|
|
-== snap dropped_on_document grid=100x30 cursor=7,9
-|New Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
-| /private/tmp/pardes-macos-e2e/drop/cwd/one.txt Save New Newtty Del
+== snap dropped_on_document grid=100x30 cursor=7,19
+|Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
+| New Tty Find Grep Joincol
+|$ /private/tmp/pardes-macos-e2e/drop/cwd Tty Save Del Mode Filter Collapse
+| $ printf 'first file\n' > one.txt; printf 'second file\n' > two.txt
+| $
+| /private/tmp/pardes-macos-e2e/drop/cwd/one.txt Save Tty Del Collapse
| 1 first file
| 2
|
|
|
|
-| /private/tmp/pardes-macos-e2e/drop/cwd/two.txt Save New Newtty Del
-| 1 second file
-| 2
|
|
|
|
-|$ /private/tmp/pardes-macos-e2e/drop/cwd Save New Newtty Del Filter
-| $ printf 'first file\n' > one.txt; printf 'second file\n' > two.txt
-| $
-|
|
|
+| /private/tmp/pardes-macos-e2e/drop/cwd/two.txt Save Tty Del Collapse
+| 1 second file
+| 2
|
|
|
diff --git a/test/macos-snapshots/font.golden b/test/macos-snapshots/font.golden
index 2bb87be4..acf12ba6 100644
--- a/test/macos-snapshots/font.golden
+++ b/test/macos-snapshots/font.golden
@@ -1,6 +1,7 @@
-== snap boot grid=100x24 cursor=4,2
-|New Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
-|$ /private/tmp/pardes-macos-e2e/font/cwd Save New Newtty Del Filter
+== snap boot grid=100x24 cursor=4,3
+|Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
+| New Tty Find Grep Joincol
+|$ /private/tmp/pardes-macos-e2e/font/cwd Tty Save Del Mode Filter Collapse
| $
|
|
@@ -22,10 +23,10 @@
|
|
|
-|
-== snap menlo grid=100x24 cursor=4,2
-|New Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
-|$ /private/tmp/pardes-macos-e2e/font/cwd Save New Newtty Del Filter
+== snap menlo grid=100x24 cursor=4,3
+|Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
+| New Tty Find Grep Joincol
+|$ /private/tmp/pardes-macos-e2e/font/cwd Tty Save Del Mode Filter Collapse
| $
|
|
@@ -47,10 +48,10 @@
|
|
|
-|
-== snap unchanged grid=100x24 cursor=4,2
-|New Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
-|$ /private/tmp/pardes-macos-e2e/font/cwd Save New Newtty Del Filter
+== snap unchanged grid=100x24 cursor=4,3
+|Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
+| New Tty Find Grep Joincol
+|$ /private/tmp/pardes-macos-e2e/font/cwd Tty Save Del Mode Filter Collapse
| $
|
|
@@ -72,10 +73,10 @@
|
|
|
-|
-== snap bigger grid=77x18 cursor=4,2
-|New Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
-|$ /private/tmp/pardes-macos-e2e/font/cwd Save New Newtty Del Filter
+== snap bigger grid=77x18 cursor=4,3
+|Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
+| New Tty Find Grep Joincol
+|$ /private/tmp/pardes-macos-e2e/font/cwd Tty Save Del Mode Filter Collapse
| $
|
|
@@ -91,10 +92,10 @@
|
|
|
-|
-== snap reset grid=100x24 cursor=4,2
-|New Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
-|$ /private/tmp/pardes-macos-e2e/font/cwd Save New Newtty Del Filter
+== snap reset grid=100x24 cursor=4,3
+|Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
+| New Tty Find Grep Joincol
+|$ /private/tmp/pardes-macos-e2e/font/cwd Tty Save Del Mode Filter Collapse
| $
|
|
@@ -116,10 +117,10 @@
|
|
|
-|
-== snap floor grid=242x56 cursor=4,2
-|New Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
-|$ /private/tmp/pardes-macos-e2e/font/cwd Save New Newtty Del Filter
+== snap floor grid=242x56 cursor=4,3
+|Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
+| New Tty Find Grep Joincol
+|$ /private/tmp/pardes-macos-e2e/font/cwd Tty Save Del Mode Filter Collapse
| $
|
|
@@ -173,4 +174,3 @@
|
|
|
-|
diff --git a/test/macos-snapshots/keys.golden b/test/macos-snapshots/keys.golden
index 89733a4d..f459c9c2 100644
--- a/test/macos-snapshots/keys.golden
+++ b/test/macos-snapshots/keys.golden
@@ -1,6 +1,7 @@
-== snap typed grid=80x24 cursor=16,2
-|New Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
-|$ /private/tmp/pardes-macos-e2e/keys/cwd Save New Newtty Del Filter
+== snap typed grid=80x24 cursor=16,3
+|Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
+| New Tty Find Grep Joincol
+|$ /private/tmp/pardes-macos-e2e/keys/cwd Tty Save Del Mode Filter Collapse
| $ echo al''pha
|
|
@@ -22,10 +23,10 @@
|
|
|
-|
-== snap ran grid=80x24 cursor=4,4
-|New Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
-|$ /private/tmp/pardes-macos-e2e/keys/cwd Save New Newtty Del Filter
+== snap ran grid=80x24 cursor=4,5
+|Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
+| New Tty Find Grep Joincol
+|$ /private/tmp/pardes-macos-e2e/keys/cwd Tty Save Del Mode Filter Collapse
| $ echo al''pha
| alpha
| $
@@ -47,10 +48,10 @@
|
|
|
-|
-== snap fixed grid=80x24 cursor=16,4
-|New Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
-|$ /private/tmp/pardes-macos-e2e/keys/cwd Save New Newtty Del Filter
+== snap fixed grid=80x24 cursor=16,5
+|Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
+| New Tty Find Grep Joincol
+|$ /private/tmp/pardes-macos-e2e/keys/cwd Tty Save Del Mode Filter Collapse
| $ echo al''pha
| alpha
| $ echo bra''vo
@@ -72,10 +73,10 @@
|
|
|
-|
-== snap second grid=80x24 cursor=4,6
-|New Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
-|$ /private/tmp/pardes-macos-e2e/keys/cwd Save New Newtty Del Filter
+== snap second grid=80x24 cursor=4,7
+|Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
+| New Tty Find Grep Joincol
+|$ /private/tmp/pardes-macos-e2e/keys/cwd Tty Save Del Mode Filter Collapse
| $ echo al''pha
| alpha
| $ echo bra''vo
@@ -97,10 +98,10 @@
|
|
|
-|
-== snap normal grid=80x24 cursor=4,6
-|New Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
-| /private/tmp/pardes-macos-e2e/keys/cwd Save New Newtty Del Filter
+== snap normal grid=80x24 cursor=4,7
+|Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
+| New Tty Find Grep Joincol
+| /private/tmp/pardes-macos-e2e/keys/cwd Tty Save Del Mode Filter Collapse
| echo al''pha
| alpha
| echo bra''vo
@@ -122,10 +123,10 @@
|
|
|
-|
-== snap moved grid=80x24 cursor=7,3
-|New Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
-| /private/tmp/pardes-macos-e2e/keys/cwd Save New Newtty Del Filter
+== snap moved grid=80x24 cursor=7,4
+|Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
+| New Tty Find Grep Joincol
+| /private/tmp/pardes-macos-e2e/keys/cwd Tty Save Del Mode Filter Collapse
| echo al''pha
| alpha
| echo bra''vo
@@ -147,10 +148,10 @@
|
|
|
-|
-== snap home grid=80x24 cursor=2,3
-|New Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
-| /private/tmp/pardes-macos-e2e/keys/cwd Save New Newtty Del Filter
+== snap home grid=80x24 cursor=2,4
+|Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
+| New Tty Find Grep Joincol
+| /private/tmp/pardes-macos-e2e/keys/cwd Tty Save Del Mode Filter Collapse
| echo al''pha
| alpha
| echo bra''vo
@@ -172,10 +173,10 @@
|
|
|
-|
-== snap end grid=80x24 cursor=6,3
-|New Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
-| /private/tmp/pardes-macos-e2e/keys/cwd Save New Newtty Del Filter
+== snap end grid=80x24 cursor=6,4
+|Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
+| New Tty Find Grep Joincol
+| /private/tmp/pardes-macos-e2e/keys/cwd Tty Save Del Mode Filter Collapse
| echo al''pha
| alpha
| echo bra''vo
@@ -197,10 +198,10 @@
|
|
|
-|
-== snap pagedown grid=80x24 cursor=2,5
-|New Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
-| /private/tmp/pardes-macos-e2e/keys/cwd Save New Newtty Del Filter
+== snap pagedown grid=80x24 cursor=2,6
+|Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
+| New Tty Find Grep Joincol
+| /private/tmp/pardes-macos-e2e/keys/cwd Tty Save Del Mode Filter Collapse
| echo al''pha
| alpha
| echo bra''vo
@@ -222,10 +223,10 @@
|
|
|
-|
-== snap pageup grid=80x24 cursor=2,5
-|New Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
-| /private/tmp/pardes-macos-e2e/keys/cwd Save New Newtty Del Filter
+== snap pageup grid=80x24 cursor=2,6
+|Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
+| New Tty Find Grep Joincol
+| /private/tmp/pardes-macos-e2e/keys/cwd Tty Save Del Mode Filter Collapse
| echo al''pha
| alpha
| echo bra''vo
@@ -247,10 +248,10 @@
|
|
|
-|
-== snap deleted grid=80x24 cursor=2,5
-|New Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
-| /private/tmp/pardes-macos-e2e/keys/cwd Save New Newtty Del Filter
+== snap deleted grid=80x24 cursor=2,6
+|Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
+| New Tty Find Grep Joincol
+| /private/tmp/pardes-macos-e2e/keys/cwd Tty Save Del Mode Filter Collapse
| echo al''pha
| alpha
| echo bra''vo
@@ -272,10 +273,10 @@
|
|
|
-|
-== snap escaped grid=80x24 cursor=2,5
-|New Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
-| /private/tmp/pardes-macos-e2e/keys/cwd Save New Newtty Del Filter
+== snap escaped grid=80x24 cursor=2,6
+|Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
+| New Tty Find Grep Joincol
+| /private/tmp/pardes-macos-e2e/keys/cwd Tty Save Del Mode Filter Collapse
| echo al''pha
| alpha
| echo bra''vo
@@ -297,10 +298,10 @@
|
|
|
-|
-== snap tabbed grid=80x24 cursor=2,5
-|New Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
-| /private/tmp/pardes-macos-e2e/keys/cwd Save New Newtty Del Filter
+== snap tabbed grid=80x24 cursor=2,6
+|Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
+| New Tty Find Grep Joincol
+| /private/tmp/pardes-macos-e2e/keys/cwd Tty Save Del Mode Filter Collapse
| echo al''pha
| alpha
| echo bra''vo
@@ -322,4 +323,3 @@
|
|
|
-|
diff --git a/test/macos-snapshots/rotate.golden b/test/macos-snapshots/rotate.golden
index 3254a7fc..0f6dcc4b 100644
--- a/test/macos-snapshots/rotate.golden
+++ b/test/macos-snapshots/rotate.golden
@@ -1,6 +1,7 @@
-== snap results grid=100x30 cursor=7,4
-|New Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
-| /private/tmp/pardes-macos-e2e/rotate/cwd Save New Newtty Del Filter
+== snap results grid=100x30 cursor=7,5
+|Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
+| New Tty Find Grep Joincol
+| /private/tmp/pardes-macos-e2e/rotate/cwd Tty Save Del Mode Filter Collapse
| printf 'x MA''RK %s\nzz\n' 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| 24
| x MARK 01
@@ -24,14 +25,14 @@
| x MARK 10
| zz
| x MARK 11
-| zz
-| /private/tmp/pardes-macos-e2e/rotate/cwd/+Search Save New Newtty Del
-| 1 @p0:3:3-6 x MARK 01
-| 2 @p0:5:3-6 x MARK 02
-| 3 @p0:7:3-6 x MARK 03
+| /private/tmp/pardes-macos-e2e/rotate/cwd/+Search Save Tty Del Collapse LocationsConfig
+| 1 @p0:3:3-6
+| 2 x MARK 01
+| 3 @p0:5:3-6
== snap forward grid=100x30 cursor=7,28
-|New Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
-| /private/tmp/pardes-macos-e2e/rotate/cwd Save New Newtty Del Filter
+|Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
+| New Tty Find Grep Joincol
+| /private/tmp/pardes-macos-e2e/rotate/cwd Tty Save Del Mode Filter Collapse
| printf 'x MA''RK %s\nzz\n' 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| 24
| x MARK 01
@@ -55,14 +56,14 @@
| x MARK 10
| zz
| x MARK 11
-| zz
-| /private/tmp/pardes-macos-e2e/rotate/cwd/+Search Save New Newtty Del
-| 1 @p0:3:3-6 x MARK 01
-| 2 @p0:5:3-6 x MARK 02
-| 3 @p0:7:3-6 x MARK 03
+| /private/tmp/pardes-macos-e2e/rotate/cwd/+Search Save Tty Del Collapse LocationsConfig
+| 2 x MARK 01
+| 3 @p0:5:3-6
+| 4 x MARK 02
== snap forward2 grid=100x30 cursor=7,28
-|New Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
-| /private/tmp/pardes-macos-e2e/rotate/cwd Save New Newtty Del Filter
+|Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
+| New Tty Find Grep Joincol
+| /private/tmp/pardes-macos-e2e/rotate/cwd Tty Save Del Mode Filter Collapse
| printf 'x MA''RK %s\nzz\n' 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| 24
| x MARK 01
@@ -86,14 +87,14 @@
| x MARK 10
| zz
| x MARK 11
-| zz
-| /private/tmp/pardes-macos-e2e/rotate/cwd/+Search Save New Newtty Del
-| 2 @p0:5:3-6 x MARK 02
-| 3 @p0:7:3-6 x MARK 03
-| 4 @p0:9:3-6 x MARK 04
+| /private/tmp/pardes-macos-e2e/rotate/cwd/+Search Save Tty Del Collapse LocationsConfig
+| 4 x MARK 02
+| 5 @p0:7:3-6
+| 6 x MARK 03
== snap back grid=100x30 cursor=7,28
-|New Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
-| /private/tmp/pardes-macos-e2e/rotate/cwd Save New Newtty Del Filter
+|Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
+| New Tty Find Grep Joincol
+| /private/tmp/pardes-macos-e2e/rotate/cwd Tty Save Del Mode Filter Collapse
| printf 'x MA''RK %s\nzz\n' 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| 24
| x MARK 01
@@ -117,14 +118,14 @@
| x MARK 10
| zz
| x MARK 11
-| zz
-| /private/tmp/pardes-macos-e2e/rotate/cwd/+Search Save New Newtty Del
-| 2 @p0:5:3-6 x MARK 02
-| 3 @p0:7:3-6 x MARK 03
-| 4 @p0:9:3-6 x MARK 04
+| /private/tmp/pardes-macos-e2e/rotate/cwd/+Search Save Tty Del Collapse LocationsConfig
+| 4 x MARK 02
+| 5 @p0:7:3-6
+| 6 x MARK 03
== snap forward_by_key grid=100x30 cursor=7,28
-|New Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
-| /private/tmp/pardes-macos-e2e/rotate/cwd Save New Newtty Del Filter
+|Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
+| New Tty Find Grep Joincol
+| /private/tmp/pardes-macos-e2e/rotate/cwd Tty Save Del Mode Filter Collapse
| printf 'x MA''RK %s\nzz\n' 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| 24
| x MARK 01
@@ -148,14 +149,14 @@
| x MARK 10
| zz
| x MARK 11
-| zz
-| /private/tmp/pardes-macos-e2e/rotate/cwd/+Search Save New Newtty Del
-| 3 @p0:7:3-6 x MARK 03
-| 4 @p0:9:3-6 x MARK 04
-| 5 @p0:11:3-6 x MARK 05
+| /private/tmp/pardes-macos-e2e/rotate/cwd/+Search Save Tty Del Collapse LocationsConfig
+| 6 x MARK 03
+| 7 @p0:9:3-6
+| 8 x MARK 04
== snap placed grid=100x30 cursor=7,28
-|New Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
-| /private/tmp/pardes-macos-e2e/rotate/cwd Save New Newtty Del Filter
+|Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
+| New Tty Find Grep Joincol
+| /private/tmp/pardes-macos-e2e/rotate/cwd Tty Save Del Mode Filter Collapse
| printf 'x MA''RK %s\nzz\n' 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| 24
| x MARK 01
@@ -179,14 +180,14 @@
| x MARK 10
| zz
| x MARK 11
-| zz
-| /private/tmp/pardes-macos-e2e/rotate/cwd/+Search Save New Newtty Del
-| 3 @p0:7:3-6 x MARK 03
-| 4 @p0:9:3-6 x MARK 04
-| 5 @p0:11:3-6 x MARK 05
+| /private/tmp/pardes-macos-e2e/rotate/cwd/+Search Save Tty Del Collapse LocationsConfig
+| 6 x MARK 03
+| 7 @p0:9:3-6
+| 8 x MARK 04
== snap placed_released grid=100x30 cursor=7,28
-|New Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
-| /private/tmp/pardes-macos-e2e/rotate/cwd Save New Newtty Del Filter
+|Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
+| New Tty Find Grep Joincol
+| /private/tmp/pardes-macos-e2e/rotate/cwd Tty Save Del Mode Filter Collapse
| printf 'x MA''RK %s\nzz\n' 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| 24
| x MARK 01
@@ -210,14 +211,14 @@
| x MARK 10
| zz
| x MARK 11
-| zz
-| /private/tmp/pardes-macos-e2e/rotate/cwd/+Search Save New Newtty Del
-| 3 @p0:7:3-6 x MARK 03
-| 4 @p0:9:3-6 x MARK 04
-| 5 @p0:11:3-6 x MARK 05
+| /private/tmp/pardes-macos-e2e/rotate/cwd/+Search Save Tty Del Collapse LocationsConfig
+| 6 x MARK 03
+| 7 @p0:9:3-6
+| 8 x MARK 04
== snap thrown grid=100x30 cursor=7,28
-|New Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
-| /private/tmp/pardes-macos-e2e/rotate/cwd Save New Newtty Del Filter
+|Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
+| New Tty Find Grep Joincol
+| /private/tmp/pardes-macos-e2e/rotate/cwd Tty Save Del Mode Filter Collapse
| printf 'x MA''RK %s\nzz\n' 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| 24
| x MARK 01
@@ -241,14 +242,14 @@
| x MARK 10
| zz
| x MARK 11
-| zz
-| /private/tmp/pardes-macos-e2e/rotate/cwd/+Search Save New Newtty Del
-| 7 @p0:15:3-6 x MARK 07
-| 8 @p0:17:3-6 x MARK 08
-| 9 @p0:19:3-6 x MARK 09
+| /private/tmp/pardes-macos-e2e/rotate/cwd/+Search Save Tty Del Collapse LocationsConfig
+| 14 x MARK 07
+| 15 @p0:17:3-6
+| 16 x MARK 08
== snap thrown_coasted grid=100x30 cursor=7,28
-|New Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
-| /private/tmp/pardes-macos-e2e/rotate/cwd Save New Newtty Del Filter
+|Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
+| New Tty Find Grep Joincol
+| /private/tmp/pardes-macos-e2e/rotate/cwd Tty Save Del Mode Filter Collapse
| printf 'x MA''RK %s\nzz\n' 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| 24
| x MARK 01
@@ -272,9 +273,8 @@
| x MARK 10
| zz
| x MARK 11
-| zz
-| /private/tmp/pardes-macos-e2e/rotate/cwd/+Search Save New Newtty Del
-| 17 @p0:35:3-6 x MARK 17
-| 18 @p0:37:3-6 x MARK 18
-| 19 @p0:39:3-6 x MARK 19
+| /private/tmp/pardes-macos-e2e/rotate/cwd/+Search Save Tty Del Collapse LocationsConfig
+| 34 x MARK 17
+| 35 @p0:37:3-6
+| 36 x MARK 18
== draw rotate 850x495 nonblank
diff --git a/test/macos-snapshots/trackpad.golden b/test/macos-snapshots/trackpad.golden
index b5f9f567..221b675e 100644
--- a/test/macos-snapshots/trackpad.golden
+++ b/test/macos-snapshots/trackpad.golden
@@ -1,6 +1,7 @@
-== snap ready grid=100x30 cursor=4,8
-|New Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
-| /private/tmp/pardes-macos-e2e/trackpad/cwd Save New Newtty Del Filter
+== snap ready grid=100x30 cursor=4,9
+|Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
+| New Tty Find Grep Joincol
+| /private/tmp/pardes-macos-e2e/trackpad/cwd Tty Save Del Mode Filter Collapse
| printf 'x MA''RK a\nzz\nx MA''RK b\nzz\nx MA''RK c\n'
| x MARK a
| zz
@@ -28,10 +29,10 @@
|
|
|
-|
-== snap adapter grid=100x30 cursor=7,5
-|New Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
-| /private/tmp/pardes-macos-e2e/trackpad/cwd Save New Newtty Del Filter
+== snap adapter grid=100x30 cursor=7,3
+|Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
+| New Tty Find Grep Joincol
+| /private/tmp/pardes-macos-e2e/trackpad/cwd Tty Save Del Mode Filter Collapse
| printf 'x MA''RK a\nzz\nx MA''RK b\nzz\nx MA''RK c\n'
| x MARK a
| zz
@@ -56,13 +57,13 @@
|
|
|
-| /private/tmp/pardes-macos-e2e/trackpad/cwd/+Search Save New Newtty Del
-| 1 @p0:2:3-6 x MARK a
-| 2 @p0:4:3-6 x MARK b
-| 3 @p0:6:3-6 x MARK c
-== snap look grid=100x30 cursor=7,5
-|New Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
-| /private/tmp/pardes-macos-e2e/trackpad/cwd Save New Newtty Del Filter
+| /private/tmp/pardes-macos-e2e/trackpad/cwd/+Search Save Tty Del Collapse LocationsConfig
+| 1 @p0:1:1-6
+| 2 printf 'x MA''RK a\nzz\nx MA''RK b\nzz\nx MA''RK c\n'
+== snap look grid=100x30 cursor=7,3
+|Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
+| New Tty Find Grep Joincol
+| /private/tmp/pardes-macos-e2e/trackpad/cwd Tty Save Del Mode Filter Collapse
| printf 'x MA''RK a\nzz\nx MA''RK b\nzz\nx MA''RK c\n'
| x MARK a
| zz
@@ -87,13 +88,13 @@
|
|
|
-| /private/tmp/pardes-macos-e2e/trackpad/cwd/+Search Save New Newtty Del
-| 1 @p0:2:3-6 x MARK a
-| 2 @p0:4:3-6 x MARK b
-| 3 @p0:6:3-6 x MARK c
+| /private/tmp/pardes-macos-e2e/trackpad/cwd/+Search Save Tty Del Collapse LocationsConfig
+| 1 @p0:1:1-6
+| 2 printf 'x MA''RK a\nzz\nx MA''RK b\nzz\nx MA''RK c\n'
== snap dragged grid=100x30 cursor=9,3
-|New Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
-| /private/tmp/pardes-macos-e2e/trackpad/cwd Save New Newtty Del Filter
+|Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
+| New Tty Find Grep Joincol
+| /private/tmp/pardes-macos-e2e/trackpad/cwd Tty Save Del Mode Filter Collapse
| printf 'x MA''RK a\nzz\nx MA''RK b\nzz\nx MA''RK c\n'
| x MARK a
| zz
@@ -118,13 +119,13 @@
|
|
|
-| /private/tmp/pardes-macos-e2e/trackpad/cwd/+Search Save New Newtty Del
-| 1 @p0:2:3-6 x MARK a
-| 2 @p0:4:3-6 x MARK b
-| 3 @p0:6:3-6 x MARK c
+| /private/tmp/pardes-macos-e2e/trackpad/cwd/+Search Save Tty Del Collapse LocationsConfig
+| 1 @p0:1:1-6
+| 2 printf 'x MA''RK a\nzz\nx MA''RK b\nzz\nx MA''RK c\n'
== snap hover grid=100x30 cursor=9,3
-|New Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
-| /private/tmp/pardes-macos-e2e/trackpad/cwd Save New Newtty Del Filter
+|Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
+| New Tty Find Grep Joincol
+| /private/tmp/pardes-macos-e2e/trackpad/cwd Tty Save Del Mode Filter Collapse
| printf 'x MA''RK a\nzz\nx MA''RK b\nzz\nx MA''RK c\n'
| x MARK a
| zz
@@ -149,13 +150,13 @@
|
|
|
-| /private/tmp/pardes-macos-e2e/trackpad/cwd/+Search Save New Newtty Del
-| 1 @p0:2:3-6 x MARK a
-| 2 @p0:4:3-6 x MARK b
-| 3 @p0:6:3-6 x MARK c
+| /private/tmp/pardes-macos-e2e/trackpad/cwd/+Search Save Tty Del Collapse LocationsConfig
+| 1 @p0:1:1-6
+| 2 printf 'x MA''RK a\nzz\nx MA''RK b\nzz\nx MA''RK c\n'
== snap scrolled grid=100x30 cursor=9,3
-|New Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
-| /private/tmp/pardes-macos-e2e/trackpad/cwd Save New Newtty Del Filter
+|Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
+| New Tty Find Grep Joincol
+| /private/tmp/pardes-macos-e2e/trackpad/cwd Tty Save Del Mode Filter Collapse
| printf 'x MA''RK a\nzz\nx MA''RK b\nzz\nx MA''RK c\n'
| x MARK a
| zz
@@ -180,13 +181,13 @@
|
|
|
-| /private/tmp/pardes-macos-e2e/trackpad/cwd/+Search Save New Newtty Del
-| 1 @p0:2:3-6 x MARK a
-| 2 @p0:4:3-6 x MARK b
-| 3 @p0:6:3-6 x MARK c
+| /private/tmp/pardes-macos-e2e/trackpad/cwd/+Search Save Tty Del Collapse LocationsConfig
+| 1 @p0:1:1-6
+| 2 printf 'x MA''RK a\nzz\nx MA''RK b\nzz\nx MA''RK c\n'
== snap notched grid=100x30 cursor=9,3
-|New Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
-| /private/tmp/pardes-macos-e2e/trackpad/cwd Save New Newtty Del Filter
+|Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
+| New Tty Find Grep Joincol
+| /private/tmp/pardes-macos-e2e/trackpad/cwd Tty Save Del Mode Filter Collapse
| printf 'x MA''RK a\nzz\nx MA''RK b\nzz\nx MA''RK c\n'
| x MARK a
| zz
@@ -211,13 +212,13 @@
|
|
|
-| /private/tmp/pardes-macos-e2e/trackpad/cwd/+Search Save New Newtty Del
-| 1 @p0:2:3-6 x MARK a
-| 2 @p0:4:3-6 x MARK b
-| 3 @p0:6:3-6 x MARK c
-== snap exec grid=100x30 cursor=7,10
-|New Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
-| /private/tmp/pardes-macos-e2e/trackpad/cwd Save New Newtty Del Filter
+| /private/tmp/pardes-macos-e2e/trackpad/cwd/+Search Save Tty Del Collapse LocationsConfig
+| 1 @p0:1:1-6
+| 2 printf 'x MA''RK a\nzz\nx MA''RK b\nzz\nx MA''RK c\n'
+== snap exec grid=100x30 cursor=7,11
+|Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
+| New Tty Find Grep Joincol
+| /private/tmp/pardes-macos-e2e/trackpad/cwd Tty Save Del Mode Filter Collapse
| printf 'x MA''RK a\nzz\nx MA''RK b\nzz\nx MA''RK c\n'
| x MARK a
| zz
@@ -225,7 +226,7 @@
| zz
| x MARK c
|
-| /private/tmp/pardes-macos-e2e/trackpad/cwd/+New Save New Newtty Del
+| /private/tmp/pardes-macos-e2e/trackpad/cwd/+New Save Tty Del Collapse
| 1
|
|
@@ -242,13 +243,13 @@
|
|
|
-| /private/tmp/pardes-macos-e2e/trackpad/cwd/+Search Save New Newtty Del
-| 1 @p0:2:3-6 x MARK a
-| 2 @p0:4:3-6 x MARK b
-| 3 @p0:6:3-6 x MARK c
-== snap exec3 grid=100x30 cursor=57,2
-|New Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
-| /private/tmp/pardes-macos-e2e/trackpad/cwd Save /private/tmp/pardes-macos-e2e/trackpad/cwd/+New
+| /private/tmp/pardes-macos-e2e/trackpad/cwd/+Search Save Tty Del Collapse LocationsConfig
+| 1 @p0:1:1-6
+| 2 printf 'x MA''RK a\nzz\nx MA''RK b\nzz\nx MA''RK c\n'
+== snap exec3 grid=100x30 cursor=57,3
+|Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
+| New Tty Find Grep Joincol New Tty Find Grep Joincol
+| /private/tmp/pardes-macos-e2e/trackpad/cwd Tty /private/tmp/pardes-macos-e2e/trackpad/cwd/+New
| RK c\n' 1
| x MARK a
| zz
@@ -256,7 +257,7 @@
| zz
| x MARK c
|
-| /private/tmp/pardes-macos-e2e/trackpad/cwd/+New
+| /private/tmp/pardes-macos-e2e/trackpad/cwd/+New
| 1
|
|
@@ -273,13 +274,13 @@
|
|
|
-| /private/tmp/pardes-macos-e2e/trackpad/cwd/+Sear
-| 1 @p0:2:3-6 x MARK a
-| 2 @p0:4:3-6 x MARK b
-| 3 @p0:6:3-6 x MARK c
+| /private/tmp/pardes-macos-e2e/trackpad/cwd/+Sea
+| 1 @p0:1:1-6
+| 2 printf 'x MA''RK a\nzz\nx MA''RK b\nzz\nx
== snap select grid=100x30 cursor=4,3
-|New Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
-| /private/tmp/pardes-macos-e2e/trackpad/cwd Save /private/tmp/pardes-macos-e2e/trackpad/cwd/+New
+|Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Kill
+| New Tty Find Grep Joincol New Tty Find Grep Joincol
+| /private/tmp/pardes-macos-e2e/trackpad/cwd Tty /private/tmp/pardes-macos-e2e/trackpad/cwd/+New
| RK c\n' 1
| x MARK a
| zz
@@ -287,7 +288,7 @@
| zz
| x MARK c
|
-| /private/tmp/pardes-macos-e2e/trackpad/cwd/+New
+| /private/tmp/pardes-macos-e2e/trackpad/cwd/+New
| 1
|
|
@@ -304,8 +305,7 @@
|
|
|
-| /private/tmp/pardes-macos-e2e/trackpad/cwd/+Sear
-| 1 @p0:2:3-6 x MARK a
-| 2 @p0:4:3-6 x MARK b
-| 3 @p0:6:3-6 x MARK c
+| /private/tmp/pardes-macos-e2e/trackpad/cwd/+Sea
+| 1 @p0:1:1-6
+| 2 printf 'x MA''RK a\nzz\nx MA''RK b\nzz\nx
== draw trackpad 850x495 nonblank
diff --git a/test/macos_e2e.swift b/test/macos_e2e.swift
index 427d8314..58ad5206 100644
--- a/test/macos_e2e.swift
+++ b/test/macos_e2e.swift
@@ -266,8 +266,9 @@ private final class Driver: PardesViewDelegate {
// The app does exactly this on every pump (AppDelegate.pump). Without
// it the `Font` builtin would set a path nobody ever collects, and a
// script asserting the new face would be asserting the old one.
- if let view, let wanted = pardes_font_take() {
- view.adoptFont(path: String(cString: wanted))
+ var fontSize: UInt16 = 0
+ if let view, let wanted = pardes_font_take(&fontSize) {
+ view.adoptFont(path: String(cString: wanted), sizeHundredths: fontSize)
}
}
@@ -353,34 +354,63 @@ private final class Driver: PardesViewDelegate {
return Frame(cols: cols, rows: rows, cursorX: cursorX, cursorY: cursorY, lines: [])
}
- var lines: [String] = []
- lines.reserveCapacity(rows)
+ var grid = [[String]](repeating: [String](repeating: " ", count: cols), count: rows)
for row in 0..<rows {
- var line = ""
- line.reserveCapacity(cols)
for col in 0..<cols {
let cell = cells[row * cols + col]
// A never-painted cell is background only, and a zero-length one
// is the tail half of a wide glyph. Both read as a space, which
// is what the tty oracle's emulator hands back for them too.
- if cell.flags & UInt8(PARDES_CELL_DEFAULT) != 0 || cell.len == 0 {
- line.append(" ")
- continue
- }
- // prefix clamps, so a bogus len cannot walk off the eight bytes,
- // and String(decoding:) substitutes U+FFFD rather than trapping
- // on invalid UTF-8 — a capture has to be able to RECORD garbage,
- // not die of it.
- let text = withUnsafeBytes(of: cell.text) { raw in
- String(decoding: raw.prefix(Int(cell.len)), as: UTF8.self)
- }
- line.append(text.isEmpty ? " " : text)
+ if cell.flags & UInt8(PARDES_CELL_DEFAULT) != 0 || cell.len == 0 { continue }
+ grid[row][col] = cellText(cell)
}
- lines.append(trimTrailingSpaces(line))
}
+ compositeTagLayers(into: &grid, cols: cols, rows: rows)
+ let lines = grid.map { trimTrailingSpaces($0.joined()) }
return Frame(cols: cols, rows: rows, cursorX: cursorX, cursorY: cursorY, lines: lines)
}
+ /// prefix clamps, so a bogus len cannot walk off the eight bytes, and
+ /// String(decoding:) substitutes U+FFFD rather than trapping on invalid
+ /// UTF-8 — a capture has to be able to RECORD garbage, not die of it.
+ private func cellText(_ cell: pardes_cell_s) -> String {
+ let text = withUnsafeBytes(of: cell.text) { raw in
+ String(decoding: raw.prefix(Int(cell.len)), as: UTF8.self)
+ }
+ return text.isEmpty ? " " : text
+ }
+
+ /// Tag text is not in the frame grid any more. The core paints the topbar,
+ /// the column bar and every pane tag into tag layers of their own so a GUI
+ /// shell can set them at the smaller tagline pitch (Pardes.renderTagLayers);
+ /// the grid keeps only the chrome under them and the physical grips. A
+ /// capture that reads the grid alone therefore records blank header rows.
+ ///
+ /// Flatten the layers back over the grid at ONE cell per column. That is
+ /// the tty backend's spelling, and these goldens exist to stay comparable
+ /// with the tty ones row for row — the sub-cell pitch the layers carry is a
+ /// pixel concern with nowhere to live in a character grid.
+ private func compositeTagLayers(into grid: inout [[String]], cols: Int, rows: Int) {
+ for index in 0..<pardes_tag_layer_limit() {
+ let layerCols = Int(pardes_tag_layer_value(index, 0))
+ guard layerCols > 0, let cells = pardes_tag_layer_cells(index) else { continue }
+ let x = Int(pardes_tag_layer_value(index, 4))
+ let y = Int(pardes_tag_layer_value(index, 5))
+ // A layer is allocated wide enough for text the viewport may crop,
+ // so the viewport — not the cell count — decides what is on screen.
+ let width = Int(pardes_tag_layer_value(index, 6))
+ guard y >= 0, y < rows else { continue }
+ for col in 0..<min(layerCols, width) {
+ let at = x + col
+ if at < 0 { continue }
+ if at >= cols { break }
+ let cell = cells[col]
+ if cell.flags & UInt8(PARDES_CELL_DEFAULT) != 0 || cell.len == 0 { continue }
+ grid[y][at] = cellText(cell)
+ }
+ }
+ }
+
// MARK: - captures
private func snap(_ label: String) {