Restore LayoutGroup as its own page; rewrite Layout group nodes landing#35
Merged
Merged
Conversation
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 rokudev#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.
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.
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 (LabelBase) and #34 (Dialog), addressing the third instance of the same consolidation pattern. Upstream commit
600fc230("fixed index page for layoutgroups", May 6 2026) renamedlayout-group-nodes/layoutgroup.mdtolayout-group-nodes/index.mdas a pure git move with zero content changes, leaving the LayoutGroup reference dressed up as a section landing and breaking 5 inbounddoc:layoutgrouplink sites.Like Dialog, LayoutGroup is a concrete instantiable node, not an abstract base class. It's directly usable in app code and is also extended by ButtonGroup. Its natural home is back at
layout-group-nodes/layoutgroup.mdalongside its siblings, not at the section index.Why this restructuring matters
Same developer-impact concerns from #31 and #34:
index.md); post-rename, "Layout group nodes" was the wrong title for a LayoutGroup reference page, with no overview of the four nodes packaged together (Group, LayoutGroup, ButtonGroup, TargetGroup), no inheritance notes, and no signposting to related concepts like bounding-rect positioning.doc:layoutgrouplinks broke silently across 5 link sites.A pre-existing inconsistency: the file's title was "Layout group nodes" (mismatched to the
layoutgroup.mdfilename) even before the May 6 rename. The rename made the title match the new filename (index.md) but didn't fix the underlying issue that the page is really a LayoutGroup reference. This PR fixes both: title is now "LayoutGroup", and the page is back atlayoutgroup.md.What changed
docs/REFERENCES/scenegraph/layout-group-nodes/layoutgroup.md. Same content as the pre-consolidation page, with the title corrected to "LayoutGroup", SEO metadata backfilled (excerpt/metadata.title/metadata.description) to match the convention upstream commitb2287405applied to sibling reference pages, and the fields-table HTML reformatted with proper indentation and per-row line breaks for source readability (no change to rendered output).docs/REFERENCES/scenegraph/layout-group-nodes/index.md. A real section landing with:Inbound-link audit
No collateral link rewrites needed. The LayoutGroup restoration lands the file back at its original slug, so:
doc:layoutgroupreferences resolve naturally after the restoration (release-notes:1046; media-playback/text-to-speech.md:197; layout-group-nodes/buttongroup.md:15; rsg/details-screen.md:32; rsg/episodes-screen.md:34).doc:layout-group-nodesexist in the repo — nobody linked the section landing by slug, so the landing rewrite doesn't strand any inbound link.