Add Docs word processor roadmap#81
Conversation
Six-phase plan to bring Wafflebase Docs to Google Docs feature parity: block types, inline extensions, complex blocks, page features, advanced collaboration, and power-user features. Co-Authored-By: Claude Opus 4.6 <[email protected]>
📝 WalkthroughWalkthroughAdds documentation for a six‑phase Wafflebase Docs word‑processor roadmap: a new design page, an index entry, a phase-by-phase task tracker, and a lessons template; describes data-model extensions, editor control-flow expectations, risks, and phase dependencies. Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~5 minutes Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Verification: verify:selfResult: ✅ PASS in 100.7s
Verification: verify:integrationResult: ✅ PASS |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@docs/design/docs-wordprocessor-roadmap.md`:
- Around line 190-192: The doc assigns Ctrl+Shift+V to both "Copy formatting"
(Ctrl+Shift+C / Ctrl+Shift+V) and "Plain-text paste" which conflicts; pick
distinct shortcuts and update the spec accordingly — for example keep "Copy
formatting" as Ctrl+Shift+C to copy style and use Ctrl+Shift+V only for "Apply
formatting" if you intend a separate paste-style action, or change "Plain-text
paste" to Ctrl+Shift+Alt+V (or Ctrl+Alt+V) to avoid collision; update the two
entries ("Copy formatting" and "Plain-text paste") so their shortcuts are unique
and the wording clarifies which action applies/copies formatting versus which
strips formatting.
- Around line 335-341: The fenced diagram block in docs-wordprocessor-roadmap.md
is missing a language tag (MD040); edit the fenced code block that begins with
"Phase 1 (Block Types) ──┐" and add a language identifier (e.g., "text")
immediately after the opening triple backticks so the block becomes ```text and
the warning is resolved.
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 542831b1-76ee-4c80-ae4a-3143c0d67268
📒 Files selected for processing (4)
docs/design/README.mddocs/design/docs-wordprocessor-roadmap.mddocs/tasks/active/20260325-docs-wordprocessor-lessons.mddocs/tasks/active/20260325-docs-wordprocessor-todo.md
Change copy-formatting apply shortcut from Ctrl+Shift+V to Ctrl+Alt+V to avoid collision with plain-text paste. Add `text` language tag to the phase dependencies fenced code block. Co-Authored-By: Claude Opus 4.6 <[email protected]>
There was a problem hiding this comment.
🧹 Nitpick comments (3)
docs/design/docs-wordprocessor-roadmap.md (3)
110-111: Clarify whether superscript and subscript are mutually exclusive.The data model allows both
superscriptandsubscriptto be set simultaneously. In typical word processors, these formatting options are mutually exclusive. Consider adding a note specifying the expected behavior when both are true (e.g., subscript takes precedence, or the combination is invalid).📝 Proposed clarification
// Phase 2 href?: string; backgroundColor?: string; - superscript?: boolean; - subscript?: boolean; + superscript?: boolean; // mutually exclusive with subscript + subscript?: boolean; // mutually exclusive with superscript }🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/design/docs-wordprocessor-roadmap.md` around lines 110 - 111, The docs currently allow both superscript and subscript to be true simultaneously; update the specification to clarify expected behavior by either (a) declaring them mutually exclusive and stating that validators or the editor must enforce only one may be true at a time, or (b) defining a clear precedence rule (e.g., subscript overrides superscript when both are set). Reference the superscript and subscript fields in the text and add a short note about how clients should handle validation or rendering when both flags are present.
139-139: Clarify list-exit behavior for nested levels.The spec states "Enter on empty list item exits list (converts to paragraph)." Does this apply only to top-level items, or does it outdent one level per Enter until reaching the top? Google Docs outdents progressively; specifying this behavior will guide implementation.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/design/docs-wordprocessor-roadmap.md` at line 139, The spec phrase "Enter on empty list item exits list (converts to paragraph)" is ambiguous for nested lists; update the spec text to explicitly state the intended behavior (either "outdent one level per Enter on an empty list item until reaching top-level, then convert to paragraph" or "only exits the list when at top-level and converts to paragraph"), and make this change where that phrase appears in the document so implementers know whether to implement progressive outdenting (Google Docs style) or a single-step exit to paragraph.
136-136: Specify marker styles for list levels beyond 2.Line 89 allows
listLevelfrom 0 to 8 (9 levels), but only three bullet styles (●, ○, ■) and three ordered patterns are specified. Clarify what markers are used for levels 3-8. Do the patterns cycle, or does level 2+ reuse the last pattern?📋 Example clarification
-- Bullet markers: unordered (●, ○, ■ by level), ordered (1. 2. 3., a. b. c., i. ii. iii.) +- Bullet markers: unordered cycles through ● (level 0), ○ (level 1), ■ (level 2), then repeats; ordered cycles through decimal (1. 2. 3.), lower-alpha (a. b. c.), lower-roman (i. ii. iii.), then repeats🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/design/docs-wordprocessor-roadmap.md` at line 136, The document currently allows listLevel values 0–8 but only defines three unordered markers (●, ○, ■) and three ordered patterns (1., a., i.); update the docs to explicitly state how markers are selected for levels 3–8 by either (a) defining a full mapping for listLevel 0–8 for both unordered and ordered lists, or (b) declaring the cycling rule (e.g., cycle back to level 0 markers or repeat the last marker) and showing the exact sequence; reference the term listLevel and the existing "Bullet markers" / "ordered patterns" entries and include a small table or list mapping each listLevel (0..8) to its marker so consumers know whether levels 3–8 reuse or cycle marker styles.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In `@docs/design/docs-wordprocessor-roadmap.md`:
- Around line 110-111: The docs currently allow both superscript and subscript
to be true simultaneously; update the specification to clarify expected behavior
by either (a) declaring them mutually exclusive and stating that validators or
the editor must enforce only one may be true at a time, or (b) defining a clear
precedence rule (e.g., subscript overrides superscript when both are set).
Reference the superscript and subscript fields in the text and add a short note
about how clients should handle validation or rendering when both flags are
present.
- Line 139: The spec phrase "Enter on empty list item exits list (converts to
paragraph)" is ambiguous for nested lists; update the spec text to explicitly
state the intended behavior (either "outdent one level per Enter on an empty
list item until reaching top-level, then convert to paragraph" or "only exits
the list when at top-level and converts to paragraph"), and make this change
where that phrase appears in the document so implementers know whether to
implement progressive outdenting (Google Docs style) or a single-step exit to
paragraph.
- Line 136: The document currently allows listLevel values 0–8 but only defines
three unordered markers (●, ○, ■) and three ordered patterns (1., a., i.);
update the docs to explicitly state how markers are selected for levels 3–8 by
either (a) defining a full mapping for listLevel 0–8 for both unordered and
ordered lists, or (b) declaring the cycling rule (e.g., cycle back to level 0
markers or repeat the last marker) and showing the exact sequence; reference the
term listLevel and the existing "Bullet markers" / "ordered patterns" entries
and include a small table or list mapping each listLevel (0..8) to its marker so
consumers know whether levels 3–8 reuse or cycle marker styles.
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 23a74baa-8888-405c-8a50-89ec6cc95803
📒 Files selected for processing (1)
docs/design/docs-wordprocessor-roadmap.md
Toolbar now groups as: Undo/Redo | Styles | Font Styles | Block Styles, matching Google Docs toolbar organization for better discoverability. Co-Authored-By: Claude Opus 4.6 <[email protected]>
Summary
Phases
Test plan
pnpm verify:fastpasses🤖 Generated with Claude Code
Summary by CodeRabbit