<feed xmlns='http://www.w3.org/2005/Atom'>
<title>pardes.git/src/colors.zig, branch main</title>
<subtitle>Pardes</subtitle>
<id>https://git.0x4200.cafe/pardes.git/atom?h=main</id>
<link rel='self' href='https://git.0x4200.cafe/pardes.git/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://git.0x4200.cafe/pardes.git/'/>
<updated>2026-10-01T08:18:09Z</updated>
<entry>
<title>A Restore whose ThemeFile fails to load changes no theme: the session goes on showing the one it did, its file still the one named</title>
<updated>2026-10-01T08:18:09Z</updated>
<author>
<name>Gabriel Schneider</name>
<email>gbrls@0x4200.cafe</email>
</author>
<published>2026-10-01T08:15:35Z</published>
<link rel='alternate' type='text/html' href='https://git.0x4200.cafe/pardes.git/commit/?id=b666f96e734bb87d6558c76c908314da562122d5'/>
<id>urn:sha1:b666f96e734bb87d6558c76c908314da562122d5</id>
<content type='text'>
A Restore makes a fresh core, which started at the default theme and
asked for the dump's ThemeFile; when that file had broken since, the
failure reverted to what the fresh core had loaded, nothing, and ink
became orchard. A Restore that asks for a ThemeFile now carries over
the theme the old session showed and the file it loaded (and its Theme,
unless the dump names one), so a failure there changes nothing.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Restore and ThemeFile failures say why in words, a ZON one with its line: never FileTooLarge, ParseZon or a bare `parse zon`</title>
<updated>2026-10-01T08:18:09Z</updated>
<author>
<name>Gabriel Schneider</name>
<email>gbrls@0x4200.cafe</email>
</author>
<published>2026-10-01T08:04:57Z</published>
<link rel='alternate' type='text/html' href='https://git.0x4200.cafe/pardes.git/commit/?id=51ddaaf3917ad7968df877d10580d1eadb926688'/>
<id>urn:sha1:51ddaaf3917ad7968df877d10580d1eadb926688</id>
<content type='text'>
Restore read failures named the Zig error (FileTooLarge, NotAFile,
ReadFailed), a file that is no dump said `not a pardes dump (ParseZon)`,
and a ThemeFile that did not parse said `parse zon`. Messages.errorWords
says an error in words (the few that read badly spelled out plainly,
the rest spaced and lower case, as reportError did), and zonWhy gives
the parser's first error with its line: `not a pardes dump: line 1:
expected ...`, `theme file x.zon: line 3: ...`.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>A ThemeFile that fails to load changes nothing: /ctl and DumpConfig keep naming the file last loaded, or none, so they always replay</title>
<updated>2026-10-01T05:37:39Z</updated>
<author>
<name>Gabriel Schneider</name>
<email>gbrls@0x4200.cafe</email>
</author>
<published>2026-10-01T05:37:39Z</published>
<link rel='alternate' type='text/html' href='https://git.0x4200.cafe/pardes.git/commit/?id=6c0e9c5a6b6d4b0aa77f084fdac5eb4f6d1f482b'/>
<id>urn:sha1:6c0e9c5a6b6d4b0aa77f084fdac5eb4f6d1f482b</id>
<content type='text'>
The request's path was taken as the theme file before the host had
read it, so a file not found or not ZON left /ctl saying ThemeFile
&lt;that path&gt;, and writing the report back failed again. The path a load
succeeds with is now kept apart; a failure puts the request back to it
(and watches it again), or to none.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>A ThemeFile that fails names its file: "theme file /x/mine.zon: file not found", not "theme file: file not found"</title>
<updated>2026-10-01T03:12:17Z</updated>
<author>
<name>Gabriel Schneider</name>
<email>gbrls@0x4200.cafe</email>
</author>
<published>2026-09-30T23:05:16Z</published>
<link rel='alternate' type='text/html' href='https://git.0x4200.cafe/pardes.git/commit/?id=506ca99f13aec67d593e4a30bbe416dea176d0ba'/>
<id>urn:sha1:506ca99f13aec67d593e4a30bbe416dea176d0ba</id>
<content type='text'>
The read and parse failures come back after the write, often from a
relative name resolved against the config directory, so which file was
missing or bad was left to guess. They now carry the resolved path,
its middle cut when long.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>After a ThemeFile, the root ctl and DumpConfig say ThemeFile and its path, so what they report writes back</title>
<updated>2026-10-01T03:12:17Z</updated>
<author>
<name>Gabriel Schneider</name>
<email>gbrls@0x4200.cafe</email>
</author>
<published>2026-09-30T22:26:12Z</published>
<link rel='alternate' type='text/html' href='https://git.0x4200.cafe/pardes.git/commit/?id=939c369aee270067d9f030e2b234d93bae549988'/>
<id>urn:sha1:939c369aee270067d9f030e2b234d93bae549988</id>
<content type='text'>
Both said Theme and the name inside the .zon, which no Theme knows, so
writing the report back to /ctl failed with "no theme". While a loaded
ThemeFile is the theme in effect they now say the word that loaded it.
A Dump carries the line too, so a Restore reloads the file.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>lapis_plain: lapis on flat grounds, with its framed and shadowed tags and its file-name shadow</title>
<updated>2026-10-01T03:12:17Z</updated>
<author>
<name>Gabriel Schneider</name>
<email>gbrls@0x4200.cafe</email>
</author>
<published>2026-09-30T03:08:16Z</published>
<link rel='alternate' type='text/html' href='https://git.0x4200.cafe/pardes.git/commit/?id=d6195b4ecc89a6506985e17313b580d570b03b77'/>
<id>urn:sha1:d6195b4ecc89a6506985e17313b580d570b03b77</id>
<content type='text'>
No dot grid under the text and no stripes behind the focused tag; every colour, the gold frames and vermilion shadows of the plaques, the rules, the scroll column's checker and the title shadow stay lapis's. It follows lapis in the ring and the Themes picker.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>A theme that names no tint for its tags' names takes one of its own hues, so every theme draws a file's name, a +Name and the Tty word off the tag's ink</title>
<updated>2026-10-01T03:12:17Z</updated>
<author>
<name>Gabriel Schneider</name>
<email>gbrls@0x4200.cafe</email>
</author>
<published>2026-09-29T23:30:29Z</published>
<link rel='alternate' type='text/html' href='https://git.0x4200.cafe/pardes.git/commit/?id=799bfc56f75535ad13089ee2fcbe907f91305ca3'/>
<id>urn:sha1:799bfc56f75535ad13089ee2fcbe907f91305ca3</id>
<content type='text'>
The faithful ports (neobones_dark, dracula, tokyonight, the *bones, ...),
every helix import and any theme file set no tag_name_fg, and ChromeTheme
fell back to the plain ink: their tags lost the accent the pardes themes
have. The user's neobones_dark looked tinted before only because the Sep 24
build had no such theme and fell back to orchard.

The tint is now derived when unset: the theme's keyword colour, else the
first of its ANSI accents, syntax, grip, selection or diagnostic colours
with a hue, placed at the lightness nearest the ink where the hue holds,
at least 4.5:1 on its ground (half a point under the ink's own where the
ink has less to spare) and 0.07 off the ink in OKLab. Each ground, plain and
focused, gets its own. A theme that names its tint keeps it exactly.

Tests: every theme's chrome keeps both tints off the ink and legible; every
theme draws a file's basename, +Errors and Tty+sh in a tint, focused or not.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>A Theme hint drops whole names to fit, never cutting one mid-word</title>
<updated>2026-10-01T03:12:16Z</updated>
<author>
<name>Gabriel Schneider</name>
<email>gbrls@0x4200.cafe</email>
</author>
<published>2026-09-29T15:23:15Z</published>
<link rel='alternate' type='text/html' href='https://git.0x4200.cafe/pardes.git/commit/?id=d191193a1e707a6bfd8fc8bbe1429dbc9f34676f'/>
<id>urn:sha1:d191193a1e707a6bfd8fc8bbe1429dbc9f34676f</id>
<content type='text'>
The names were written into a fixed room until it ran out, the last one cut, and the click's form ran past the 128 bytes a 9P error carries. Each name now goes in whole or not at all, and both forms are sized to fit.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Theme takes a name in any case, and a miss names its nearest themes</title>
<updated>2026-10-01T03:12:16Z</updated>
<author>
<name>Gabriel Schneider</name>
<email>gbrls@0x4200.cafe</email>
</author>
<published>2026-09-29T14:46:38Z</published>
<link rel='alternate' type='text/html' href='https://git.0x4200.cafe/pardes.git/commit/?id=cef529dc8cd080198f79d2b26bffbe9c7cf3e8bd'/>
<id>urn:sha1:cef529dc8cd080198f79d2b26bffbe9c7cf3e8bd</id>
<content type='text'>
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 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Merge: 9P rounds 18-20 + Recent + renames + render G11-G14, tty track, cursor + faithful themes</title>
<updated>2026-10-01T03:12:16Z</updated>
<author>
<name>Gabriel Schneider</name>
<email>gbrls@0x4200.cafe</email>
</author>
<published>2026-09-29T13:45:44Z</published>
<link rel='alternate' type='text/html' href='https://git.0x4200.cafe/pardes.git/commit/?id=95551301ba9807bc907c6d9ff2aa28ded189deb3'/>
<id>urn:sha1:95551301ba9807bc907c6d9ff2aa28ded189deb3</id>
<content type='text'>
</content>
</entry>
</feed>
