<feed xmlns='http://www.w3.org/2005/Atom'>
<title>pardes.git/src/image.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-01T16:44:34Z</updated>
<entry>
<title>An image's or a terminal's tag says petscii:on when it is drawn as glyph art, as it always is with no graphics; Petscii on|off still chooses for when there are</title>
<updated>2026-10-01T16:44:34Z</updated>
<author>
<name>Gabriel Schneider</name>
<email>gbrls@0x4200.cafe</email>
</author>
<published>2026-10-01T16:30:42Z</published>
<link rel='alternate' type='text/html' href='https://git.0x4200.cafe/pardes.git/commit/?id=bac1c62c1905a5ce11a6b630d556bc349041628b'/>
<id>urn:sha1:bac1c62c1905a5ce11a6b630d556bc349041628b</id>
<content type='text'>
The images and tagbottomimage goldens are re-recorded for the word.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>The web build compiles again: a dump asks whether a picture is on disk only where there is a disk (fixes zkmtpmmq)</title>
<updated>2026-10-01T14:24:02Z</updated>
<author>
<name>Gabriel Schneider</name>
<email>gbrls@0x4200.cafe</email>
</author>
<published>2026-10-01T14:23:34Z</published>
<link rel='alternate' type='text/html' href='https://git.0x4200.cafe/pardes.git/commit/?id=6d8bd80429102cb06947f92c2bde00292cae05d5'/>
<id>urn:sha1:6d8bd80429102cb06947f92c2bde00292cae05d5</id>
<content type='text'>
Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>A dump no longer embeds a picture or a PDF that is on disk: Restore reads it from there, as a clean file's text is</title>
<updated>2026-10-01T13:46:01Z</updated>
<author>
<name>Gabriel Schneider</name>
<email>gbrls@0x4200.cafe</email>
</author>
<published>2026-10-01T13:36:27Z</published>
<link rel='alternate' type='text/html' href='https://git.0x4200.cafe/pardes.git/commit/?id=860796aa8832bb9bf32b2770bc0584b962bb51b7'/>
<id>urn:sha1:860796aa8832bb9bf32b2770bc0584b962bb51b7</id>
<content type='text'>
Every Dump carried each image's and PDF's bytes in base64 (a 900 KB PDF
made a 1.3 MB dump), and a Restore showed that copy however the file had
changed. One on disk now goes by its path alone; one not on disk (no
file behind it) still has its bytes kept.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>A pane's ctl read says Collapse and a PDF's PdfFit and PdfTint (`collapsed`, `fit:height tint:full`), and a Dump keeps the PDF's two</title>
<updated>2026-10-01T11:53:11Z</updated>
<author>
<name>Gabriel Schneider</name>
<email>gbrls@0x4200.cafe</email>
</author>
<published>2026-10-01T11:26:42Z</published>
<link rel='alternate' type='text/html' href='https://git.0x4200.cafe/pardes.git/commit/?id=b7eb31674e01c992cafc91518e161258b921bd33'/>
<id>urn:sha1:b7eb31674e01c992cafc91518e161258b921bd33</id>
<content type='text'>
Neither showed in the tag or the ctl, and a Restore brought a PDF back
at width fit and the default tint. The ctl read ends with `collapsed`
when it is, and a PDF's `fit:` and `tint:` in the words PdfFit and
PdfTint take; the dump's image record carries pdf_fit and pdf_tint
(empty in older dumps: the defaults).

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>A terminal's kitty graphics draw as glyph art where pixels cannot, and by choice: Petscii on the pane, TermImages for new ones</title>
<updated>2026-10-01T03:53:56Z</updated>
<author>
<name>Gabriel Schneider</name>
<email>gbrls@0x4200.cafe</email>
</author>
<published>2026-10-01T03:45:14Z</published>
<link rel='alternate' type='text/html' href='https://git.0x4200.cafe/pardes.git/commit/?id=0bb65902ebec104dac954b59f28500812419e1af'/>
<id>urn:sha1:0bb65902ebec104dac954b59f28500812419e1af</id>
<content type='text'>
Under an outer terminal without kitty graphics a tty pardes cannot pass a
terminal pane's images on, so it draws them itself as an image pane's
Petscii does: each row of an image is matched to C64-palette glyph art
over the cells it covers (GlyphArt.renderRect, the exact-grid half of
GlyphArt.render), cached while it is on screen. yazi is still told the
kitty protocol works, so it keeps sending its previews.

