summaryrefslogtreecommitdiff
path: root/src/tutor.txt
diff options
context:
space:
mode:
authorGabriel Schneider <[email protected]>2026-08-12 16:33:14 -0300
committerGabriel Schneider <[email protected]>2026-08-12 20:22:18 -0300
commit9280c597b000eed661fd98793e182fdcb640f6cd (patch)
tree1b8e928c052c46ceb9a58c83256d5fb4e11e361a /src/tutor.txt
parentbc89f57cb576e23a58572ec35f96db068367f1b4 (diff)
downloadpardes-9280c597b000eed661fd98793e182fdcb640f6cd.tar.gz
pardes-9280c597b000eed661fd98793e182fdcb640f6cd.zip
shaders: -Dprebuilt-shaders, so a gui build needs no Vulkan SDK
glslc is the one build input that wants a tool a stock machine does not have, and it is also the input that changes least often: eight GLSL files that have outlived several rewrites of everything around them. Asking every machine that wants to run the SDL shell for shaderc is the wrong trade. The SPIR-V is now COMMITTED, under shaders/prebuilt/, and -Dprebuilt-shaders embeds that copy instead of shelling out. The default stays the honest one -- compile the shaders that are actually in the tree -- because the flag trades a dependency for a freshness problem: with it on, the .glsl sources are not build inputs at all, so editing one changes nothing. `zig build shaders` is the other half, and it is deliberately independent of -Dplatform: it recompiles every shader and writes the result back into the tracked directory, so whoever changes a shader refreshes the cache on a machine that has the compiler and commits the diff. `jj diff shaders/prebuilt` after it is the freshness check -- empty means the cache was already current. The shader list is also spelled once now (gui_shaders): the eight embeds, the eight glslc runs and the refresh step all read it, so adding a shader is a name there plus the @embedFile in gui.zig, not three edits in two places. Verified: -Dplatform=gui -Dprebuilt-shaders builds with glslc absent from PATH, and image-harness passes on that binary -- real SDL GPU pipelines built from the committed SPIR-V, 512 source pixels read back. The default gui build still runs the eight glslc steps; tty runs none. The committed bytes are identical to a fresh glslc run, and `zig build shaders` is idempotent.
Diffstat (limited to 'src/tutor.txt')
-rw-r--r--src/tutor.txt9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/tutor.txt b/src/tutor.txt
index 9c73e5c9..c2db239d 100644
--- a/src/tutor.txt
+++ b/src/tutor.txt
@@ -195,14 +195,17 @@
— a file's text, a shell's scrollback, anything — for the pattern, plain
and case-insensitive, and writes one row per matching LINE into a
"+Search" pane — the FIRST hit on that line, named as a location, with
- the line's own text after it.
+ the line's own text after it — and then GOES to the first of those rows.
+ That last part is nothing new to learn: it is the step `n` is and the
+ look Enter is, run for you in the list that has just answered. A pattern
+ that matched nothing opens its empty buffer and goes nowhere.
That is an OUTPUT BUFFER: a file pane with no file behind it, so it has
no Save, but everything else about it is an ordinary buffer you can read,
edit, select and look in. It is not a document, though, and never takes a
column of its own: it opens BELOW the pane that asked for it, in that
pane's column, be that a file or a shell — and a file you then open from
- its rows goes where files go, not under the list. `n`/`N` walk those
- rows, and walking is ALL they do: a press moves the SELECTION to the
+ its rows goes where files go, not under the list. `n`/`N` carry on down
+ those rows, and walking is ALL they do: a press moves the SELECTION to the
next look-able thing and opens nothing, so you can step past nine hits
to reach the tenth without opening the nine. Enter — the look chord —
opens the one you stopped on. The walk is a RING over PANES and not