[bug] move_nodes with toPageId leaves the moved frame's annotations behind as detached notes #12

Closed
opened 2026-10-25 00:31:40 +00:00 by masi · 0 comments
Owner

Expected: Moving an artboard to another page with move_nodes {moves:[{nodeId, parentId:"root", toPageId}]} carries its annotations along (re-targeted to the new node ids).
Actual: The artboard and its subtree move (with new ids), but every annotation targeting nodes inside it stays on the source page with detached: true and nodeId: null. The destination page has no annotations.
Repro: 1. create_page A and B. 2. create_artboard on A, write_html a child, annotate it. 3. move_nodes the artboard to B. 4. get_annotations on B → []; on A → one detached note.
Workaround: Before moving, read each target's layer name (get_node_info), move, re-annotate by name/id on the new page, then delete_annotations on the source page by id.
Impact: Reorganising a documented project into pages silently loses all notes unless the agent rebuilds them; detached notes also cannot be deleted by refs ("Detached #1" not found), only by id.


Filed from PaperCraft 0.7.2 (macos).

**Expected:** Moving an artboard to another page with `move_nodes {moves:[{nodeId, parentId:"root", toPageId}]}` carries its annotations along (re-targeted to the new node ids). **Actual:** The artboard and its subtree move (with new ids), but every annotation targeting nodes inside it stays on the source page with `detached: true` and `nodeId: null`. The destination page has no annotations. **Repro:** 1. create_page A and B. 2. create_artboard on A, write_html a child, annotate it. 3. move_nodes the artboard to B. 4. get_annotations on B → []; on A → one detached note. **Workaround:** Before moving, read each target's layer name (get_node_info), move, re-annotate by name/id on the new page, then delete_annotations on the source page by id. **Impact:** Reorganising a documented project into pages silently loses all notes unless the agent rebuilds them; detached notes also cannot be deleted by `refs` ("Detached #1" not found), only by id. --- Filed from PaperCraft 0.7.2 (macos).
masi closed this issue 2026-10-25 00:45:06 +00:00
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: masi/papercraft#12