The same art is a choice anywhere: the Petscii builtin now takes a
terminal pane too (PaneKind.picture), flipping its images between pixels
and glyphs, and a terminal holding images, or drawing them as glyphs by
choice, says petscii:on|off in its tag as an image pane does. TermImages
real|petscii (default real) is what a new terminal starts with; it is in
DumpConfig, /ctl and the reference.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Dumps and init files from before 0.0.4 load no more of their old tag formats, and three orphan test scripts go</title>
<updated>2026-10-01T03:12:17Z</updated>
<author>
<name>Gabriel Schneider</name>
<email>gbrls@0x4200.cafe</email>
</author>
<published>2026-09-30T01:48:21Z</published>
<link rel='alternate' type='text/html' href='https://git.0x4200.cafe/pardes.git/commit/?id=f0e162d287f44a562ff79e7c1d2cf81ace00c836'/>
<id>urn:sha1:f0e162d287f44a562ff79e7c1d2cf81ace00c836</id>
<content type='text'>
A2: a restored pane's tag tail comes from the dump's tag_tail, which every dump since 0.0.4 writes; the 27 earlier default tails that were recognised to upgrade, restoreTail, tailClass, savedPrefix and restoreTailAt, pdf_view's and image's legacySavedPrefix, a terminal's TTY tag prefix and its raw output tail replay, and the ThemeSel, FontSel and ColumnTags words (init lines and dumped output names) go, with their tests; the CHANGELOG says so. A4: test/fs_soak.py, referenced nowhere (monkey9p.py does its work). A6: test/column_grip.py and test/look_placement.py, referenced nowhere; the six review scripts docs/ui-review.md names stay.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>A look at a corrupt image fails with an err rather than open a blank pane</title>
<updated>2026-10-01T03:12:16Z</updated>
<author>
<name>Gabriel Schneider</name>
<email>gbrls@0x4200.cafe</email>
</author>
<published>2026-09-29T15:31:47Z</published>
<link rel='alternate' type='text/html' href='https://git.0x4200.cafe/pardes.git/commit/?id=a5be027a0c05c8950bada14fa2f2e713ce7d6986'/>
<id>urn:sha1:a5be027a0c05c8950bada14fa2f2e713ce7d6986</id>
<content type='text'>
An image stb_image could not read opened as an empty image pane, the look succeeding. The bytes' header is now checked at the look (stbi_info_from_memory), and one that is no image it reads fails the look, look: &lt;path&gt;: not an image pardes can read, making no pane.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Paint into a target Surface instead of swapping the frame's out</title>
<updated>2026-10-01T03:12:14Z</updated>
<author>
<name>Gabriel Schneider</name>
<email>gbrls@0x4200.cafe</email>
</author>
<published>2026-09-28T16:24:06Z</published>
<link rel='alternate' type='text/html' href='https://git.0x4200.cafe/pardes.git/commit/?id=e11048c20a50b67841e648a4d5ddd7490bc9c9b7'/>
<id>urn:sha1:e11048c20a50b67841e648a4d5ddd7490bc9c9b7</id>
<content type='text'>
The painters of a pane's body and tag (renderBody and its selection,
gutter, syntax, ANSI and wrap-marker passes; paintPaneTag; paintHeaders;
renderPane; the image and PDF grid paths) take the Surface they paint as a
parameter. The body layer and the tag layers paint straight into their own
temporary surfaces, and the std.mem.swap of p.surface around those calls is
gone. No behaviour change.
</content>
</entry>
<entry>
<title>Move the Image pane namespace out of panes.zig into image.zig</title>
<updated>2026-10-01T03:12:14Z</updated>
<author>
<name>Gabriel Schneider</name>
<email>gbrls@0x4200.cafe</email>
</author>
<published>2026-09-28T00:18:46Z</published>
<link rel='alternate' type='text/html' href='https://git.0x4200.cafe/pardes.git/commit/?id=2352f0079404f31d458745e687d195d8f9c5b39f'/>
<id>urn:sha1:2352f0079404f31d458745e687d195d8f9c5b39f</id>
<content type='text'>
Pure move: the body of `pub const Image = struct { ... }` now sits at the
end of image.zig, dedented, under a "the image pane" banner, so the image
thing (decoding, glyph art, and the pane that shows it) is one file. Its
nine `image.X` self-references lose the prefix; image.zig gains the four
imports the pane code uses. panes.zig keeps `pub const Image =
@import("image.zig");`, so `panes.Image.x` callers are unchanged.
image.zig joins the embedded source list, since the pane code left
panes.zig which was on it.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Refactor panes and filesystem; replace FUSE with 9P</title>
<updated>2026-09-07T16:59:12Z</updated>
<author>
<name>Gabriel Schneider</name>
<email>gbrls@0x4200.cafe</email>
</author>
<published>2026-09-06T21:11:36Z</published>
<link rel='alternate' type='text/html' href='https://git.0x4200.cafe/pardes.git/commit/?id=60367d8fe23f6af98ec28e3cf6c2094dfe332df0'/>
<id>urn:sha1:60367d8fe23f6af98ec28e3cf6c2094dfe332df0</id>
<content type='text'>
Consolidate pane, layout, memory and host code. Serve 9P by default over Unix sockets, with runtime mounts and optional TCP/QUIC transports. Remove FUSE and obsolete proof-of-concept examples.

Fix highlighting and terminal-history performance, expand differential and stress-test infrastructure, sort navigation results while preserving the next occurrence, add syntax-colored Braille minimaps, remove SPC-k, and document 9P interaction as a repository skill.
</content>
</entry>
</feed>
