<feed xmlns='http://www.w3.org/2005/Atom'>
<title>pardes.git/docs/site/casts, 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-01T18:24:04Z</updated>
<entry>
<title>The landing's words jump to their recordings, the casts open on their telling frame, and #mode-box draws the box</title>
<updated>2026-10-01T18:24:04Z</updated>
<author>
<name>Gabriel Schneider</name>
<email>gbrls@0x4200.cafe</email>
</author>
<published>2026-10-01T17:03:11Z</published>
<link rel='alternate' type='text/html' href='https://git.0x4200.cafe/pardes.git/commit/?id=3b186b7724dd3ca0ff67c3c8a0f9823f0f161fc5'/>
<id>urn:sha1:3b186b7724dd3ca0ff67c3c8a0f9823f0f161fc5</id>
<content type='text'>
Each recording on the landing has an anchor (rec-&lt;name&gt;); the "What's
in it" words jump to theirs (Terminals, PDFs, Images, Diff review,
Scripting) and the recording's caption ends in a link to the docs;
Language servers and Themes, with no recording, link to the docs. A
cast's `poster_at` in casts.toml picks the frame it shows until it
plays: live-text at the error, terminals at the copied line, petscii on
the Mandelbrot; the casts wait for the in-view script to play them. A
caption may hold markup: the 9P clip links 9ns to setup. The downloads
give their size, read from project.download, and the footer links the
changes (project.changes).

The guide's annotated pane has alt text, pin 1 beside the workspace tag
rather than on Changelog, and pin 5 on the body's text; pin positions
are written with repr, since str puts a U+2212 minus CSS cannot read.
#mode-box(mark, unsaved:) draws a pane's box as it looks, in print and
HTML.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>The landing shows each thing once, lists what is in pardes, and the guide opens on an annotated pane</title>
<updated>2026-10-01T16:47:24Z</updated>
<author>
<name>Gabriel Schneider</name>
<email>gbrls@0x4200.cafe</email>
</author>
<published>2026-10-01T16:43:11Z</published>
<link rel='alternate' type='text/html' href='https://git.0x4200.cafe/pardes.git/commit/?id=bbbaf75a6f231475a7b50be7eaadd141d9264215'/>
<id>urn:sha1:bbbaf75a6f231475a7b50be7eaadd141d9264215</id>
<content type='text'>
The window shelf drops terminals-are-panes (`landing = false` in
clips.toml; the casts show it) and keeps the PDF, image, make, diff and
9P clips. Captions say what happens: the live-text cast renames a
variable, runs make and lands on the error; the 9P clip is a shell under
9ns where the session is a directory. Casts stack one per row at the
page's width, each showing a frame of itself until it plays. Under the
lead, a row of linked chips names what is in pardes: terminals, PDFs,
images, language servers, diff review, scripting, themes.

Install says how long the first build takes (62 s from a clean cache on
16 cores, measured with the dependencies already fetched), and `project`
in style.typ has a `download` slot (url, sha256, arch) install.typ
shows once a binary exists.

#annotated draws a screenshot with numbered pins and their labels as
text beside it; the guide opens with one of the orchard theme's shot:
the workspace tag, a column's tag, a pane's tag, the box, the body
and the scrollbar, before its glossary.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Every recording on the landing plays by itself, and only while it is on screen</title>
<updated>2026-10-01T16:34:00Z</updated>
<author>
<name>Gabriel Schneider</name>
<email>gbrls@0x4200.cafe</email>
</author>
<published>2026-10-01T16:24:07Z</published>
<link rel='alternate' type='text/html' href='https://git.0x4200.cafe/pardes.git/commit/?id=52820eb70af788db49735292e2a9ad89cbf1e457'/>
<id>urn:sha1:52820eb70af788db49735292e2a9ad89cbf1e457</id>
<content type='text'>
The GUI clips are autoplay muted loop playsinline with their controls,
and every terminal cast autoplays and loops. A few lines of script
watch them with an IntersectionObserver, playing each while a quarter
of it is in view and pausing it when it leaves; without the script the
videos still autoplay.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>The terminal casts pin the orchard theme and show all four syntax colours, and the petscii cast opens its pictures on camera from a README</title>
<updated>2026-10-01T16:34:00Z</updated>
<author>
<name>Gabriel Schneider</name>
<email>gbrls@0x4200.cafe</email>
</author>
<published>2026-10-01T16:20:57Z</published>
<link rel='alternate' type='text/html' href='https://git.0x4200.cafe/pardes.git/commit/?id=3d3929960bdc51aa491bdbb5cf83d1b9ab8bb197'/>
<id>urn:sha1:3d3929960bdc51aa491bdbb5cf83d1b9ab8bb197</id>
<content type='text'>
pardes colours four syntax classes (keyword, string, number, comment),
so main.c gains a comment to show the fourth; types and function names
stay plain in any theme. The petscii cast starts on a README naming the
pictures and the manual, right-clicks each open, no longer runs
Petscii, and searches 'bit 21', which first appears on the CPUID page.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>The landing's terminal casts are recorded: live text, terminals as panes, and images and PDFs in a plain terminal, each a tty pardes that test/record_casts.py drives in a pty of its own as a plain xterm</title>
<updated>2026-10-01T16:17:15Z</updated>
<author>
<name>Gabriel Schneider</name>
<email>gbrls@0x4200.cafe</email>
</author>
<published>2026-10-01T15:42:29Z</published>
<link rel='alternate' type='text/html' href='https://git.0x4200.cafe/pardes.git/commit/?id=4252afe6f4558b55fa34846b182312d6a384b96e'/>
<id>urn:sha1:4252afe6f4558b55fa34846b182312d6a384b96e</id>
<content type='text'>
The script answers only what an xterm answers, so images fall back to
PETSCII glyph art and a PDF to its text layer. It stamps each scripted
step on a virtual clock and writes the cells the step changed, as pyte
saw them, so the same input makes the same file. The petscii cast
generates its Mandelbrot views and reads the Intel SDM (--pdf) through a
symlink.

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>
</feed>
