One direction to drop in, and a new note that stays on top

Every new note pulled the arrangement apart. A note was made with no
position and left to the tie-break, which put it near the top by age --
which is not the same thing. A separator's position counts the rows above
it, so a row appearing without a renumber left every line one row too
high. placeOnTop builds the order from the list *without* the new note and
puts it in front: measuring the room after the furniture has moved would
write the misreading back as the truth.

A drop now lands the row under the one it was released on, and only there.
Dropping above a row and dropping below the row before it are the same move
described twice, so every gap could be aimed at from two sides. The strip
above the first row is the one place a drop under something cannot reach.

A chapter could only be dropped into, never dragged past: taking the whole
row as a place quietly took reordering away. The bottom edge of its header
is the gap now, the rest of the row is still the chapter.

A link showed the sheet of paper whatever it pointed at. The @ menu dropped
the mark on the way into the link, and the refresh that keeps a link current
ran once, while the editor was still empty -- content is poured in afterwards
without an update event, so nothing ever looked again.

The mark in the title bar and the box in a task list were each centred on a
line box rather than on the letters in it, which is not the same as being on
one line. The mark shares the title's baseline; the box is centred on the
capitals and sized in em.

Move to... is divided under headings that are deliberately not shaped like
entries, and each row carries the mark its chapter or notebook wears.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
marcandClaude Opus 5 committed 2026-08-17 11:45:16 +02:00
1 parent 2ffa357dfc
commit a9391cdcf2
15 files changed
+724 -189

No files matched your search

+52
View File
@@ -8,6 +8,58 @@ not from the output of `docker push`.
---
## 2026-08-17 — One direction to drop in, and a new note that stays on top
**Images** — web `sha256:PENDING`, server `sha256:PENDING`
No backend source changed this round.
**Fixed**
- **Every new note pulled the arrangement apart.** A note was made with no
position at all and left to the tie-break, which put it near the top by age —
which is not the same thing. A separator's position counts the rows above it,
so a row appearing without a renumber left every line one row too high, and a
little more of the notebook's order came undone with each note. A new note is
now put at the very top and the list is renumbered to say so; every other row
keeps its place, lines included. Rows that had never been dragged stop sliding
about as they are edited, because they now carry a position of their own.
- **A chapter could only be dropped *into*, never dragged past.** Taking the
whole row as a place quietly took reordering away: a chapter could not be moved
among its neighbours, and nothing — note or line — could be put in the gap
under one. The **bottom edge of a chapter's header is that gap** now; the rest
of the row is still the chapter, and still lights up to say so.
- **A link showed the sheet of paper whatever it pointed at**, despite last
round's work. Two things: the `@` menu drew each note's own mark but dropped it
on the way into the link, and the refresh that keeps a link's label and mark
current ran once, while the editor was still empty — the note's content is
poured in afterwards, deliberately without an update event, so nothing ever
looked again. It now runs whenever the document changes.
- **The mark in the title bar sat above the line of the title.** Both boxes were
centred, which is not the same as being on one line: a title's box is taller
than its letters by the depth of a descender, so its capitals sit above the
middle while an emoji's picture fills its box. Measured, the mark was 2px high
and dipped below a line the title never crossed. They share a **baseline** now,
which needs no number.
- **The task list's box hung off the line it belonged to.** Centred in the full
line it was a 15px square against a 10px letter, its top level with the
capitals and its bottom 4px past the baseline. It is centred on the *letters*
and sized in em, so it stays the size of a capital at every type size.
**Changed**
- **A drop lands the row under the one it was released on, and only there.**
Dropping above a row and dropping below the row before it are the same move
described twice, so every gap could be aimed at from two sides — hard to aim
at, harder to read. There is now a strip **above the first row** as well as
below the last, because that is the one place a drop *under* something cannot
reach.
- ***Move to…* is divided under headings** — the notebook itself, *Chapters
here*, *Other notebooks* — instead of running two kinds of place together with
a rule between them. The headings are deliberately not shaped like entries: one
built like a menu row is a button that does nothing when pressed. Each row
carries the mark its chapter was given or the cover its notebook wears.
---
## 2026-08-17 — One dialog per thing, and rows dragged into a chapter
**Images** — web `sha256:18a68a2d…`, server `sha256:febc4b93…`