Skip to content

feat(runtime): expose post-present refresh batching - #9

Merged
phall1 merged 1 commit into
cockpit/v0.9.5from
fix/cockpit-first-frame-a11y
Sep 3, 2026
Merged

feat(runtime): expose post-present refresh batching#9
phall1 merged 1 commit into
cockpit/v0.9.5from
fix/cockpit-first-frame-a11y

Conversation

@phall1

@phall1 phall1 commented Sep 3, 2026

Copy link
Copy Markdown
Owner

Problem

Canvas apps can already batch display-list refreshes internally so platform accessibility publication moves behind the responding present. The Runtime hid that existing seam, forcing a consumer's first installed canvas tree to synchronously publish AppKit accessibility between display-list emission and its first plan/present.

Change

Expose and document the existing begin/end/cancel refresh-batch methods on Runtime. No batching behavior changes. Add a runtime test proving that ending a batch with a frame in flight leaves platform accessibility unpublished until the GPU frame completion flush.

Consumer

Phux Cockpit uses one scoped batch only while installing its main canvas. This removes a measured 170–185ms pre-plan AppKit accessibility publish from first useful frame scheduling; steady-state input batching remains SDK-owned.

Evidence

  • branch is based on the merged vertical-splitter Cockpit SDK lineage
  • focused runtime test covers deferred publication and post-present flush
  • Cockpit consumer gate and M4 Pro live timing run will validate the pinned commit before merge

@phall1
phall1 merged commit 78c9006 into cockpit/v0.9.5 Sep 3, 2026
23 checks passed
@phall1
phall1 deleted the fix/cockpit-first-frame-a11y branch September 3, 2026 04:34
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