Skip to content

Buffer rendering until root component arrives (#6)#16

Merged
23min merged 1 commit intomainfrom
feature/render-buffering
Feb 11, 2026
Merged

Buffer rendering until root component arrives (#6)#16
23min merged 1 commit intomainfrom
feature/render-buffering

Conversation

@23min
Copy link
Copy Markdown
Owner

@23min 23min commented Feb 11, 2026

Summary

  • Add IsReady flag to A2UISurfaceState — surfaces start not-ready and become ready when the root component arrives
  • CreateSurface and pre-ready updateDataModel/updateComponents no longer fire OnSurfaceChanged, eliminating 2-3 redundant Blazor re-renders per surface creation
  • First updateComponents containing a root component flushes the surface in a single event
  • deleteSurface always fires (even before ready) so cleanup is never missed

Closes the v0.9 render buffering gap — the spec removed v0.8's beginRendering signal in favor of client-side buffering until root arrives.

Test plan

  • 8 new/updated SurfaceManager tests covering the full buffering state machine
  • All 174 unit tests pass
  • Zero build warnings

🤖 Generated with Claude Code

Suppress OnSurfaceChanged events during initial surface setup.
CreateSurface and early updateDataModel/updateComponents no longer
trigger re-renders. The first updateComponents that includes a root
component flushes the surface in a single event, eliminating 2-3
redundant renders per surface creation.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@23min 23min merged commit ee82d75 into main Feb 11, 2026
2 checks passed
@23min 23min deleted the feature/render-buffering branch February 11, 2026 07:43
@23min 23min mentioned this pull request Feb 11, 2026
5 tasks
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