Conversation
The collapsed line said `N roots held back`. It said what had been done to those roots rather than where they now are, it guessed at why the reader pressed the key, and it spelled them with a word readers do not use for them. Graeme settled the words: they are beads, the line names how many, and nothing on it says why they are behind the line, because why the reader asked for one bead is theirs and this program cannot know it. `GroupKind` and the layout walk take the group's own name rather than the screen's, so nothing in the code is named for a sentence that can be rewritten again. Nothing is coined, so the terminology table gains no entry: the gloss of tree the argument would have leaned on is inherited from beads, and this line is the shape `phrase::elided` already draws. The same row's counts and its key hint abutted, because this was the one state block on a row not built through `draw::beside`, whose doc comment claims every one of them is. Both existing tests assert on each cell alone, which passes whether the cells abut or not, so the assertion that holds the gap reads the joined row.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The collapsed line that stands over everything
Shift+Ftakes off the screen said3 roots held back. Three faults in six words: it named what had been done to those roots rather than where they now are, it implied a reason the program cannot know, and it spelled them with a word readers do not use. It now says3 other beads, and1 other beadwhere there is one.Nothing on the line says why they are behind it. An earlier version of this change carried a second clause explaining that, and it is withdrawn rather than reworded: why the reader asked for one bead is theirs, and a line guessing at it would be a claim
bdicannot support.The number still counts the roots behind the line while the word says beads, and that is deliberate. A root whose tracker refused holds no beads at all, so counting beads would draw
0 beadsover a root that is really there and really unreadable. Each thing counted is a bead in its own right, and the neighbouring cells keep the arithmetic honest without arithmetic:3 other beads · 2 agents beneath · 1 bead beneathcannot be read as three beads of which one wants looking at, because the one that wants looking at is said to be beneath them.Nothing is coined, so
docs/design.md's terminology table gains no entry. The line is the shapephrase::elidedalready draws.GroupKind::OutOfTheWayand the layout walk under it are named for what the group is rather than for what the row says, so a future rewording of the sentence moves no identifiers.The same row carried a defect this change also fixes. Its cells abutted —
2 agents beneath⚠ 1 bead beneathF for the whole foreston the shipped screen — because this was the one state block on a row not built throughdraw::beside, whose own doc comment claims every one of them is. It rides here rather than in a bead of its own because it is three calls in the function this change was already rewriting. Both existing tests asserted on each cell alone, which passes whether the cells abut or not, so the assertion that holds the gap now reads the joined row.The fix costs four columns and the new wording gives them back, so the row is no wider than it was. The block gains two gaps at two columns each, and
3 other beadsis four columns shorter than3 roots held back, as1 other beadis than1 root held back. The key hintF for the whole foresttherefore still survives from 77 columns up, which is where it survives from onmain.