From 9280c597b000eed661fd98793e182fdcb640f6cd Mon Sep 17 00:00:00 2001 From: Gabriel Schneider Date: Wed, 12 Aug 2026 16:33:14 -0300 Subject: 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. --- test/snapshots/fsearch.snap | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) (limited to 'test/snapshots/fsearch.snap') diff --git a/test/snapshots/fsearch.snap b/test/snapshots/fsearch.snap index b9b7ddf4..3752909b 100644 --- a/test/snapshots/fsearch.snap +++ b/test/snapshots/fsearch.snap @@ -1,11 +1,13 @@ # `/` file search: the pattern types into the tag (persistent, no popup); # Enter searches the buffer in-core and writes `path:LINE:COL-ENDCOL text` into # a +Search OUTPUT BUFFER (a file pane with no file behind it — no Save in its -# tag); n/N SELECT the next/prev row there and open nothing, and Enter — the -# look chord — is what scrolls the file pane to the hit AND SELECTS IT: the row -# names the match's whole span, not just where it starts. Esc abandons the -# input; a no-match search opens an EMPTY buffer (every search gets its own, -# stacked under the pane) with nothing in it for n to stop on. +# tag) — AND GOES TO THE FIRST HIT, which is the step `n` is and the look Enter +# is, run for you in that buffer. From there n/N SELECT the next/prev row and +# open nothing, and Enter — the look chord — is what scrolls the file pane to +# the hit AND SELECTS IT: the row names the match's whole span, not just where +# it starts. Esc abandons the input; a no-match search opens an EMPTY buffer +# (every search gets its own, stacked under the pane) with nothing in it for n +# to stop on, and goes nowhere. file g.txt l1\nMARK a\nl3\nl4\nl5\nMARK b\nl7\nl8\nl9\nMARK c\nl11\nl12 start 30 180 -n 3 wait 8000 g.txt @@ -33,15 +35,13 @@ snap typing key enter wait 10000 g.txt:2:1-4 MARK stable 700 10000 +# ...and the submit already looked result 1: the file scrolled to line 2 and +# the four cells the pattern matched there came up selected — the styles below +# are what prove the second half of that. No `n` was pressed to get here. snap results -# n selects result 1 and Enter looks it: the file scrolls to line 2 and the -# four cells the pattern matched there come up selected — the styles below are -# what prove the second half of that -key n -key enter -stable 700 15000 -snap first -snapstyle first +snapstyle results +# n/N walk on from there, one row of the list per press, Enter looking what +# the step selected key n key enter stable 700 15000 -- cgit v1.3