Skip to content

docs: DOM multi-surface rendering design proposal#114

Merged
mahyarmlk merged 1 commit into
mainfrom
docs/dom-multi-surface-rendering
Jun 26, 2026
Merged

docs: DOM multi-surface rendering design proposal#114
mahyarmlk merged 1 commit into
mainfrom
docs/dom-multi-surface-rendering

Conversation

@mahyarmlk

Copy link
Copy Markdown
Collaborator

Summary

Design proposal for true multi-surface DOM rendering. Currently renderDom only renders screenDef.surfaces[0] and ignores all other surfaces. The graph supports multiple surfaces, and the choice-form example defines two surfaces ("main" and "sidebar"), but the DOM renderer silently drops all but the first.

File changed

  • docs/proposals/Dom-Multi-Surface-Rendering.md (new)

What the proposal covers

  • Answers all 10 design questions from the task spec
  • Defines the semantics of duplicated asks/actions across surfaces
  • Surface-suffixed DOM id scheme to avoid duplicates
  • Shared state and shared action execution across surface copies
  • Per-surface aria-describedby, hints, blocked reasons, feedback output
  • Enter key default action behavior across surfaces
  • 5-phase implementation plan
  • 11 test cases for the new behavior
  • Full backward-compatibility guarantee for single-surface screens
  • Compatibility notes for all existing examples

Review note

Docs-only PR. No runtime changes, no version bumps, no changeset.

@mahyarmlk mahyarmlk merged commit 665f46d into main Jun 26, 2026
1 check passed
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