Skip to content

Shader Studio previews and the rest of Kitty's effects (Slice 5, stacked on #519) - #520

Draft
raiseCatError wants to merge 1 commit into
feature/render-routing-20261028from
feature/shader-studio-previews-20261028
Draft

raiseCatError wants to merge 1 commit into
feature/render-routing-20261028from
feature/shader-studio-previews-20261028

Conversation

@raiseCatError

Copy link
Copy Markdown
Owner

Stacked on #519 (Slice 4), so this diff is Slice 5 only. Retarget only after review.

What

  • Previews in the shared Shader Studio (Kitty and Ghostty):
    • A small sample terminal, drawn by NMSh in cells, shows an approximation of the selected preset. It is labelled "approximate, drawn by NMSh; 's GPU shader is the real effect".
    • A run plays once on selection or a value change, and P replays it. The shared presentation clock runs only while a run animates; there is no idle loop.
    • Reduced Motion and Effects Off show a still frame. NO_COLOR shows no preview.
    • Colors follow the terminal's color level.
    • Short or very narrow windows drop the preview rather than cutting the list or controls.
    • Kitty sliders map onto the preview, so moving one changes it.
    • Effects with no faithful approximation say so instead of guessing.
  • Kitty catalog completed: CRT (blue), Rockets, Bloom, TFT pixels, Water, Underwater, Negative.
    • Parameters appear only where Kitty's shipped shaders declare them.
    • CRT and CRT (blue) are mutually exclusive.

Verification

  • Focused tests: 121/121. Typecheck clean.
  • Installed Kitty 0.49.2, headless with a private HOME: every new preset compiles, and tuned values change the compiled shader compared with the defaults.
  • Independent review found no blocker. Its 4 should-fix items and the minor items were fixed with regression tests.
  • The full suite is left to CI.

Not verified: GPU output and physical QA were not run.

The shared Kitty/Ghostty studio shows an approximate preview of the selected
preset, drawn by NMSh in cells and labelled as such. A run plays once on
selection or a value change (P replays); a frame clock runs only while it
animates. Reduced Motion and Effects Off show a still frame, and colors follow
the terminal's color level.

Kitty's catalog gains CRT (blue), Rockets, Bloom, TFT pixels, Water,
Underwater and Negative, with parameters only where the shipped shaders
declare them.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant