Skip to content

v0.25.0

Choose a tag to compare

@leonkacowicz leonkacowicz released this 02 Aug 15:34
· 301 commits to main since this release

No breaking changes. Update with trck update (or drop in the new ./trck) and carry on —
nothing to migrate, no flags removed.

This is a layout release: trck deps and the HTML graph both got a lot better at drawing a
dependency DAG you can actually follow.

trck deps — shorter gutter lanes

The gutter graph now shortens a lane by sliding nodes along the order, so a dependency line
spans fewer rows and crosses less of the graph on its way. The result is stable: the same
tracker renders the same graph regardless of the order ids happen to arrive in.

tools/trck-html — a readable dependency graph

  • Rows ordered by barycentre. Nodes are placed on the average position of their
    neighbours, then rows are reordered when it cuts crossings, with a final pass that relocates
    single nodes that are still badly placed.
  • Layer-skipping edges routed through placeholders. An edge that jumps several layers no
    longer cuts straight across unrelated nodes — it is routed through invisible placeholder
    nodes, one per layer it crosses, so it follows the same lanes as everything else.
  • Edge geometry. Edges land on the arrowhead's base rather than its tip, and the vertical
    gap between layers is twice a node's height, which leaves room for the arrows to breathe.
  • Hover accenting. Putting the pointer on a node accents its edges, so you can trace what
    one issue depends on and what depends on it without leaving the graph.

tools/trck-html — view defaults

  • Facet checkboxes start checked, so a fresh view shows everything rather than nothing.
  • Tree parents start collapsed, and toggling a facet no longer forces them open.
  • Font stacks hoisted to one place and led with better families.

Tests

test_an_id_prefix_resolves pins its ids instead of generating random ones, which removes a
flake when two generated ids happened to share a 2-character prefix.