mirror of
https://github.com/penpot/penpot.git
synced 2026-10-29 05:50:35 +00:00
A swapped copy must follow structural changes when its position ceases to be a component head. Walk that shape normally during sync, remove its component metadata and swap group, and replace its former component children with the detached main shape's children. The regression fails three assertions before the fix. The swap suite passes 44 tests and 177 assertions, including exact undo. The shrunk generated detach scenario also passes with its structural model update. Benchmark vs Phase 1e: main 10/100/1000 0.50/0.57/0.64; levels 0.52; chain 0.52; library 0.60; many shapes 0.55; switch 0.65. No flags. AI-assisted-by: GPT-6