1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
.ststate is ShaderToy CLI's resumable debugging artifact.
It stores:
- - - - - - -
SSBO capture is opt-in:
shadertoy state capture --frame 300 --include-storage -o target/frame300.ststate
Captured SSBOs can be replaced from exact-size binary files:
shadertoy state set-storage target/frame300.ststate \
The captured texture/timing state is deterministic and independent of wall-clock playback.
Capture:
shadertoy state capture --frame 300 -o target/frame300.ststate
Inspect:
shadertoy state inspect target/frame300.ststate --json
Modify one buffer:
shadertoy state set target/frame300.ststate \
Resume:
shadertoy render --state target/modified.ststate -o target/next.png
State format 4 extends format 3 with optional named SSBO byte payloads. Format 3
introduced per-buffer dimensions and render-target formats so typed buffer state
cannot be silently restored into an incompatible format. Formats 1 through 3
remain readable. A
state containing only fixed-size persistent passes can be resumed at a different
output resolution; output-sized feedback buffers still require the captured
resolution so their state is not silently discarded.