<feed xmlns='http://www.w3.org/2005/Atom'>
<title>pardes.git, 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:04:28Z</updated>
<entry>
<title>Clicks in the site's clips stop, then click in place with a ring; the hero opens on all three panes; new clips show the PDF and image panes; the Themes gallery has a shot of every theme</title>
<updated>2026-10-01T16:04:28Z</updated>
<author>
<name>Gabriel Schneider</name>
<email>gbrls@0x4200.cafe</email>
</author>
<published>2026-10-01T15:42:48Z</published>
<link rel='alternate' type='text/html' href='https://git.0x4200.cafe/pardes.git/commit/?id=f6a511c61d7ef2ff680f70077b236559a595be69'/>
<id>urn:sha1:f6a511c61d7ef2ff680f70077b236559a595be69</id>
<content type='text'>
record_demos.py: a click glides to its target, stops, and presses and
releases with the pointer still (a ring and the button's name on the
press, a pulse after), pausing before anything moves. The hero's README,
main.c and output pane are all up from its first frame. pdf-navigation
and pdf-tint-fit page the Intel SDM vol. 2 (--pdf, read where it is):
PdfSections to CPUID, a search stepped with n, PdfTint's three looks,
PdfFit both ways and a page address. image-pane opens a Mandelbrot PNG
the script draws, then Petscii. `record_demos.py themes` shoots one
scene in each theme of src/themes, in the Themes order, into
docs/site/media/themes with themes.toml (ready).

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>A PDF with a JPEG image no longer crashes ReleaseSafe and Debug builds: libjpeg and jbig2dec are built without UBSan, as the rest of MuPDF is</title>
<updated>2026-10-01T16:04:28Z</updated>
<author>
<name>Gabriel Schneider</name>
<email>gbrls@0x4200.cafe</email>
</author>
<published>2026-10-01T15:42:48Z</published>
<link rel='alternate' type='text/html' href='https://git.0x4200.cafe/pardes.git/commit/?id=0892e3aa5cd46e43b0bb0ac10f47d2ee4f500409'/>
<id>urn:sha1:0892e3aa5cd46e43b0bb0ac10f47d2ee4f500409</id>
<content type='text'>
libjpeg calls filter-dct.c's source manager through a function pointer;
with -fsanitize=function on the caller and no type hash on the
uninstrumented callee, the call trapped (Illegal instruction in
jpeg_fill_bit_buffer). The Intel SDM vol. 2 crashed pardes on its first
page.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Alt/Option-click is B2 and Super/Cmd-click is B3, sweeps included, as in plan9port: a one-button trackpad can execute and look</title>
<updated>2026-10-01T15:58:23Z</updated>
<author>
<name>Gabriel Schneider</name>
<email>gbrls@0x4200.cafe</email>
</author>
<published>2026-10-01T15:44:06Z</published>
<link rel='alternate' type='text/html' href='https://git.0x4200.cafe/pardes.git/commit/?id=8eeab5df9c09caafc07c93c2fc3baf6e6700afed'/>
<id>urn:sha1:8eeab5df9c09caafc07c93c2fc3baf6e6700afed</id>
<content type='text'>
The core decides it at the press (mouse.emulateButton) and keeps it to the
release, whatever keys are let go between. Ctrl-click stays a definition,
and a program tracking the mouse still gets the plain click (Alt as its
meta, Super as nothing). The SDL, macOS and web shells now pass Super; the
macOS and web shells pass Alt on a click too. A terminal's mouse report has
no Super bit, so in a terminal only Alt-click is B2.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Builtins are written by name: each chapter and the tutor define Look and Exec once and then say Look and Exec; the cheatsheet draws every mouse button as its icon; one-button clicks (Alt is B2, Super is B3) are in the guide and cheatsheet; building says how to send patches to the list</title>
<updated>2026-10-01T15:58:23Z</updated>
<author>
<name>Gabriel Schneider</name>
<email>gbrls@0x4200.cafe</email>
</author>
<published>2026-10-01T15:48:17Z</published>
<link rel='alternate' type='text/html' href='https://git.0x4200.cafe/pardes.git/commit/?id=a99edf403dbcebae2ce557e2ba39078ffe876a92'/>
<id>urn:sha1:a99edf403dbcebae2ce557e2ba39078ffe876a92</id>
<content type='text'>
Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Prose that names a mouse button in words drops the glyph beside it, so a screen reader or text browser reads each click once</title>
<updated>2026-10-01T15:44:43Z</updated>
<author>
<name>Gabriel Schneider</name>
<email>gbrls@0x4200.cafe</email>
</author>
<published>2026-10-01T15:44:43Z</published>
<link rel='alternate' type='text/html' href='https://git.0x4200.cafe/pardes.git/commit/?id=0c3f1694ad547d734b332b1f69620e8df7bcf97c'/>
<id>urn:sha1:0c3f1694ad547d734b332b1f69620e8df7bcf97c</id>
<content type='text'>
Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>The docs call pardes's scripting interface a virtual filesystem, served over 9P, and the guide opens on look and execute as the core idea</title>
<updated>2026-10-01T15:42:16Z</updated>
<author>
<name>Gabriel Schneider</name>
<email>gbrls@0x4200.cafe</email>
</author>
<published>2026-10-01T15:41:52Z</published>
<link rel='alternate' type='text/html' href='https://git.0x4200.cafe/pardes.git/commit/?id=406d0bc6f1debe5d9de43a60ab0931d937845194'/>
<id>urn:sha1:406d0bc6f1debe5d9de43a60ab0931d937845194</id>
<content type='text'>
Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>The landing leads with live text and plays terminal casts first; the Themes page gets a gallery; install starts at the clone</title>
<updated>2026-10-01T15:41:34Z</updated>
<author>
<name>Gabriel Schneider</name>
<email>gbrls@0x4200.cafe</email>
</author>
<published>2026-10-01T15:41:34Z</published>
<link rel='alternate' type='text/html' href='https://git.0x4200.cafe/pardes.git/commit/?id=3c1668e02395d41bb83a4df3d85bf47a7bbdbef4'/>
<id>urn:sha1:3c1668e02395d41bb83a4df3d85bf47a7bbdbef4</id>
<content type='text'>
The landing's own words sit in one `landing` record in site.typ: a lead
on the core idea (any text is live: right-click looks, middle-click
runs), where it runs, and a status line whose version is read from
build.zig.zon. Recordings come in two shelves: "In a terminal", asciicast
players from docs/site/casts/casts.toml (the first autoplays; all loop
and fit the width; data inline, so they play from file://), then "In
its own window", the GUI clips. asciinema-player 3.17.0 is vendored in
docs/site/player with its Apache-2.0 licence, from `npm pack`. The
Themes page shows #theme-gallery() from media/themes/themes.toml, a
thumbnail per theme opening the full picture; on paper it is nothing.
Both shelves and the gallery show placeholders until their files exist.

`project` in style.typ lists the mirrors (sourcehut, git.0x4200.cafe);
install.typ clones from the first and names them all, and the footer
links each. The README clones before it builds. The scripting
interface is a virtual filesystem served over 9P, never just a
filesystem, in the tagline, captions and README.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>The landing shows the four recordings, pardes is ISC-licensed, and the install lines fit a phone</title>
<updated>2026-10-01T15:32:35Z</updated>
<author>
<name>Gabriel Schneider</name>
<email>gbrls@0x4200.cafe</email>
</author>
<published>2026-10-01T15:28:20Z</published>
<link rel='alternate' type='text/html' href='https://git.0x4200.cafe/pardes.git/commit/?id=9a7830c62d25d83754bd58d0e705501f71656c69'/>
<id>urn:sha1:9a7830c62d25d83754bd58d0e705501f71656c69</id>
<content type='text'>
clips.toml names the recordings (text-is-the-interface,
terminals-are-panes, scripting-over-9p, diff-review), each ready, its
caption checked against what the clip shows. The first ready clip
plays at the top, full width and on its own (autoplay, muted, looping),
and the grid below shows the others, three across. Videos and posters keep the recordings' 960x700 shape. The footer
links the source at git.0x4200.cafe/pardes and names the ISC license,
from `project` in style.typ. LICENSE holds the ISC text, and the README
names it and says the libraries keep their own (MuPDF, on by default, is
AGPL). The install lines put their comments on lines of their own, and
on a phone a shell line wraps rather than scroll its end away.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Scripts find the session as m=\$PARDES_MOUNT, else 9p; SPC q quits; upper keeps a selection's newline and its tag words once; the reference takes line files, init errors, dumps, dials and Save on +Tutor</title>
<updated>2026-10-01T15:31:48Z</updated>
<author>
<name>Gabriel Schneider</name>
<email>gbrls@0x4200.cafe</email>
</author>
<published>2026-10-01T15:31:48Z</published>
<link rel='alternate' type='text/html' href='https://git.0x4200.cafe/pardes.git/commit/?id=beb895a93f5320e3b98d66a6c18528de9a2ec37b'/>
<id>urn:sha1:beb895a93f5320e3b98d66a6c18528de9a2ec37b</id>
<content type='text'>
Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>The documentation site's landing page has four short silent clips in docs/site/media, recorded from a hidden test window by test/record_demos.py</title>
<updated>2026-10-01T15:24:31Z</updated>
<author>
<name>Gabriel Schneider</name>
<email>gbrls@0x4200.cafe</email>
</author>
<published>2026-10-01T14:17:45Z</published>
<link rel='alternate' type='text/html' href='https://git.0x4200.cafe/pardes.git/commit/?id=09da0f673cfd9fdb83c4e48a2fa73a274aff4a6f'/>
<id>urn:sha1:09da0f673cfd9fdb83c4e48a2fa73a274aff4a6f</id>
<content type='text'>
text-is-the-interface, terminals-are-panes, scripting-over-9p and
diff-review: each a webm (VP9), an mp4 (H.264, faststart) and a poster
PNG at 960 px, with captions.txt. The script drives a PARDES_TEST session
on the virtual clock through stdin mouse events, keys and 9P, keeps the
settled frame after each step, draws the pointer and loops each clip
with a dissolve back to its first frame.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
</feed>
