Add article: OpenUI React renderer progressive rendering#58
Conversation
Signed-off-by: Alex Roesler <183014507+Aroesler1@users.noreply.github.com>
4e4525b to
11e47e9
Compare
Confidence Score: 5/5 - Safe to MergeSafe to merge — this PR adds a new article on OpenUI React renderer progressive rendering and introduces no functional code changes that could affect runtime behavior or system correctness. The content-only nature of the change means there are no logic paths, security surfaces, or data flows to evaluate. No review comments were generated during automated analysis, and there are no pre-existing unresolved concerns associated with this PR. Key Findings:
|
There was a problem hiding this comment.
Pull request overview
Adds a new technical deep-dive article for issue #3 explaining how OpenUI’s React renderer progressively parses/evaluates streamed OpenUI Lang output and renders incrementally (clarifying this is not React SSR hydration).
Changes:
- Introduces an end-to-end explanation of the streaming pipeline (
createStreamingParser→useOpenUIState→Renderer) and the progressive rendering behavior. - Documents key runtime behaviors: auto-closing incomplete syntax, deferring queries/mutations until streaming ends, and “last good render” error boundary behavior.
- Provides pinned source references to the inspected OpenUI commit for traceability.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| The important design choice is not the exact syntax. It is that the parser can | ||
| reason about completed statements and the current pending statement. When the | ||
| stream crosses a depth-zero newline, the streaming parser can cache that | ||
| completed statement instead of reparsing or risking it on every new token. |
| - `packages/react-lang/src/hooks/useOpenUIState.ts` | ||
| - `packages/lang-core/src/parser/parser.ts` | ||
| - `packages/lang-core/src/parser/statements.ts` | ||
| - `packages/lang-core/src/parser/materialize.ts` |
Summary
@openuidev/react-langand@openuidev/lang-core:createStreamingParser,autoClose,useOpenUIState, evaluated props, query/mutation deferral, and the last-good render error boundary.Validation
npx --yes markdownlint-cli "Articles/OpenUI React Renderer Explained - Progressive Rendering with Streamed Model Output.md" --ignore node_modulesgit diff --checke38bfb5652ffdd5b86dd864a8e4de16e00037079For #3
Transparency: AI-assisted with Codex; reviewed against repository source before submission.