Skip to content

Core/settled and still - #8

Merged
softov merged 3 commits into
mainfrom
core/settled-and-still
Aug 27, 2026
Merged

Core/settled and still#8
softov merged 3 commits into
mainfrom
core/settled-and-still

Conversation

@softov

@softov softov commented Aug 27, 2026

Copy link
Copy Markdown
Owner

No description provided.

softov added 3 commits August 27, 2026 02:22
`flush` forces a frame. Nothing could ask whether the frame was
*finished*, so every example guessed: a sleep loop of 4ms times eight,
four in the showcase, twelve in the chat. Too small writes a half-drawn
frame. `settled()` renders until a pass finds nothing pending.

`renderStill` is the eight lines either side of that guess - virtual
terminal, app, writer, start, flush, capture, stop - as one call. All
seven examples use it, and each one's output is byte-for-byte what it was.
`root` reaches the screen two ways - a mount when a shell exists, wrapped
directly when none does. `setRoot` has always done both; `setShell` is the
moment a program crosses from the second case to the first and it did only
half, so a shell registered after boot left a framed, themed, empty screen.

And sideways the layout shrinks a plain `width` before it clips anything,
which is right for content and wrong for chrome: one long line in the pane
crushed the sidebar to four columns. `shrink: 0`, which the layout has
always honoured.
`t` was a crossbar and a foot sitting at x-height, where b d f h k l all
start on row nought - so it read as a `+` with a tail, and at the wrong
height into the bargain. `w` had two right-hand stems and no middle one.
`e` and `z` each gained the cell that `trim` was taking off their
bottom-right, `trim` stripping any column that is blank in every row.

The test that comes with it asserts the property `t` failed: an ascender
reaches a row higher than an x-height letter. Not a width - a width rule
is a judgement about how a letter should be drawn rather than a fact
about where it sits, and `c`, `s` and `f` are all one stroke on purpose.
@softov
softov merged commit 7c7fcf1 into main Aug 27, 2026
1 check passed
@softov
softov deleted the core/settled-and-still branch August 27, 2026 11:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant