Skip to content

v0.9.0

Choose a tag to compare

@github-actions github-actions released this 04 Nov 09:20
· 82 commits to main since this release

.gtui format 9 (reads v1..v9). Crate 0.9.0.

Added

  • examples/fun/uk-dynasties.gtui follows the English/British royal houses from Wessex to
    Windsor, with the Scottish Stewart line joining in 1603: 17 point nodes, one line each, and no
    edge labels. examples/fun/dynasties.gtui grows to 50 content nodes: 44 point regimes plus six
    one-line none labels for the Warring States (齐 / 楚 / 燕 / 韩 / 赵 / 魏), which branch from 东周
    and merge into 秦.
  • Go-to sequences: gg puts the cursor on 0,0, {x},{y}G jumps to that cell (read as x,y,
    like the status line) and {n}G to row n with the column unchanged; the view centres on the
    landing cell
    and the jump goes into the jump list. A jump that has to move the view now lands
    exactly on the cursor instead of covering only 85% of the distance, which used to leave a far
    jump looking like nothing happened. Counts (5l) still work, and any sequence that is still
    waiting (12, 100,100, g) is echoed on the right end of the bottom line like nvim's
    showcmd.
  • / searches the text in the document, not just node names: node labels (substring, any
    position), aliases and pinyin initials, group names and region titles. A hit on a group or a
    region collects the boxes inside it, so n / N walk real jump targets — and every matched box
    is drawn in search-yellow (frame, text, point glyph and its label) so you can see what matched.
    A text search no longer touches the group focus — that used to light up every other node in the
    same group, so one match looked like a whole chain; a bare number still focuses that group, and
    Esc restores the focus you had before searching. Ids are not searched, and the search prompt
    says what is.

Fixed

  • Selecting an edge no longer shows a stray arrowhead at its far end: when another edge's arrow
    sat on a cell the selected edge runs through, the glyph stayed the foreign arrow (so 金 -> 蒙古
    looked bidirectional because 辽 -> 金's < sat on the shared cell). A raised edge now wins the
    glyph on its own cells and keeps its stroke.

Changed

  • Point-node labels are no longer dropped when their four standard slots are blocked: a node that
    sits on a crossing (e.g. 东周 in dynasties.gtui) now gets its name on the offset cell above or
    below, which is usually free while the centred slot is not.
  • Edge ports are fixed anchors instead of a greedy search for a free border cell: the anchor is
    measured from the node's text, a side carrying one edge (or three and more) uses the middle
    anchor, two edges get the two anchors nearest it, and a side never uses more than two. Adding an
    edge no longer reshuffles the others, none and framed styles keep the same anchor, and zooming
    cannot send an edge to another side. The trade-off: several incoming edges on one side share a
    single arrowhead.
  • 0 only puts the zoom back to 1:1 and leaves the picture where it is: going to the origin is
    gg now, so resetting the view no longer jumps the map around. Opening a file still centres it.