Restore DynamicKeyboardBase as its own page in abstract-nodes/#36
Merged
Merged
Conversation
Companion to PR rokudev#31 (LabelBase), rokudev#34 (Dialog), and rokudev#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), #34 (Dialog), and #35 (LayoutGroup), addressing the fourth instance of the same consolidation pattern. Upstream commit
5435954e("fixed superfluous index pages", May 6 2026) mergeddynamic-voice-keyboard-nodes/dynamic-keyboard-base.mdinto the sectionindex.md, deleting the dedicated DynamicKeyboardBase reference page and breaking 14 inbounddoc:dynamic-keyboard-baselink 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.Why this restructuring matters
Same developer-impact concerns from the previous three PRs:
doc:dynamic-keyboard-baselinks broke silently across 14 link sites.What changed
docs/REFERENCES/scenegraph/abstract-nodes/dynamic-keyboard-base.md. Slugdoc:dynamic-keyboard-base(preserved). Same content as the deleted page, with SEO metadata backfilled, fields-table HTML reformatted with proper indentation, and a typo fix ("dication"→"dictation"in two cells of thedomainfield description).docs/REFERENCES/scenegraph/dynamic-voice-keyboard-nodes/index.md. Short intro, certification blockquote, a representative DynamicKeyboard image, a Choosing-a-node table covering all four keyboard variants, a separate components table (DynamicKeyGrid / VoiceTextEditBox / Key Definition File), an Inheritance note, a Voice entry note (currently English and Spanish), a Looking-for-something-else section pointing at the legacy Keyboard / legacy PinPad and the Standard dialog framework's StandardKeyboardDialog and StandardPinPadDialog, and a sample-app pointer.docs/DEVELOPER/release-notes/index.md(lines 461, 643, 655) rewritten from/docs/references/scenegraph/dynamic-voice-keyboard-nodes/dynamic-keyboard-base.md→/docs/references/scenegraph/abstract-nodes/dynamic-keyboard-base.md. Anchors preserved.Inbound-link audit
Audited four ways: slug refs, file-path refs, camelCase variants, anchor refs into the old index. Findings:
doc:dynamic-keyboard-baseslug references — resolve naturally to the new abstract-nodes location (slug unchanged): release-notes:1072 (no, sorry — that was for Dialog); the references include certification.md:207, cert-tests/index.md:546, the four sibling keyboard pages (dynamic-keyboard.md, dynamic-pinpad.md, dynamic-mini-keyboard.md, dynamic-key-grid.md, dynamic-custom-keyboard.md via<Anchor>), FEATURES/engagement/voice.md:36, VIDEOS/demos/summit-2021.md:17, and several in the rewritten landing itself.doc:dynamic-voice-keyboard-nodesreference (release-notes:593) — resolves to the rewritten section landing.doc:DynamicKeyboardBase, etc.) — 0.