Repository navigation
v0.8.0
.gtui format 9 (reads v1..v9). Crate 0.8.0.
Changed
- Keyboard cursor movement scrolls like nvim: the view stays put until the cursor reaches a
two-cell margin, then every further step scrolls the picture by exactly one cell immediately
while the cursor keeps its screen line (only its logical cell advances). Scrolling here is
not eased — an animation would move the cursor down one cell and then pull it back, which reads
as a jump. Jumps (search,n/N, click, jump history) stay animated, and all mouse gestures
are unchanged.
Fixed
-
A point-node edge no longer routes straight along an edge that is already drawn: two edges that
occupy the same cells collapse into one stroke, so the later edge looks invisible while the
earlier one's arrowhead sits on it, which makes the selected edge read as bidirectional. The L
now picks the other corner when the first one would duplicate an existing run of the same axis
(crossings still share a single cell, as before). -
Edges keep their shape while the view moves: routing now looks at the whole document
(every node is an obstacle, and the "this cell already has a stroke" state is kept outside the
viewport too) instead of only at the visible cells, so panning and cursor scrolling are a pure
translation of the picture and a long edge whose node has left the screen still shows the part
that is on screen. -
Ctrl-o/Tab(Ctrl-i) walk a proper jump list: besides search hits,n/Nand mouse
clicks, every edit records its position — creating a box, editing text, changing a style — while
plain cursor moves do not.Ctrl-ofrom anywhere first notes where you are and then goes back to
the last place you worked.
Added
- Six hand-placed joke graphs under
examples/fun/(owl,left-pad,git-graph,unix,
invaders,dynasties), listed indocs/examples.md. They usegeolayout, so the stored
coordinates are the picture;invadersis pure pixel art built from 46 single-cell text boxes,
anddynastiesis a 44-regime top-down Chinese-dynasty DAG ofpointnodes with one-line CJK
labels placed around them: edges branch where regimes coexisted and merge where one power
reunified, with no edge labels. The
native example test walksexamples/fun/as well. <|new box|>inside the text prompt splits one box into several: the text before the marker
stays in the box, each following segment becomes a new box to its right (top aligned, one cell
apart, nudged right/down when the space is taken) that copies the source box style, colours,
fill, text alignment and layer. Edges and notes stay on the original box; the cursor does not
move and the whole split is one undo step. Only single plain boxes split: multi-selections, edge
notes andpointnodes keep the marker as ordinary text, and so do:textand headlesstext.
\<|new box|>is a literal.