Skip to content

fix(viz): render braille visualisers edge-to-edge#55

Merged
vxcozy merged 1 commit into
mainfrom
fix/viz-grid-fill
Apr 18, 2026
Merged

fix(viz): render braille visualisers edge-to-edge#55
vxcozy merged 1 commit into
mainfrom
fix/viz-grid-fill

Conversation

@vxcozy
Copy link
Copy Markdown
Owner

@vxcozy vxcozy commented Apr 18, 2026

Summary

  • Pulse grows its pulsing disc against the longer half-axis so it fills the pane on wide terminals instead of hugging the middle with black gutters.
  • Scope is intrinsically square in signal space (Lissajous XY) so it letterboxes with a muted phosphor-green gutter rather than stretching.
  • Wave, Heartbeat, BarsDot now paint empty cells with their palette's muted backdrop colour instead of raw black.
  • Every touched visualiser gains a 120x40 render test asserting that each edge row and column carries either painted dots or palette-tinted cells.

Why

Slice 1 (#54) removed the outer 1-col / 2-row pane inset so the cell grid stretches to the full pane. This slice fixes the remaining within-grid emptiness: braille visualisers that painted small centred shapes with large pure-black gutters around them. The pane now reads as "the viz chose this shape" rather than "the viz is broken" across the whole braille family.

The rewrite temptation for Scope was resisted — its Lissajous curve is inherently square, so it letterboxes with a muted phosphor tint instead of being stretched into an oval. Other geometrically-uniform viz (metaballs, terrain, retro, sakura, firework, scatter, butterfly, rain, binary, moire, tunnel, vortex, plasma, ripples, fire, matrix, bars_outline, classic_peak, density_ramp) already cover the full pane and were left untouched.

Test plan

  • cargo fmt --check
  • cargo clippy --workspace --all-targets -- -D warnings
  • cargo test --workspace --all-features
  • new unit tests: pulse::fills_pane_at_120x40, wave::gutter_is_tinted_not_black, heartbeat::gutter_is_tinted_not_black, scope::letterboxed_gutter_is_tinted, bars_dot::gutter_is_tinted_not_black
  • manual: launch clitunes in tmux pane, verify each touched viz fills the pane

Pulse grows its disc against the longer half-axis so it fills the
pane on wide terminals instead of hugging the middle with black
gutters. Scope is intrinsically square (Lissajous in signal space),
so it letterboxes with a muted phosphor-green gutter rather than
stretching. Wave, Heartbeat, and BarsDot now paint empty cells with
their palette's muted backdrop colour instead of raw black, so the
pane reads as "the viz chose this shape" rather than "the viz is
broken".

Each touched visualiser gains a 120x40 render test asserting that
every edge row and column carries either a painted dot or a
palette-tinted cell.

Closes clitunes-ciy / CLI-87
@chatgpt-codex-connector
Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@vxcozy vxcozy merged commit 479ac8f into main Apr 18, 2026
12 checks passed
@vxcozy vxcozy deleted the fix/viz-grid-fill branch April 18, 2026 17:06
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