Skip to content

Explicit "root" ID Enforcement #843

@jacobsimionato

Description

@jacobsimionato

Proposal: Explicit "root" ID Enforcement

Reason

A surface is not valid for rendering until a component with id="root" is defined. Currently, the renderers perform a simple null check, leading to inconsistent "empty" states or flicker while the stream is loading.

Design

  1. Ready State: Add an isReady signal to SurfaceModel (or SurfaceComponentsModel) that specifically tracks the presence of the root ID.
  2. Progressive Feedback: Update A2uiSurface to check isReady. While false, it should render a standardized "Loading Surface" state or a shimmer effect.
  3. Enforcement: Log a warning if components are added to a surface that has been active for a significant time without a root component, aiding developer debugging.

Key Files

  • renderers/web_core/src/v0_9/state/surface-model.ts
  • renderers/react_prototype/src/A2uiSurface.tsx

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    Status

    Todo

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions