summaryrefslogtreecommitdiff
path: root/docs
Commit message (Collapse)AuthorAge
*-. Merge: 9P round 23 + perf fixes + input garbage fixes + Crt docGabriel Schneider2 days
|\ \
| * | config.md: Crt keeps the GUI drawing while idleGabriel Schneider2 days
| |/
* | Delcol on the last column leaves the window, empty but for its workspace ↵Gabriel Schneider2 days
| | | | | | | | | | | | | | | | tag, as acme's does The last column's Delcol ended the session. The window now stays, with only the workspace tag; Newcol, and New (which makes the column it goes in), start it again. A word run with no pane at all runs with a stand-in that is no pane, the root ctl takes session words, and pane/new makes its scratch in the session's directory. Co-Authored-By: Claude Opus 5.5 <[email protected]>
* | The docs say a look's :col counts bytes, as addr's and every row's doGabriel Schneider2 days
| | | | | | | | | | | | Columns are bytes everywhere a row is written (Grep, the language servers) and read (addr, look); the look's spelling did not say so. Co-Authored-By: Claude Opus 5.5 <[email protected]>
* | A name refused for a leading blank says a blank at its startGabriel Schneider2 days
| | | | | | | | | | | | Both ends said a blank at its end. Co-Authored-By: Claude Opus 5.5 <[email protected]>
* | The docs match what Save to a directory not ours and an image's tag sayGabriel Schneider2 days
| | | | | | | | | | | | A Save refused by the disk reads as EACCES through a mount (its words say denied), not EIO; an image's tag starts palette:commodore ascii:on by default. Co-Authored-By: Claude Opus 5.5 <[email protected]>
* | Not-found failures say it once, in plain words: grep: pattern not found, ↵Gabriel Schneider2 days
| | | | | | | | | | | | | | | | callers not found The ENOENT that 9ns reads from a failure's words came from a tacked-on suffix, grep: no match, not found, definition: nothing found, not found, no shell "x", not found. They now say it once: grep: pattern not found, find: name not found, Callers: callers not found, definition: not found, shell "x" not found (...). Co-Authored-By: Claude Opus 5.5 <[email protected]>
* | A second line written to name is refused EINVAL, in one write or on the same ↵Gabriel Schneider2 days
| | | | | | | | | | | | | | | | open bash writes printf 'a\nb\n' a line at a time, so each line arrived as a whole name on the held open and renamed the pane twice. An open that has named its pane now refuses a further line, as a two-line write already was. Co-Authored-By: Claude Opus 5.5 <[email protected]>
* | A ^ after | anchors its branch: ^def|^ finds lines starting either wayGabriel Schneider2 days
| | | | | | | | | | | | mvzr takes ^ only at its pattern's start, so in ^def|^ the second branch never matched mid-text. An alternation whose every top-level branch starts with ^ is now compiled as ^(def| ); a mix of anchored and unanchored branches is refused rather than silently wrong. Co-Authored-By: Claude Opus 5.5 <[email protected]>
* | A buffer whose file was deleted on disk is dirty, and Del asks firstGabriel Schneider2 days
|/ | | | | | A file deleted under an open buffer left dirty 0 and let Del, Exit and the rest throw the only copy of its text away unasked. It now counts as dirty, as acme's does, and the refusals ask about it. Co-Authored-By: Claude Opus 5.5 <[email protected]>
* A listing freezes at its open, so a read in several chunks never splices two ↵Gabriel Schneider2 days
| | | | | | | | moments /index and the other listings were rendered afresh for each read, so a client reading one in chunks while panes changed got rows from two moments spliced together (the fs-test flake). /index, /layout, /recent, /commands, /status, /listeners and a ctl opened only to read now freeze at the open, as /screen does. Co-Authored-By: Claude Opus 5.5 <[email protected]>
* The docs give Newcol's minimum column width beside its 16-column capGabriel Schneider2 days
| | | | | | A column narrower than twice the 10-cell minimum refuses Newcol (too narrow to split), which the docs left out. Co-Authored-By: Claude Opus 5.5 <[email protected]>
* After a failed address, one that goes from it (., +, -) says there is noneGabriel Schneider2 days
| | | | | | addr kept the old address under a failed one, and an address written relative to it went from that old one. Such an address now fails with no address: the last one written to addr failed, until one that stands alone is written. Co-Authored-By: Claude Opus 5.5 <[email protected]>
* Symbols, Diagnostics and every language server list share their directory's ↵Gabriel Schneider2 days
| | | | | | | | one +Search Only Find and Grep reused the directory's +Search; a language server's list made another pane of the same name each time. Every origin named +Search now shares it, but a plain word's search, which keeps a list a pattern for n/N to walk between. Co-Authored-By: Claude Opus 5.5 <[email protected]>
* The docs say what the code does: body's > replaces and >> appends, an ↵Gabriel Schneider2 days
| | | | | | | | image's tag starts with its modes, a Dump's refusal names its file The SKILL's example wrote body with > and called it an append; an image's tag begins with its mode words, not its path; the Dump refusals show the dump file's path. Co-Authored-By: Claude Opus 5.5 <[email protected]>
* addr takes a row's range, L:C-L2:C2 or L:C-C2, so a Recent, +Search or ↵Gabriel Schneider2 days
| | | | | | | | Jumplist row pastes in The rows spell a range L:C-L2:C2 (inclusive), which addr read as L:C then back L2 lines. After an L:C, a - and a number is now that range, through its last character; the docs set both spellings side by side. Co-Authored-By: Claude Opus 5.5 <[email protected]>
* A PDF's body reads the text layer of the page it showsGabriel Schneider2 days
| | | | | | The body of a PDF pane read as empty. It now reads MuPDF's text extraction of the page shown, the text search and n/N already use, read-only (a write is refused, as round 22's body refusal made it). Co-Authored-By: Claude Opus 5.5 <[email protected]>
* Two opens writing one body are separate undo steps, however they interleaveGabriel Schneider2 days
| | | | | | The join mark a write left was the pane's, so another open's write joined the first open's step. Writing opens of body, data and xdata now get an open record, the mark names the open that set it, and another open's write starts its own step (the pane's one history: each turn the opens take is a step). Co-Authored-By: Claude Opus 5.5 <[email protected]>
* A name cut across writes on one open is one name, applied onceGabriel Schneider2 days
| | | | | | Each write to name was taken as a whole name, so a name a client wrote in two pieces renamed the pane twice, the first time to half a name. name's writes are now held per open, as exec's and ctl's lines are, until the newline or the close. Co-Authored-By: Claude Opus 5.5 <[email protected]>
* A look miss said again is its err record counted, as any repeated err isGabriel Schneider2 days
| | | | | | Look's miss pushed its err record plain, so a script retrying one look filled the log with the same line, where other errs are counted (x2). Co-Authored-By: Claude Opus 5.5 <[email protected]>
* Merge: 9P round 21 + Afterglow removed + symmetric focus dimGabriel Schneider2 days
|\
| * Afterglow (G14) is removedGabriel Schneider2 days
| | | | | | | | | | | | | | | | | | | | | | The user, looking at the lapis showcase: "one of the animations is like a flashing on the whole pane or something, that is really bad, just remove it". Every changed cell glowing meant a pane whose whole text changed (a file opened, a +Search refilled, a terminal's output) lit up at once: replacing a pane's text took its mean brightness from 38 to 70 and back over 250 ms. Gone like Ripple and Glitch: the builtin, the setting, its Chrome fx bit, the GUI's diff state and decor, the test, and the docs, which keep the user's words.
* | The docs say an Edit loop that finds nothing succeeds silently, as sam's doesGabriel Schneider2 days
| | | | | | | | | | | | Edit ,x/zzz/c/bar/ with no match changed nothing and succeeded, which read as a failure next to s's no substitution; sam does the same, so it is kept and said. Co-Authored-By: Claude Opus 5.5 <[email protected]>
* | A builtin or setting this build lacks is refused GUI-only, from an exec tooGabriel Schneider2 days
| | | | | | | | | | | | On a terminal, Fonts written to an exec was no builtin there, so it ran as a shell command and ended exit 127; ctl said unknown control message. Both now say Fonts is GUI-only, invalid here (a builtin another platform's build has, not in this build). Co-Authored-By: Claude Opus 5.5 <[email protected]>
* | Theme takes a name in any case, and a miss names its nearest themesGabriel Schneider2 days
| | | | | | | | | | | | Names were case-sensitive, and a miss listed only the first letter's themes that fitted 40 bytes, 4 of the many d ones. It now lists every theme sharing the first letter when they fit the 128 bytes an Rerror carries, else the nearest by a plain likeness score (shared prefix, the name inside, its letters in order). Co-Authored-By: Claude Opus 5.5 <[email protected]>
* | A Dump into a DumpDir that is no directory says so; the doc says a missing ↵Gabriel Schneider2 days
| | | | | | | | | | | | | | | | last directory is made DumpDir /dev/null said no such directory though it is there, and the doc claimed a missing DumpDir always fails, where its last component is made at the Dump. Co-Authored-By: Claude Opus 5.5 <[email protected]>
* | Recent keeps only files on disk, and its cap never drops an open oneGabriel Schneider2 days
| | | | | | | | | | | | A renamed scratch never saved and a /virtual/ pane were recorded as recent files, and at 200 the oldest entry went even when that file was open. Opens, renames and closes now record a path only when it is a file on this host, and the cap drops the oldest closed entry. A name with a newline is not written to the kept list, where it would read back as two. Co-Authored-By: Claude Opus 5.5 <[email protected]>
* | A builtin's Verbose announcement is the message row's alone, never loggedGabriel Schneider2 days
| | | | | | | | | | | | With Verbose on by default, /log filled with msg - DumpDir, msg 4 Grep and the like, with machinery to take an announcement back out when its builtin failed or said something itself. A msg record is now only something said; the take-back machinery goes with it. Co-Authored-By: Claude Opus 5.5 <[email protected]>
* | A pty/ctl exec that cannot start its shell keeps the one runningGabriel Schneider2 days
| | | | | | | | | | | | Each host closed the running shell before it forked the new one, so an exec whose shell failed left the pane with none and later runs answered error shell gone. A shell not there is now refused up front, and every host starts the new shell first, replacing the old only once the close-on-exec pipe says it ran; a failure there is only said (restartFailed). Co-Authored-By: Claude Opus 5.5 <[email protected]>
* | A script whose interpreter is not there is told apart from a missing shell, ↵Gabriel Schneider2 days
| | | | | | | | | | | | | | | | and Tty refuses it up front Tty's up-front check found the script and let it through, so the pane was made, its exec failed ENOENT, and the log read new, msg shell: shell not found, del, then the err. The check now reads a script's #! line and refuses it, interpreter /no/such/interp not found, and an exec that fails ENOENT on a file that is there says the same. Co-Authored-By: Claude Opus 5.5 <[email protected]>
* | A look at a ./ or ../ name that is not there names the file, not the pane's ↵Gabriel Schneider2 days
| | | | | | | | | | | | | | | | directory Any relative name that opened nothing was blamed on the pane's directory (look: .../work/many: no such directory) though it exists; the directory is named only when it is gone. A plain name is still looked for as text, its miss logged as any look's. Co-Authored-By: Claude Opus 5.5 <[email protected]>
* | A Find or Grep that finds nothing empties its directory's +SearchGabriel Schneider2 days
| | | | | | | | | | | | It failed with no match but left the last search's rows in the +Search, where they read as this one's. Co-Authored-By: Claude Opus 5.5 <[email protected]>
* | The writes of one open of data, body or xdata are one undo stepGabriel Schneider2 days
|/ | | | | | bash line-buffers its stdout, so printf 'x\ny\nz\n' > data arrives as three writes and took three Undos. A write now leaves the join mark a truncation already left, so the next write on the file joins its step until the open is released; a truncation and any other edit start a step of their own. Co-Authored-By: Claude Opus 5.5 <[email protected]>
*-. Merge: 9P rounds 18-20 + Recent + renames + render G11-G14, tty track, ↵Gabriel Schneider2 days
|\ \ | | | | | | | | | cursor + faithful themes
| | * Doom One, as close to the original as pardes draws: doom_one, doom_one_lightGabriel Schneider2 days
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Every colour is the original's own, cited file:line in each theme file. Sources: repo; https://github.com/doomemacs/themes; ~/05-genizah/doomemacs-themes; a59202912ad55014e53a685eee6cd94130bdd4fd Chrome moved to meet pardes's floors (text, syntax, ANSI untouched): doom_one: focused tag ground #1d2026 -> #40444b: 1.05:1 off the unfocused #21242b, pardes needs 1.5:1 on a dark page doom_one: unfocused tag text #5b6268 -> #868b8f: 2.51:1 on #21242b, tag text needs 4.5:1 to be read and run doom_one: rules between panes #191b20 -> #4a4d55: 1.23:1 off the page, lifted toward the text to 1.6:1 (as colors.zig separatorOf does) doom_one: scroll thumb #3f444a -> #44494f: 1.42:1 on its track #282c34 doom_one_light: focused tag ground #e7e7e7 -> #c8c8c9: 1.06:1 off the unfocused #e1e1e1, pardes needs 1.25:1 on a light page doom_one_light: unfocused tag text #a190a7 -> #6a5f6e: 2.27:1 on #e1e1e1, tag text needs 4.5:1 to be read and run
| | * Ayu, as close to the original as pardes draws: ayu_dark, ayu_mirage, ayu_lightGabriel Schneider2 days
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Every colour is the original's own, cited file:line in each theme file. Sources: palette (themes/*.yaml, generated src/generated/*.ts); https://github.com/ayu-theme/ayu-colors; ~/05-genizah/ayu-colors; b0fd979a1ddf050101b43311fa598a1a9c5f1bbc VS Code port (roles, terminal colours); https://github.com/ayu-theme/vscode-ayu; ~/05-genizah/vscode-ayu; d676974ebb245fa5a7ae4444027f72801017f1b6 Chrome moved to meet pardes's floors (text, syntax, ANSI untouched): ayu_dark: focused tag ground #10141c -> #33363b: 1.03:1 off the unfocused #0d1017, pardes needs 1.5:1 on a dark page ayu_dark: unfocused tag text #5a6378 -> #747c8e: 3.16:1 on #0d1017, tag text needs 4.5:1 to be read and run ayu_dark: rules between panes #1b1f29 -> #393b42: 1.12:1 off the page, lifted toward the text to 1.6:1 (as colors.zig separatorOf does) ayu_dark: scroll thumb #2e3441 -> #313743: 1.48:1 on its track #10141c ayu_mirage: focused tag ground #242936 -> #3f434c: 1.07:1 off the unfocused #1f2430, pardes needs 1.5:1 on a dark page ayu_mirage: unfocused tag text #707a8c -> #848d9c: 3.58:1 on #1f2430, tag text needs 4.5:1 to be read and run ayu_mirage: rules between panes #171b24 -> #46494d: 1.19:1 off the page, lifted toward the text to 1.6:1 (as colors.zig separatorOf does) ayu_light: focused tag ground #fcfcfc -> #dcddde: 1.03:1 off the unfocused #f8f9fa, pardes needs 1.25:1 on a light page ayu_light: unfocused tag text #828e9f -> #68727f: 3.15:1 on #f8f9fa, tag text needs 4.5:1 to be read and run ayu_light: rules between panes #eaedef -> #c5c9cb: 1.15:1 off the page, lifted toward the text to 1.6:1 (as colors.zig separatorOf does)
| | * Nord, as close to the original as pardes draws: nordGabriel Schneider2 days
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Every colour is the original's own, cited file:line in each theme file. Sources: palette; https://github.com/nordtheme/nord; ~/05-genizah/nord; 1cef71605416a222e57225b544540ce0fcec18d4 vim port (roles, terminal colours); https://github.com/nordtheme/vim; ~/05-genizah/nord-vim; f13f5dfbb784deddbc1d8195f34dfd9ec73e2295 VS Code port (reference only, see notes); https://github.com/nordtheme/visual-studio-code; ~/05-genizah/nord-visual-studio-code; 8ead09822c02d0d49d0f764104505e5a34d3689f Chrome moved to meet pardes's floors (text, syntax, ANSI untouched): nord: focused tag ground #4c566a -> #525d72: 1.36:1 off the unfocused #3b4252, pardes needs 1.5:1 on a dark page nord: focused tag text #88c0d0 -> #bcdce5: 3.31:1 on #525d72, tag text needs 4.5:1 nord: rules between panes #434c5e -> #4c5566: 1.45:1 off the page, lifted toward the text to 1.6:1 (as colors.zig separatorOf does) nord: scroll thumb #4c566a -> #60697c: 1.17:1 on its track #434c5e
| | * Zenbones, as close to the original as pardes draws: zenbones_light, ↵Gabriel Schneider2 days
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | zenbones_dark, neobones_light, neobones_dark, vimbones, forestbones_light, forestbones_dark, nordbones, rosebones_light, rosebones_dark, tokyobones_light, tokyobones_dark, seoulbones_light, seoulbones_dark, duckbones, zenburned, zenwritten_light, zenwritten_dark, kanagawabones Every colour is the original's own, cited file:line in each theme file. Sources: repo; https://github.com/zenbones-theme/zenbones.nvim; ~/05-genizah/zenbones.nvim; 8304d8df9b823ff11e103afa62f38c39f534abe6 Chrome moved to meet pardes's floors (text, syntax, ANSI untouched): zenbones_light: focused tag ground #d6cdc9 -> #cfc3bf: 1.15:1 off the unfocused #e1dcd9, pardes needs 1.25:1 on a light page zenbones_light: unfocused tag text #596a76 -> #52626d: 4.12:1 on #e1dcd9, tag text needs 4.5:1 to be read and run zenbones_light: focused grip #bbaba3 -> #ac9d96: 1.29:1 on the focused tag #cfc3bf zenbones_dark: focused tag ground #352f2d -> #473f3d: 1.18:1 off the unfocused #272321, pardes needs 1.5:1 on a dark page zenbones_dark: focused grip #59514d -> #635b58: 1.32:1 on the focused tag #473f3d neobones_light: focused tag ground #c2cfc4 -> #bac6bc: 1.16:1 off the unfocused #d0ded2, pardes needs 1.25:1 on a light page neobones_light: focused grip #a3aea4 -> #96a097: 1.30:1 on the focused tag #bac6bc neobones_dark: focused tag ground #20303a -> #2e4350: 1.15:1 off the unfocused #18252d, pardes needs 1.5:1 on a dark page neobones_dark: focused grip #3b5362 -> #4b616f: 1.28:1 on the focused tag #2e4350 vimbones: focused tag ground #d1d1b0 -> #c7c7a8: 1.15:1 off the unfocused #dfdfbc, pardes needs 1.25:1 on a light page vimbones: unfocused tag text #686868 -> #606060: 4.09:1 on #dfdfbc, tag text needs 4.5:1 to be read and run vimbones: focused grip #b0b093 -> #a2a287: 1.28:1 on the focused tag #c7c7a8 forestbones_light: focused tag ground #e3d191 -> #ddca87: 1.18:1 off the unfocused #f3e2aa, pardes needs 1.25:1 on a light page forestbones_light: unfocused tag text #758690 -> #59666d: 2.92:1 on #f3e2aa, tag text needs 4.5:1 to be read and run forestbones_light: focused tag text #4f5b62 -> #4c575e: 4.28:1 on #ddca87, tag text needs 4.5:1 forestbones_light: focused grip #c0b079 -> #b1a26f: 1.32:1 on the focused tag #ddca87 forestbones_dark: focused tag ground #3e4850 -> #505a64: 1.15:1 off the unfocused #353f46, pardes needs 1.5:1 on a dark page forestbones_dark: focused grip #596873 -> #6a7781: 1.22:1 on the focused tag #505a64 nordbones: focused tag ground #414959 -> #515b6e: 1.15:1 off the unfocused #39404e, pardes needs 1.5:1 on a dark page nordbones: focused grip #5e687e -> #6e778b: 1.22:1 on the focused tag #515b6e rosebones_light: focused tag ground #ecd0a9 -> #e9c89a: 1.18:1 off the unfocused #f3e3cf, pardes needs 1.25:1 on a light page rosebones_light: unfocused tag text #ae6966 -> #8f5654: 3.33:1 on #f3e3cf, tag text needs 4.5:1 to be read and run rosebones_light: focused grip #ceaf7e -> #bea174: 1.31:1 on the focused tag #e9c89a rosebones_dark: focused tag ground #312e43 -> #423e59: 1.19:1 off the unfocused #242232, pardes needs 1.5:1 on a dark page rosebones_dark: focused grip #534e6f -> #5d5978: 1.30:1 on the focused tag #423e59 tokyobones_light: focused tag ground #b9bbc3 -> #b1b3bc: 1.16:1 off the unfocused #c8c9cf, pardes needs 1.25:1 on a light page tokyobones_light: unfocused tag text #5f6b9b -> #4a5379: 3.13:1 on #c8c9cf, tag text needs 4.5:1 to be read and run tokyobones_light: focused grip #9b9da9 -> #8f909b: 1.29:1 on the focused tag #b1b3bc tokyobones_dark: focused tag ground #303142 -> #404157: 1.19:1 off the unfocused #242532, pardes needs 1.5:1 on a dark page tokyobones_dark: focused grip #51536d -> #5b5d76: 1.33:1 on the focused tag #404157 seoulbones_light: focused tag ground #c4c4c4 -> #bdbdbd: 1.18:1 off the unfocused #d4d4d4, pardes needs 1.25:1 on a light page seoulbones_light: unfocused tag text #818181 -> #5a5a5a: 2.63:1 on #d4d4d4, tag text needs 4.5:1 to be read and run seoulbones_light: focused tag text #555555 -> #4b4b4b: 3.97:1 on #bdbdbd, tag text needs 4.5:1 seoulbones_light: focused grip #a6a6a6 -> #999999: 1.30:1 on the focused tag #bdbdbd seoulbones_dark: focused tag ground #5e5e5e -> #727272: 1.15:1 off the unfocused #555555, pardes needs 1.5:1 on a dark page seoulbones_dark: focused tag text #dddddd -> #f8f8f8: 3.54:1 on #727272, tag text needs 4.5:1 seoulbones_dark: focused grip #797979 -> #919191: 1.11:1 on the focused tag #727272 seoulbones_dark: scroll thumb #a0a0a0 -> #a1a1a1: 1.49:1 on its track #818181 duckbones: focused tag ground #232738 -> #353b51: 1.13:1 off the unfocused #1a1d2b, pardes needs 1.5:1 on a dark page duckbones: focused grip #444a67 -> #4f5570: 1.28:1 on the focused tag #353b51 zenburned: focused tag ground #555555 -> #646464: 1.21:1 off the unfocused #494949, pardes needs 1.5:1 on a dark page zenburned: focused grip #6f6f6f -> #838383: 1.18:1 on the focused tag #646464 zenwritten_light: focused tag ground #cfcfcf -> #c5c5c5: 1.15:1 off the unfocused #dddddd, pardes needs 1.25:1 on a light page zenwritten_light: unfocused tag text #686868 -> #606060: 4.10:1 on #dddddd, tag text needs 4.5:1 to be read and run zenwritten_light: focused grip #aeaeae -> #a0a0a0: 1.29:1 on the focused tag #c5c5c5 zenwritten_dark: focused tag ground #303030 -> #414141: 1.18:1 off the unfocused #242424, pardes needs 1.5:1 on a dark page zenwritten_dark: focused grip #525252 -> #5c5c5c: 1.31:1 on the focused tag #414141 kanagawabones: focused tag ground #363644 -> #444456: 1.21:1 off the unfocused #292934, pardes needs 1.5:1 on a dark page kanagawabones: focused grip #565668 -> #606071: 1.33:1 on the focused tag #444456
| | * Seoul256, as close to the original as pardes draws: seoul256_dark_233, ↵Gabriel Schneider2 days
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | seoul256_dark_234, seoul256_dark_235, seoul256_dark_236, seoul256_dark_237, seoul256_dark_238, seoul256_dark_239, seoul256_light_252, seoul256_light_253, seoul256_light_254, seoul256_light_255, seoul256_light_256 Every colour is the original's own, cited file:line in each theme file. Sources: repo; https://github.com/junegunn/seoul256.vim; ~/05-genizah/seoul256.vim; 0357ff3e44faab66c98bc98dfc89c834e37012da Chrome moved to meet pardes's floors (text, syntax, ANSI untouched): seoul256_dark_233: focused tag text #dfdebd -> #12120f: 3.02:1 on #9a7372, tag text needs 4.5:1 seoul256_dark_233: focused grip #007173 -> #006a6c: 1.40:1 on the focused tag #9a7372 seoul256_dark_233: rules between panes #000000 -> #3d3d3d: 1.17:1 off the page, lifted toward the text to 1.6:1 (as colors.zig separatorOf does) seoul256_dark_234: focused tag text #dfdebd -> #12120f: 3.02:1 on #9a7372, tag text needs 4.5:1 seoul256_dark_234: focused grip #007173 -> #006a6c: 1.40:1 on the focused tag #9a7372 seoul256_dark_234: rules between panes #060606 -> #4a4a4a: 1.32:1 off the page, lifted toward the text to 1.6:1 (as colors.zig separatorOf does) seoul256_dark_235: focused tag text #dfdebd -> #12120f: 3.02:1 on #9a7372, tag text needs 4.5:1 seoul256_dark_235: focused grip #007173 -> #006a6c: 1.40:1 on the focused tag #9a7372 seoul256_dark_235: rules between panes #171717 -> #515151: 1.40:1 off the page, lifted toward the text to 1.6:1 (as colors.zig separatorOf does) seoul256_dark_236: focused tag text #dfdebd -> #12120f: 3.02:1 on #9a7372, tag text needs 4.5:1 seoul256_dark_236: focused grip #007173 -> #006a6c: 1.40:1 on the focused tag #9a7372 seoul256_dark_236: rules between panes #252525 -> #5f5f5f: 1.46:1 off the page, lifted toward the text to 1.6:1 (as colors.zig separatorOf does) seoul256_dark_237: focused tag ground #9a7372 -> #9d7473: 1.50:1 off the unfocused #616161, pardes needs 1.5:1 on a dark page seoul256_dark_237: focused tag text #dfdebd -> #12120f: 2.96:1 on #9d7473, tag text needs 4.5:1 seoul256_dark_237: focused grip #007173 -> #006c6e: 1.43:1 on the focused tag #9d7473 seoul256_dark_237: rules between panes #333233 -> #6b6b6b: 1.46:1 off the page, lifted toward the text to 1.6:1 (as colors.zig separatorOf does) seoul256_dark_238: focused tag ground #9a7372 -> #b97877: 1.29:1 off the unfocused #6b6b6b, pardes needs 1.5:1 on a dark page seoul256_dark_238: unfocused tag text #dfdebd -> #eeeddb: 3.89:1 on #6b6b6b, tag text needs 4.5:1 to be read and run seoul256_dark_238: focused tag text #dfdebd -> #1f1f1a: 2.55:1 on #b97877, tag text needs 4.5:1 seoul256_dark_238: rules between panes #3f3f3f -> #767676: 1.43:1 off the page, lifted toward the text to 1.6:1 (as colors.zig separatorOf does) seoul256_dark_239: focused tag ground #9a7372 -> #ac8f86: 1.11:1 off the unfocused #757575, pardes needs 1.5:1 on a dark page seoul256_dark_239: unfocused tag text #dfdebd -> #fdfdfb: 3.36:1 on #757575, tag text needs 4.5:1 to be read and run seoul256_dark_239: focused tag text #dfdebd -> #2d2c26: 2.18:1 on #ac8f86, tag text needs 4.5:1 seoul256_dark_239: rules between panes #4b4b4b -> #848484: 1.41:1 off the page, lifted toward the text to 1.6:1 (as colors.zig separatorOf does) seoul256_light_252: unfocused tag text #565656 -> #545454: 4.39:1 on #c8c8c8, tag text needs 4.5:1 to be read and run seoul256_light_252: focused tag text #dfdebd -> #12120f: 3.02:1 on #9a7372, tag text needs 4.5:1 seoul256_light_252: focused grip #719899 -> #4b6465: 1.31:1 on the focused tag #9a7372 seoul256_light_252: rules between panes #bfbfbf -> #acacac: 1.30:1 off the page, lifted toward the text to 1.6:1 (as colors.zig separatorOf does) seoul256_light_253: focused tag text #dfdebd -> #12120f: 3.02:1 on #9a7372, tag text needs 4.5:1 seoul256_light_253: focused grip #719899 -> #4b6465: 1.31:1 on the focused tag #9a7372 seoul256_light_253: rules between panes #c8c8c8 -> #b3b3b3: 1.28:1 off the page, lifted toward the text to 1.6:1 (as colors.zig separatorOf does) seoul256_light_254: focused tag text #dfdebd -> #12120f: 3.02:1 on #9a7372, tag text needs 4.5:1 seoul256_light_254: focused grip #719899 -> #4b6465: 1.31:1 on the focused tag #9a7372 seoul256_light_254: rules between panes #d1d0d1 -> #b8b8b8: 1.27:1 off the page, lifted toward the text to 1.6:1 (as colors.zig separatorOf does) seoul256_light_255: focused tag text #dfdebd -> #12120f: 3.02:1 on #9a7372, tag text needs 4.5:1 seoul256_light_255: focused grip #719899 -> #4b6465: 1.31:1 on the focused tag #9a7372 seoul256_light_255: rules between panes #d9d9d9 -> #bfbfbf: 1.25:1 off the page, lifted toward the text to 1.6:1 (as colors.zig separatorOf does) seoul256_light_256: focused tag text #dfdebd -> #12120f: 3.02:1 on #9a7372, tag text needs 4.5:1 seoul256_light_256: focused grip #719899 -> #4b6465: 1.31:1 on the focused tag #9a7372 seoul256_light_256: rules between panes #e1e1e1 -> #cacaca: 1.31:1 off the page, lifted toward the text to 1.6:1 (as colors.zig separatorOf does)
| | * Catppuccin, as close to the original as pardes draws: catppuccin_latte, ↵Gabriel Schneider2 days
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | catppuccin_frappe, catppuccin_macchiato, catppuccin_mocha Every colour is the original's own, cited file:line in each theme file. Sources: palette; https://github.com/catppuccin/palette; ~/05-genizah/catppuccin-palette; 07d02aa110ef9eb7e7427afca5c73ba9cf7f8ebd neovim port (highlight mapping, terminal colours, lualine); https://github.com/catppuccin/nvim; ~/05-genizah/catppuccin-nvim; edefef779ab08ce1a4a404713e3012b0d202bd35 Chrome moved to meet pardes's floors (text, syntax, ANSI untouched): catppuccin_latte: focused tag ground #e6e9ef -> #cdd0da: 1.00:1 off the unfocused #e6e9ef, pardes needs 1.25:1 on a light page catppuccin_latte: unfocused tag text #bcc0cc -> #66686e: 1.49:1 on #e6e9ef, tag text needs 4.5:1 to be read and run catppuccin_latte: rules between panes #dce0e8 -> #bcc0cc: 1.17:1 off the page, lifted toward the text to 1.6:1 (as colors.zig separatorOf does) catppuccin_frappe: focused tag ground #292c3c -> #454a5d: 1.00:1 off the unfocused #292c3c, pardes needs 1.5:1 on a dark page catppuccin_frappe: unfocused tag text #51576d -> #9093a2: 1.93:1 on #292c3c, tag text needs 4.5:1 to be read and run catppuccin_frappe: rules between panes #232634 -> #51566a: 1.22:1 off the page, lifted toward the text to 1.6:1 (as colors.zig separatorOf does) catppuccin_macchiato: focused tag ground #1e2030 -> #3d4053: 1.00:1 off the unfocused #1e2030, pardes needs 1.5:1 on a dark page catppuccin_macchiato: unfocused tag text #494d64 -> #878a99: 1.94:1 on #1e2030, tag text needs 4.5:1 to be read and run catppuccin_macchiato: rules between panes #181926 -> #46495c: 1.18:1 off the page, lifted toward the text to 1.6:1 (as colors.zig separatorOf does) catppuccin_mocha: focused tag ground #181825 -> #393a4a: 1.00:1 off the unfocused #181825, pardes needs 1.5:1 on a dark page catppuccin_mocha: unfocused tag text #45475a -> #81828f: 1.92:1 on #181825, tag text needs 4.5:1 to be read and run catppuccin_mocha: rules between panes #11111b -> #3e404f: 1.14:1 off the page, lifted toward the text to 1.6:1 (as colors.zig separatorOf does)
| | * Rosé Pine, as close to the original as pardes draws: rose_pine, ↵Gabriel Schneider2 days
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | rose_pine_moon, rose_pine_dawn Every colour is the original's own, cited file:line in each theme file. Sources: palette; https://github.com/rose-pine/palette; ~/05-genizah/rose-pine-palette; 92af52b465ab6e47437aca223c9b8d3009a2023b neovim port (highlight mapping, terminal colours, lualine); https://github.com/rose-pine/neovim; ~/05-genizah/rose-pine-neovim; ff483051a47e27d84bdef47703538df1ed9f4a47 Chrome moved to meet pardes's floors (text, syntax, ANSI untouched): rose_pine: focused tag ground #1f1d2e -> #3c3a4e: 1.02:1 off the unfocused #1d1b2a, pardes needs 1.5:1 on a dark page rose_pine: unfocused tag text #6e6a86 -> #858299: 3.27:1 on #1d1b2a, tag text needs 4.5:1 to be read and run rose_pine: focused tag text #908caa -> #a8a5bd: 3.42:1 on #3c3a4e, tag text needs 4.5:1 rose_pine_moon: focused tag ground #2a273f -> #45415b: 1.03:1 off the unfocused #27253b, pardes needs 1.5:1 on a dark page rose_pine_moon: unfocused tag text #6e6a86 -> #918ea3: 2.88:1 on #27253b, tag text needs 4.5:1 to be read and run rose_pine_moon: focused tag text #908caa -> #b1afc4: 3.02:1 on #45415b, tag text needs 4.5:1 rose_pine_dawn: focused tag ground #fffaf3 -> #e2ddde: 1.02:1 off the unfocused #fdf8f1, pardes needs 1.25:1 on a light page rose_pine_dawn: unfocused tag text #9893a5 -> #74707d: 2.82:1 on #fdf8f1, tag text needs 4.5:1 to be read and run rose_pine_dawn: focused tag text #797593 -> #615e76: 3.27:1 on #e2ddde, tag text needs 4.5:1
| | * Tokyo Night, as close to the original as pardes draws: tokyonight_night, ↵Gabriel Schneider2 days
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | tokyonight_storm, tokyonight_moon, tokyonight_day Every colour is the original's own, cited file:line in each theme file. Sources: repo; https://github.com/folke/tokyonight.nvim; ~/05-genizah/tokyonight.nvim; cdc07ac78467a233fd62c493de29a17e0cf2b2b6 Chrome moved to meet pardes's floors (text, syntax, ANSI untouched): tokyonight_night: focused tag ground #16161e -> #363846: 1.00:1 off the unfocused #16161e, pardes needs 1.5:1 on a dark page tokyonight_night: unfocused tag text #3b4261 -> #7e8297: 1.83:1 on #16161e, tag text needs 4.5:1 to be read and run tokyonight_night: rules between panes #15161e -> #3b3e4d: 1.05:1 off the page, lifted toward the text to 1.6:1 (as colors.zig separatorOf does) tokyonight_storm: focused tag ground #1f2335 -> #3d4258: 1.00:1 off the unfocused #1f2335, pardes needs 1.5:1 on a dark page tokyonight_storm: unfocused tag text #3b4261 -> #858a9d: 1.58:1 on #1f2335, tag text needs 4.5:1 to be read and run tokyonight_storm: rules between panes #1d202f -> #44495f: 1.11:1 off the page, lifted toward the text to 1.6:1 (as colors.zig separatorOf does) tokyonight_storm: scroll thumb #3b4261 -> #404767: 1.42:1 on its track #272b3f tokyonight_moon: focused tag ground #1e2030 -> #3a3e56: 1.00:1 off the unfocused #1e2030, pardes needs 1.5:1 on a dark page tokyonight_moon: unfocused tag text #3b4261 -> #858a9d: 1.64:1 on #1e2030, tag text needs 4.5:1 to be read and run tokyonight_moon: focused tag text #828bb8 -> #a3a9ca: 3.16:1 on #3a3e56, tag text needs 4.5:1 tokyonight_moon: rules between panes #1b1d2b -> #414557: 1.09:1 off the page, lifted toward the text to 1.6:1 (as colors.zig separatorOf does) tokyonight_moon: scroll thumb #3b4261 -> #3e4564: 1.46:1 on its track #27293a tokyonight_day: focused tag ground #d0d5e3 -> #b5bdd7: 1.00:1 off the unfocused #d0d5e3, pardes needs 1.25:1 on a light page tokyonight_day: unfocused tag text #a8aecb -> #575a6a: 1.49:1 on #d0d5e3, tag text needs 4.5:1 to be read and run tokyonight_day: focused tag text #6172b0 -> #404b74: 2.47:1 on #b5bdd7, tag text needs 4.5:1 tokyonight_day: scroll thumb #a8aecb -> #9fa8ca: 1.41:1 on its track #c8cfe1 keyword is Neovim's tree-sitter @keyword (c.purple, groups/treesitter.lua:36), which is what pardes's tree-sitter keywords are, not vim's regex Keyword (cyan).
| | * Monokai Pro, as close to the original as pardes draws: monokai_pro, ↵Gabriel Schneider2 days
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | monokai_pro_classic, monokai_pro_machine, monokai_pro_octagon, monokai_pro_ristretto, monokai_pro_spectrum, monokai_pro_light, monokai_pro_light_sun Every colour is the original's own, cited file:line in each theme file. Sources: Monokai Pro for VS Code 2.0.15, published by Wimer Hazenberg (Monokai), verified on Open VSX; https://open-vsx.org/api/monokai/theme-monokai-pro-vscode/2.0.15/file/monokai.theme-monokai-pro-vscode-2.0.15.vsix; ~/05-genizah/monokai-pro-vscode/vsix/extension/themes Chrome moved to meet pardes's floors (text, syntax, ANSI untouched): monokai_pro: focused tag ground #2d2a2e -> #4f4637: 1.00:1 off the unfocused #2d2a2e, pardes needs 1.5:1 on a dark page monokai_pro: rules between panes #221f22 -> #4e4b4d: 1.15:1 off the page, lifted toward the text to 1.6:1 (as colors.zig separatorOf does) monokai_pro: scroll thumb #434044 -> #4a484b: 1.39:1 on its track #2d2a2e monokai_pro_classic: focused tag ground #272822 -> #46452f: 1.00:1 off the unfocused #272822, pardes needs 1.5:1 on a dark page monokai_pro_classic: rules between panes #1d1e19 -> #4a4b44: 1.13:1 off the page, lifted toward the text to 1.6:1 (as colors.zig separatorOf does) monokai_pro_classic: scroll thumb #3e3f38 -> #46473f: 1.40:1 on its track #272822 monokai_pro_machine: focused tag ground #273136 -> #4a4f40: 1.00:1 off the unfocused #273136, pardes needs 1.5:1 on a dark page monokai_pro_machine: unfocused tag text #8b9798 -> #8d999a: 4.42:1 on #273136, tag text needs 4.5:1 to be read and run monokai_pro_machine: rules between panes #1d2528 -> #485152: 1.17:1 off the page, lifted toward the text to 1.6:1 (as colors.zig separatorOf does) monokai_pro_machine: scroll thumb #3d474b -> #444e52: 1.39:1 on its track #273136 monokai_pro_octagon: focused tag ground #282a3a -> #4a4642: 1.00:1 off the unfocused #282a3a, pardes needs 1.5:1 on a dark page monokai_pro_octagon: unfocused tag text #888d94 -> #8d9298: 4.24:1 on #282a3a, tag text needs 4.5:1 to be read and run monokai_pro_octagon: rules between panes #1e1f2b -> #4b4d57: 1.15:1 off the page, lifted toward the text to 1.6:1 (as colors.zig separatorOf does) monokai_pro_octagon: scroll thumb #3d3f4e -> #444655: 1.36:1 on its track #282a3a monokai_pro_ristretto: focused tag ground #2c2525 -> #514332: 1.00:1 off the unfocused #2c2525, pardes needs 1.5:1 on a dark page monokai_pro_ristretto: unfocused tag text #948a8b -> #968c8d: 4.48:1 on #2c2525, tag text needs 4.5:1 to be read and run monokai_pro_ristretto: rules between panes #211c1c -> #4d4747: 1.12:1 off the page, lifted toward the text to 1.6:1 (as colors.zig separatorOf does) monokai_pro_ristretto: scroll thumb #433b3b -> #4b4242: 1.38:1 on its track #2c2525 monokai_pro_spectrum: focused tag ground #222222 -> #45412d: 1.00:1 off the unfocused #222222, pardes needs 1.5:1 on a dark page monokai_pro_spectrum: rules between panes #191919 -> #454447: 1.11:1 off the page, lifted toward the text to 1.6:1 (as colors.zig separatorOf does) monokai_pro_spectrum: scroll thumb #39383a -> #413f42: 1.36:1 on its track #222222 monokai_pro_light: focused tag ground #faf4f2 -> #f5d1d9: 1.00:1 off the unfocused #faf4f2, pardes needs 1.25:1 on a light page monokai_pro_light: unfocused tag text #918c8e -> #716d6f: 3.04:1 on #faf4f2, tag text needs 4.5:1 to be read and run monokai_pro_light: focused tag text #e14775 -> #a73557: 2.80:1 on #f5d1d9, tag text needs 4.5:1 monokai_pro_light: rules between panes #ede7e5 -> #c6c0c0: 1.12:1 off the page, lifted toward the text to 1.6:1 (as colors.zig separatorOf does) monokai_pro_light: scroll thumb #e5e0de -> #cec9c8: 1.20:1 on its track #faf4f2 monokai_pro_light_sun: focused tag ground #f8efe7 -> #f0cdcf: 1.00:1 off the unfocused #f8efe7, pardes needs 1.25:1 on a light page monokai_pro_light_sun: unfocused tag text #92898a -> #726b6c: 3.00:1 on #f8efe7, tag text needs 4.5:1 to be read and run monokai_pro_light_sun: focused tag text #ce4770 -> #9d3655: 3.01:1 on #f0cdcf, tag text needs 4.5:1 monokai_pro_light_sun: rules between panes #eee5de -> #c7bebb: 1.09:1 off the page, lifted toward the text to 1.6:1 (as colors.zig separatorOf does) monokai_pro_light_sun: scroll thumb #e4dbd5 -> #cac1be: 1.20:1 on its track #f8efe7
| | * Monokai, as close to the original as pardes draws: monokaiGabriel Schneider2 days
| | | | | | | | | | | | | | | | | | | | | | | | | | | Every colour is the original's own, cited file:line in each theme file. Sources: Sublime Text 2.0.2's Monokai.tmTheme (Wimer Hazenberg), from 'Color Scheme - Default.sublime-package'; https://download.sublimetext.com/Sublime%20Text%202.0.2%20x64.tar.bz2; ~/05-genizah/sublime-text-2-color-schemes/Monokai.tmTheme Chrome moved to meet pardes's floors (text, syntax, ANSI untouched): monokai: focused tag ground #49483e -> #59584f: 1.19:1 off the unfocused #3e3d32, pardes needs 1.5:1 on a dark page monokai: rules between panes #3b3a32 -> #4a4941: 1.30:1 off the page, lifted toward the text to 1.6:1 (as colors.zig separatorOf does)
| | * Dracula, as close to the original as pardes draws: dracula, dracula_soft, ↵Gabriel Schneider2 days
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | alucard Every colour is the original's own, cited file:line in each theme file. Sources: official palette (Dracula, Alucard); https://github.com/dracula/dracula-theme; ~/05-genizah/dracula-theme; 1e04a4b768302fa2de37d09cc7b8087eabcd3ed8 official VS Code port: roles, UI, ANSI, Soft transform; https://github.com/dracula/visual-studio-code; ~/05-genizah/dracula-visual-studio-code; a08a206f2c8420ba3c05f0e8d01d43b2f933fdf8 Chrome moved to meet pardes's floors (text, syntax, ANSI untouched): dracula: focused tag ground #282a36 -> #41434d: 1.11:1 off the unfocused #21222c, pardes needs 1.5:1 on a dark page dracula: unfocused tag text #6272a4 -> #7b89b3: 3.36:1 on #21222c, tag text needs 4.5:1 to be read and run dracula_soft: focused tag ground #282a36 -> #454751: 1.05:1 off the unfocused #272727, pardes needs 1.5:1 on a dark page dracula_soft: unfocused tag text #7b7f8b -> #8b8e99: 3.74:1 on #272727, tag text needs 4.5:1 to be read and run alucard: unfocused tag text #6c664b -> #5d5841: 3.75:1 on #cfcfde, tag text needs 4.5:1 to be read and run
| | * Solarized, as close to the original as pardes draws: solarized_dark, ↵Gabriel Schneider2 days
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | solarized_light Every colour is the original's own, cited file:line in each theme file. Sources: canonical palette and ANSI map; https://github.com/altercation/solarized; ~/05-genizah/solarized; 62f656a02f93c5190a8753159e34b385588d5ff3 the author's vim port for roles; ~/05-genizah/solarized/vim-colors-solarized/colors/solarized.vim Chrome moved to meet pardes's floors (text, syntax, ANSI untouched): solarized_dark: unfocused tag text #073642 -> #01090b: 2.92:1 on #657b83, tag text needs 4.5:1 to be read and run solarized_dark: focused grip #268bd2 -> #2483c5: 1.38:1 on the focused tag #93a1a1 solarized_light: unfocused tag text #eee8d5 -> #2b2a26: 2.58:1 on #839496, tag text needs 4.5:1 to be read and run solarized_light: focused tag text #eee8d5 -> #f0ebda: 4.39:1 on #586e75, tag text needs 4.5:1 solarized_light: focused grip #268bd2 -> #2f90d4: 1.46:1 on the focused tag #586e75
| | * Visual Studio Code, as close to the original as pardes draws: dark_plusGabriel Schneider2 days
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Every colour is the original's own, cited file:line in each theme file. Sources: VS Code 1.130.0 built-in theme; /usr/share/code/resources/app/extensions/theme-defaults/themes/dark_plus.json (includes ./dark_vs.json) VS Code source for workbench defaults; https://github.com/microsoft/vscode; ~/05-genizah/vscode; 1b6a188127eeaf9194f945eb6eb89a657e93c54c (tag 1.130.0) Chrome moved to meet pardes's floors (text, syntax, ANSI untouched): dark_plus: unfocused tag ground #2d2d2d -> #3c3c3c: 1.21:1 off the focused one (the page, kept), pardes needs 1.5:1 on a dark page dark_plus: unfocused tag text #969696 -> #a7a7a7: 3.73:1 on #3c3c3c, tag text needs 4.5:1 to be read and run
| | * ThemeSel in sections: acme and lapis with the current themes, helix and dark ↵Gabriel Schneider2 days
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | as legacy, a section per ported family The picker's headings come from colors.theme_groups instead of one split at native_theme_count, so acme (current, matched to plan9port acme's source) no longer sits under a legacy heading. Ring order follows the sections: the fifteen pardes palettes, acme, lapis, the faithful ports a family at a time, then helix and dark, then the imports. An imported theme whose name a port takes gets _helix, as zed's carry _zed.
| * | The focused cursor rides with a moving pane, and a focus change glides to ↵Gabriel Schneider2 days
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the new one G3's springs now keep the cursor's place in its pane: a pane that moves in the layout carries them, and the quad is drawn through the pane's presented box (its transition track), so through a slide, zoom or drag the cursor rides with the text, and with no transition it lands with it. A focus change, to another pane or into a column's or the workspace's tag, glides from where the cursor was drawn to the new place instead of snapping, unclamped while it crosses. While panes move the cursor is drawn as the overlay quad instead of vanishing (golden 18-mid-transition re-recorded for that: the only change is the quad, gliding into the new column's tag). Lapis: a tag plaque starts flush against its grip's button, the scroll gap between them part of the plaque, so grip and plaque read as one piece, on pane and column rows alike; below the button's row the grip keeps its band. Themes without plaques are unchanged (their grip band and tag band are one colour, no sliver).
| * Shader files compile again on save; an attached GUI runs the session's post ↵Gabriel Schneider2 days
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | chain shader_build.zig takes the Shadertoy compile out of the GUI's Post: the process that holds the core compiles each chain file behind the prefix on a thread, watches its directory (file_watch's new shader slots), and on a change reads and hashes each file, compiling only one whose bytes moved. A failed compile keeps the last good SPIR-V and is said once; the same bytes are never compiled or reported twice. A file is read with std, not fs.zig's readFile, whose turn hand-off a worker thread does not hold. A detached session compiles for its frontends and sends them the chain (wire post: each pass's scene and level or the file's SPIR-V, and ShaderAnimation) on attach and on every change, so an attached GUI runs the same passes, levels and animation as a local one while still reading no disk and running no program. The attached GUI describes its frames to the chain from the session's chrome and redraws an animating chain on its own.