The process callback filled the whole mapped buffer every cycle. PipeWire
sizes that buffer by clock.quantum-limit (8192 frames by default) while the
graph drives galdr at the 256-frame quantum we ask for, so each cycle did
~32x the work and everything past the quantum was dropped: choppy output,
constant deadline misses in pw-top, and envelopes that sounded 32x faster
than their settings. Use Buffer::requested (pipewire feature v0_3_49),
clamped to the buffer, with the --latency value as fallback.
tui: typing a glyph no longer advances the cursor to the right.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Gate the sccache install to the ephemeral x86_64 container; on the bare klokka
runner check-and-fail (the tarball was x86_64-only, so it was a host mutation
and a wrong-arch binary). Switch checkout to v4 builtin:checkout.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Grid is now dynamic (w/h up to a max, fixed-stride storage so slot indices
stay stable and content isn't remapped). Ruler marks (+) on empty cells for
orientation; cursor clamps on shrink; status shows the size.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GLUwWE2KmFPzhKaf67tWbx
Full clear+redraw each frame flickered on terminals that ignore
synchronized-update (macOS Terminal over SSH). Now only changed cells
repaint; full clear happens only on resize or help toggle. The glyph
legend moves into a '?'-toggled help overlay; the bottom bar just shows
voices/latency and the quit/help hints.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GLUwWE2KmFPzhKaf67tWbx
- Operators are now UPPERCASE (orca-style): O A U V N sources, L H B SVF
filters (with resonance), E G R envelope/gain/ringmod, S C F D shapers
(soft/clip/fold/decimate), M mix, ! out. Digits = constants, lowercase = CC.
- TUI rewritten on crossterm reusing orca-rs's grid-view approach (centered
canvas, per-glyph colour); the spectrum is gone - run spectrust on the side.
- Drops the ratatui and rustfft deps.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GLUwWE2KmFPzhKaf67tWbx
Signal flows downward through single-glyph unit generators; each MIDI note
voices the whole grid; the mix renders low-latency to PipeWire (reusing the
native path from spectrust). Grid edits recompile and hot-swap without
dropping audio. Pairs with orca (note/CC source) and spectrust (visualizer).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GLUwWE2KmFPzhKaf67tWbx