Context
Phase 537 and Phase 538 are implemented as PR #198 and PR #200, but both are waiting on required review. The next non-overlapping React Flow whiteboard follow-up in the parity roadmap is Phase 539: rectangle/freehand drawing primitive model gate.
React Flow treats Rectangle draw and Freehand draw as distinct whiteboard examples. AsterGraph currently has rectangle marquee selection, lasso selection evidence, selection deletion evidence, and Cookbook screenshot proof for lasso feedback, but it does not have drawing primitives, shape lifecycle, brush/color state, persistence, renderer-layer support, or a public whiteboard drawing API.
Scope
Create a bounded docs/tests feasibility gate for the rectangle/freehand drawing primitive model:
- inventory existing graph model, editor command, selection, and Cookbook evidence that could be reused for future drawing primitives;
- record the exact boundary between selection rectangles/lasso paths and actual rectangle/freehand drawing tools;
- decide what minimal future model/API contract would be required before any drawing behavior is implemented;
- update EN/ZH React Flow parity roadmap docs with GitHub issue and Beads identifiers;
- add focused docs tests that fail if the roadmap claims rectangle/freehand drawing parity prematurely;
- update the Next Issue Wave so Phase 539 is no longer TBD while preserving Phase 540 as future work.
Out of scope
No runtime behavior changes, no public API changes, no Avalonia pointer coordinator edits, no renderer-layer changes, no persistence/schema changes, no screenshot manifest expansion, no UI redesign, no eraser behavior, no toolbar work, no retained API removal, and no full React Flow whiteboard parity claim.
Acceptance Criteria
- EN/ZH parity docs record Phase 539 with this GitHub issue and its Beads ID.
- Docs explicitly separate rectangle marquee selection and lasso selection evidence from rectangle/freehand drawing primitives.
- Docs identify the minimum future contract needed for drawing primitives, including model identity, geometry, style/brush state, hit-testing/edit lifecycle, renderer projection, persistence, and Cookbook/screenshot evidence.
- Focused docs tests guard the Phase 539 boundary in both locales and fail if docs imply rectangle/freehand draw parity is already supported.
- Next Issue Wave replaces the Phase 539 TBD row while preserving Phase 540 as future persistence/render-layer readiness work.
- Verification includes focused docs tests, full AsterGraph.Demo.Tests, and git diff whitespace checks.
Context
Phase 537 and Phase 538 are implemented as PR #198 and PR #200, but both are waiting on required review. The next non-overlapping React Flow whiteboard follow-up in the parity roadmap is Phase 539: rectangle/freehand drawing primitive model gate.
React Flow treats Rectangle draw and Freehand draw as distinct whiteboard examples. AsterGraph currently has rectangle marquee selection, lasso selection evidence, selection deletion evidence, and Cookbook screenshot proof for lasso feedback, but it does not have drawing primitives, shape lifecycle, brush/color state, persistence, renderer-layer support, or a public whiteboard drawing API.
Scope
Create a bounded docs/tests feasibility gate for the rectangle/freehand drawing primitive model:
Out of scope
No runtime behavior changes, no public API changes, no Avalonia pointer coordinator edits, no renderer-layer changes, no persistence/schema changes, no screenshot manifest expansion, no UI redesign, no eraser behavior, no toolbar work, no retained API removal, and no full React Flow whiteboard parity claim.
Acceptance Criteria