Draw the board as the canvas draws boxes, and drag cards live
The user found the board's look off from the canvas's: a block's C was gray around a white card, borders ignored the node's style, a folded column said nothing, and dragging felt wrong. Columns and cards now go through the canvas's line layer, with the same rules as Scene::add_borders: the node's border style and color, thick in the accent color for the cursor, thick in the visual color for the selection. A block's bracket and foot are drawn in its card's own line and color, so the C is one shape and its joint comes out as ├, ┣ or ╠. Tags and badges sit in the bottom border through a footer() shared with the canvas renderer. Columns show their tags and badge too, so a folded column says +N, and a column's title can be typed in its top border (it wasn't shown as typed before). A drag now moves the card live, as on the canvas (the user's pick), all one undo step: by the row under the mouse, before a card on its top half, after it or into its block on its bottom half, out at a foot, first on a column's title, last below the cards. Columns keep their widths while dragging, or a column that narrowed would slide the one under the mouse away and the card would chase it. Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
1 parent
3716919db3
commit
38eca3c8c3
8 files changed
+424
-233
No files matched your search
@@ -343,9 +343,15 @@ lines.
|
||||
left past its cards (two cells further in), and a foot closing it. Blocks
|
||||
nest as deep as the tree does. The columns by tag or by color the first
|
||||
design had are dropped (the user's pick).
|
||||
- A card is a node's box, as on the canvas: its title, its tags and badge
|
||||
in the bottom border, its color on the border, thick for the cursor.
|
||||
Folds fold here too (a folded block is a card with `+N`).
|
||||
- A card is a node's box, and a column a node's box with the title in its
|
||||
top border, drawn exactly as the canvas draws them (the user asked for
|
||||
them to match): its border as its style says (rounded for the root,
|
||||
dashed for a question, double…), in its color, thick in the accent color
|
||||
for the cursor; the tags in its color and the badge in its bottom border.
|
||||
The borders go through the canvas's line layer, so a block's "C" is in
|
||||
its card's own line and color, joined where they meet (`├`, `┣`, `╠`).
|
||||
Folds fold here too: a folded block is a card with `+N`, and a folded
|
||||
column says `+N` in its bottom border.
|
||||
- `j` and `k` go down and up a column in reading order (into the blocks),
|
||||
`h` and `l` to the column beside, onto the card nearest the cursor's
|
||||
height. Titles are typed right in their cards, and `<Space>vb` or
|
||||
@@ -354,9 +360,15 @@ lines.
|
||||
the end of the column beside, `j` and `k` past the cards around it, into
|
||||
a block (as its first card going down, its last going up) and out of one
|
||||
at its end; a column's own node trades places with the column beside
|
||||
(the root's stays first). Enter is done, one undo step. A drag does the
|
||||
same with the mouse: dropped on a card, it goes after it; on a block's
|
||||
card, into it; on a column, at its end. Every move goes through the tree.
|
||||
(the root's stays first). Enter is done, one undo step. Every move goes
|
||||
through the tree.
|
||||
- A drag moves the card live, as the canvas does (the user's pick): it goes
|
||||
through the board as the mouse goes, by the row the mouse is on in the
|
||||
column under it. On a card's top half it goes before that card; on its
|
||||
bottom half after it, or into its block as the first card; on a block's
|
||||
foot, after the block; on a column's title, first; below the cards,
|
||||
last. The whole drag is one undo step. The columns keep their widths
|
||||
while a card is dragged, so the one under the mouse stays put.
|
||||
- In visual mode the board selects in reading order, as the outline does.
|
||||
|
||||
**Views, panes and popups** (settled in stage 7)
|
||||
@@ -556,8 +568,9 @@ pans up and down, and sideways with a wheel that tilts, a touchpad, or the
|
||||
wheel with Shift or Alt held (Alt for terminals that keep Shift for selecting
|
||||
text), Ctrl+drag selects a rectangle, Ctrl+click adds or removes one node,
|
||||
right-click opens a menu built from the same actions as the keys. Zoom is on
|
||||
the `+` and `-` keys. On the board, dragging a card moves it in the tree:
|
||||
after the card it's dropped on, into a block, or to the end of a column.
|
||||
the `+` and `-` keys. On the board, dragging a card moves it through the
|
||||
tree as the mouse goes: before or after the card under it (by which half),
|
||||
into a block, out at its foot, or to a column's top or end.
|
||||
|
||||
## Modes and keys
|
||||
|
||||
|
||||
Reference in new issue
Block a user