diff options
| author | Gabriel Schneider <[email protected]> | 2026-09-28 16:47:26 -0300 |
|---|---|---|
| committer | Gabriel Schneider <[email protected]> | 2026-10-01 00:12:15 -0300 |
| commit | 2663a4d1b3170cb2a4dca5e6f1f3535f44b30e44 (patch) | |
| tree | 070aca7142684fe4c1c646e0fbd4d592951221dd /src/web/pardes.css | |
| parent | a007457cb007b03f310bca55c339e8cd5d9baafc (diff) | |
| download | pardes-2663a4d1b3170cb2a4dca5e6f1f3535f44b30e44.tar.gz pardes-2663a4d1b3170cb2a4dca5e6f1f3535f44b30e44.zip | |
No panic from a notice wider than its band, or from the rest of its class
The showcase GUI died in joinNotice on a long shader-error notice: with
the tagline narrower than the body, the band hides more columns (skip) than
a long message has padding (pad), and `skip..@min(pad, ..)` ran backwards.
An audit of draw.zig, Layer.zig, Presentation.zig and animation.zig found
the same class elsewhere, all fixed:
- a multi-row pane tag or header scrolled for its caret's line sliced a
shorter row past its end (paintPaneTag, renderHeaderLayer);
- a zero-width column tag kept an earlier frame's viewport, and a column
move's clip took it below zero (now saturating, and the early return
resets the viewport and caret);
- a tag line past 65535 columns overflowed tag_scroll's u16;
- a hover left over from a bigger window dashed past the grid;
- a border drag over a column that went away, a move preview past a
shrunken grid, a column-move rail at zero columns;
- Layer.pointAt cast a host's unchecked float metrics (web) to u16;
- Text.insertVerticalCursor read past its lines for a cursor whose text
changed under it.
Regressions: a test of a notice wider than its band through Msg and
through setMessage (the Post.zig compile-error path), which panics without
the fix; and a monkey over the core at a gui's metrics (random resizes to
a cell, long notices, prompts, multi-row tags, clicks, keys), 400 steps in
the suite, PARDES_FUZZ_SEED/STEPS for longer runs; 60 seeds x 3000 steps
clean.
Shared files touched: none of the list (draw.zig, Layer.zig, Text.zig).
Diffstat (limited to 'src/web/pardes.css')
0 files changed, 0 insertions, 0 deletions
