Restore Dialog as its own page; rewrite Dialog Nodes landing#34
Merged
Conversation
Upstream commit 5435954 (May 6, 2026) merged dialog-nodes/dialog.md into dialog-nodes/index.md, deleting the dedicated Dialog reference page. Unlike LabelBase, Dialog is a concrete instantiable node (not an abstract base class), so its natural home is back where it was at dialog-nodes/dialog.md alongside the three subclasses (KeyboardDialog, PinDialog, ProgressDialog) that extend it. The consolidation made the section landing into a 70-line Dialog reference dump with no overview of the section, no signposting to the Standard dialog framework that supersedes these legacy nodes, and broken inbound doc:dialog references across nine link sites. This change restores dialog.md to its original location (so all nine inbound doc:dialog / dialog-nodes/dialog.md references resolve again without any link rewrites) and rewrites dialog-nodes/index.md as a real section landing: prominent deprecation pointer to the Standard dialog framework, a Choosing-a-node table covering all four legacy dialogs, and a Looking-for-something-else section directing readers toward the modern replacements. Both pages also get SEO metadata backfilled to match the convention established by upstream commit b228740 (seo backfill).
This was referenced May 12, 2026
jduval23
pushed a commit
that referenced
this pull request
May 12, 2026
Companion to PR #31 (LabelBase), #34 (Dialog), and #35 (LayoutGroup), addressing the fourth instance of the same consolidation pattern. Upstream commit 5435954 (May 6, 2026) merged dynamic-voice-keyboard-nodes/dynamic-keyboard-base.md into the section index.md, deleting the dedicated DynamicKeyboardBase reference page and breaking 14 inbound doc:dynamic-keyboard-base link sites. Like LabelBase, DynamicKeyboardBase is a genuine abstract base class (not directly instantiable; you only ever instantiate DynamicKeyboard, DynamicPinPad, DynamicMiniKeyboard, or DynamicCustomKeyboard, which all extend it). Its natural home is abstract-nodes/, matching the convention used by ArrayGrid, AnimationBase, and the just-merged LabelBase. This change: - Restores the page at abstract-nodes/dynamic-keyboard-base.md with SEO metadata backfilled, fields-table HTML reformatted with proper indentation, and a typo fix ("dication" -> "dictation" in two cells of the `domain` field description). - Rewrites dynamic-voice-keyboard-nodes/index.md as a real section landing: short intro, Choosing-a-node table for the four keyboard variants, a separate components table covering DynamicKeyGrid, VoiceTextEditBox, and Key Definition File, an Inheritance note, a Voice entry note (currently English and Spanish, sourced from the existing DynamicKeyboardBase copy), a Looking-for-something- else section pointing at the legacy Keyboard/PinPad and the Standard dialog framework's StandardKeyboardDialog/ StandardPinPadDialog, and a Sample app pointer. - Updates 3 file-path-style refs in release-notes/index.md from /docs/references/scenegraph/dynamic-voice-keyboard-nodes/ dynamic-keyboard-base.md to /docs/references/scenegraph/ abstract-nodes/dynamic-keyboard-base.md. All 14 inbound doc:dynamic-keyboard-base references resolve naturally to the restored page (slug unchanged). The 1 inbound doc:dynamic-voice-keyboard-nodes reference (release-notes:593) resolves to the rewritten section landing.
jduval23
pushed a commit
that referenced
this pull request
May 12, 2026
Upstream commit 600fc23 (May 6, 2026) renamed layout-group-nodes/layoutgroup.md to layout-group-nodes/index.md as a "fixed index page for layoutgroups" cleanup. The rename was a pure git move with zero content changes, but it left the LayoutGroup reference dressed up as a section landing (title still "Layout group nodes" rather than "LayoutGroup", which had been mismatched to the filename even before the May 6 rename), and broke five inbound doc:layoutgroup link sites pointing at a slug that no longer existed. Like Dialog (PR #34), LayoutGroup is a concrete instantiable node (not an abstract base class), so its natural home is back at layout-group-nodes/layoutgroup.md alongside ButtonGroup, TargetGroup, and Group. This change restores the page (title corrected to "LayoutGroup", fields-table HTML reformatted with proper indentation and per-row line breaks for source readability while preserving the rendered output) and rewrites index.md as a real section landing. The new landing: - Covers all four nodes in the section (Group, LayoutGroup, ButtonGroup, TargetGroup) with use-case descriptions - Notes the inheritance relationships (ButtonGroup extends LayoutGroup; TargetGroup extends Group directly, not LayoutGroup) - Adds a "How positioning is calculated" section explaining that LayoutGroup/ButtonGroup arrange children based on each child's bounding rectangle, with a pointer to ifSGNodeBoundingRect - Points readers at List and grid nodes for built-in list/grid options, and at plain Group for free-positioning use cases All five inbound doc:layoutgroup references resolve naturally to the restored page without any link rewrites elsewhere. No inbound references to doc:layout-group-nodes existed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Companion to #31, addressing the same consolidation pattern for Dialog. Upstream commit
5435954e("fixed superfluous index pages", May 6 2026) mergeddialog-nodes/dialog.mdintodialog-nodes/index.md, deleting the dedicated Dialog reference page.Unlike LabelBase, Dialog is a concrete instantiable node, not an abstract base class. Its natural home is back where it was at
dialog-nodes/dialog.md, alongside the three subclasses (KeyboardDialog, PinDialog, ProgressDialog) that extend it — so this PR restores the file in place rather than relocating it toabstract-nodes/.Why this restructuring matters
The same developer-impact concerns from #31 apply here:
doc:dialoglinks broke silently across nine link sites in the repo.What changed
docs/REFERENCES/scenegraph/dialog-nodes/dialog.md. Same content as the pre-consolidation page, with SEO metadata backfilled (excerpt/metadata.title/metadata.description) to match the convention upstream commitb2287405applied to sibling reference pages.docs/REFERENCES/scenegraph/dialog-nodes/index.md. Prominent deprecation pointer to the Standard dialog framework, a Choosing-a-node table covering Dialog / KeyboardDialog / PinDialog / ProgressDialog with use cases, an inheritance note ("the other three all extend Dialog"), and a "Looking for something else?" section pointing readers at the modern replacements (StandardMessageDialog, StandardKeyboardDialog, StandardPinPadDialog, StandardProgressDialog) plus a note that voice entry is only available in the Standard framework.Inbound-link audit
No collateral link rewrites needed. The Dialog restoration lands the file back at its original slug, so:
doc:dialog/dialog-nodes/dialog.mdreferences resolve naturally after the restoration.doc:dialog-nodesexist in the repo — nobody linked the consolidated section landing by slug, so the landing rewrite doesn't strand any inbound link.dialog-nodes/index.md#fields, etc.) into the consolidated index.