--- id: TASK-HIGH.4 title: Fix Automerge proxy re-assignment error on canvas load status: Done assignee: [] created_date: '2026-03-03 19:17' updated_date: '2026-03-03 19:18' labels: [] dependencies: [] parent_task_id: TASK-HIGH --- ## Description Fix 'Cannot create a reference to an existing document object' RangeError that fires twice on canvas load (initFromCache + WS sync). Root cause: Automerge proxy objects from doc.shapes passed through DOM elements back into Automerge.change(). Fixed by deep-cloning in #shapeToData() and #updateShapeInDoc(). ## Acceptance Criteria - [x] #1 No RangeError in console on canvas hard-refresh - [x] #2 Shapes persist correctly after move/resize - [x] #3 Cross-tab sync works without errors ## Implementation Notes Fixed in commit 023a883. Deep-cloned shape data in #shapeToData() and #updateShapeInDoc() to break Automerge proxy chain. Deployed to production.