Context
Phase 539 records the rectangle/freehand drawing primitive model gate and Phase 540 records persistence/render-layer readiness. The first implementation-adjacent slice must define the core model contract before any UI or renderer behavior is added.
Scope
Define a narrow future contract for first-class whiteboard primitives:
- decide where model identity, geometry, style/brush state, and edit lifecycle metadata belong;
- separate graph nodes/connections/groups from rectangle/freehand annotation primitives;
- define tests/docs required before adding any production model type or public API;
- keep renderer, persistence, and pointer behavior as follow-up work unless this issue explicitly proves a smaller safe write set.
Out of scope
No runtime UI behavior, no renderer work, no persistence/schema migration, no screenshot manifest expansion, no toolbar/tool activation, no eraser behavior, no retained API removal, and no full React Flow whiteboard parity claim.
Dependency
Depends on Phase 541 and the Phase 540 readiness gate.
Context
Phase 539 records the rectangle/freehand drawing primitive model gate and Phase 540 records persistence/render-layer readiness. The first implementation-adjacent slice must define the core model contract before any UI or renderer behavior is added.
Scope
Define a narrow future contract for first-class whiteboard primitives:
Out of scope
No runtime UI behavior, no renderer work, no persistence/schema migration, no screenshot manifest expansion, no toolbar/tool activation, no eraser behavior, no retained API removal, and no full React Flow whiteboard parity claim.
Dependency
Depends on Phase 541 and the Phase 540 readiness gate.