Skip to content

v0.15.0

Choose a tag to compare

@github-actions github-actions released this 09 Nov 02:21
· 4 commits to main since this release

.gtui format 10 (reads v1..v10). Crate 0.15.0.

Added

  • graph-tui tutor opens a walkthrough document built into the binary: 8 short chapters (welcome,
    moving, finding, view, editing, building, styling, files) joined by arrows, plus a sandbox with a
    text to edit, an empty box, two boxes to link, an edge and a point node. It is an ordinary
    document in a scratch buffer -- edit it, break it, r it into another layout -- nothing is
    written anywhere, :q leaves, and running the command again starts from the original. The
    English document is compiled in from assets/tutor.en.gtui; the tutorial itself is English-only
    for now, while --lang still controls the app's own UI text. The subcommand takes no file
    argument and refuses --dump / --export.

Fixed

  • w / b are a horizontal ray across the whole picture. The ray used to pick an axis from the
    picture's proportions and give up as soon as it left the viewport, so on a wide picture it
    printed nothing ahead of the cursor and on a tall one it walked up the column and could never
    reach a box hanging off to the side. It now goes right (w) / left (b) from the cursor's row
    to the edge of the picture, stops at the first box or edge it meets, and scrolls the view there;
    an edge counts as a stop wherever it is drawn (edges are measured inside the window only, so
    beyond it the first box is the stop). When the row is empty -- a vertical stack, a table-like
    layout -- it falls back to the nearest box in the forward half-plane (right or below) or the
    backward one (left or above), measured to the box border, so a vertical column stays walkable and
    a detached box (a legend, a note pinned to the left) is still reachable. Keys and directions are
    unchanged.

  • Dragging a box in a medium document no longer stalls: the port plan was recomputed for every
    layer twice per frame (once in the routing pass, once in the inking pass), and its inner
    candidate loop called content_center -- and through it text_metrics, which splits and
    re-collects the label -- for every pair of candidate cells. content_center is now computed once
    per box and the plan once per layer per frame. On local/llvm-tablegen.gtui (36 boxes, 35 edges)
    a full frame drops from about 353 ms to about 4 ms, and --dump renders in 10 ms instead of
    330 ms. No picture changes: every example and that file dump byte-identically before and after.