Skip to content

Pace the held list's settle and stream a change past an update's stills - #159

Merged
andrewchen5678 merged 5 commits into
mainfrom
settle-pace
Nov 5, 2026
Merged

andrewchen5678 merged 5 commits into
mainfrom
settle-pace

Conversation

@andrewchen5678

Copy link
Copy Markdown
Contributor

On the held tiles list the dial is always the ceiling, so the settle sent 256 KiB a fence back to back once the desktop was quiet, at whatever the link would take, and a change too large for a region yet went as the desktop whole in PNG: a picture that starts over, and every frame of a video until the churn said moving, 1.9 MB an update on a 1080p video frame against its 0.2 MB keyframe. The user's choice was a flat link over fewer bytes.

  • A held list's update carries at most 128 KiB of stills where the read moved nothing (HELD_BYTES); a change past that is a region from its first frame, over the box of whole tiles around all of it, its START in the same update after the stills. A live region the box overlaps is ended and carried on, as a retune does. What a scroll uncovers stays stills whatever its size, and so does the rest where the coder refuses or every stream is taken.
  • The settle keeps to the pace: the most the link carried over a second since something was last owed, a tick's share of its interval less the reads' bytes, 32 KiB to 128 KiB, never a tick on the heels of the last. The walked list is unchanged.
  • motion-bench --frames writes the tail's ticks too; docs/tiles-performance.md has the measurements (bytes only, this machine) and the sweep of the two constants: 128 KiB flattens seven captures of ten against 256, at the cost of a 1080p page of text starting as a region rather than lossless at once.

Busiest quarter second, main → this branch: video-1920x1080 188 → 32 Mbit/s, video-2880x1800@2 183 → 56, window-2880x1800@2 41 → 22, still-3840x2160@2 28 → 40 (a keyframe on top of the stills, which then settle).

No protocol change. Releases 0.0.119.

🤖 Generated with Claude Code

andrewchen5678 and others added 5 commits November 4, 2026 20:36
On a held list the dial is always the ceiling, so the settle sent 256 KiB a
fence back to back once the desktop was quiet, at whatever the link would
take, and a change too large for a region yet went as the desktop whole in
PNG: a picture that starts over, and every frame of a video until the churn
said moving, five updates of 1.9 MB in half a second on the 1080p video
against its 0.2 MB keyframe. Now an update carries at most 256 KiB of stills
where the read moved nothing, and a change past that is a region over the
box around the whole of it from its first frame, ended idle and settled as
any region; and the settle keeps to a pace, the most the picture sent over a
second since something was last owed, a tick's share of its interval between
32 KiB and 256 KiB, the ticks sooner where the pace has that much going in
less than a quarter of a second, never one on the heels of the last. The
video's busiest quarter second fell from 188 Mbit/s to 50 and from 183 to 60
at 2880x1800@2. What a scroll or a drag uncovers stays stills whatever its
size, and so does the rest where the coder refuses the stream.

motion-bench --frames writes the tail's ticks one object each.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
The stills an update carries at once and the most a held tick sends are
now HELD_BYTES, 128 KiB, apart from the walked list's SETTLE_BYTES. A
sweep of the two constants (bytes only, motion-bench --frames) found the
32 KiB floor binds on no capture here, and 128 KiB lowers the busiest
quarter second on eight captures of ten against 256: the videos 37 to 32
and 60 to 56 Mbit/s, the windows 29 to 25 and 37 to 22, the pages of
text at 2880x1800@2 and above 37 to 29 and 48 to 40. Its cost is a page
of text at 1080p, 236 kB of PNG, which starts as a region and settles
rather than arriving lossless at once, 15 Mbit/s where it was 8.5; 512
KiB raised the videos to 81 and 85. The flat link was the user's choice.

The performance doc's earlier figures booked the ticks between two
frames to the frame that ended the gap, which made an idle second on the
1080p video a 50 Mbit/s quarter second; spread over the gap they are 37,
and the remaining peaks are a change growing under the stills as PNG a
frame, not a region restarting.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
held_stills built its region over the box around the whole change
without looking at the regions already live, so a change around a video
left two regions over the video's tiles, each streaming them. The live
regions the box overlaps are now ended in the same update and their
unsent damage owed, as a retune does, and the new region carries their
tiles on; a test has a video's region taken over by the box around a
change of the whole picture.

The performance doc's count of captures the 128 KiB budget flattened was
eight; the table says seven, two rose and one was unchanged. A fragment
of the paragraph it replaced was left behind and is gone.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
held_stills boxed the region on the stills' pixel edges, the damage's,
while build covers every tile the box touches whole: a change in the
rest of an edge tile was then neither a still, its tile covered, nor a
frame, outside the region, until the stream ended. The box is now the
tiles' own, clipped to the desktop, as a retune's is; a test cuts a
change halfway through the last row of tiles and has a change in the
other half go as the region's frame.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@andrewchen5678
andrewchen5678 merged commit 9dc08d6 into main Nov 5, 2026
2 checks passed
@andrewchen5678
andrewchen5678 deleted the settle-pace branch November 5, 2026 05:54
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