mirror of
https://github.com/penpot/penpot.git
synced 2026-10-29 14:00:37 +00:00
When update-main turns a swap into a plain nested copy, retain its orientation as a geometry override if it differs from its own component's expected parent placement. Otherwise a later full sync discards the rotation inherited from the replaced position (F168). The portable regression fails three assertions before the fix. Both 0-degree and 45-degree cases now pass, including exact undo. Fresh swap, variant and flex suites pass 125 tests and 596 assertions. The pure golden master matches all 1149 assertions without recording. Benchmark ratios against Phase 1e: main 10/100/1000 copies 0.52/0.62/0.56, three levels 0.48, chain 0.56, library 0.51, many shapes 0.43, variant switch 0.60. No regression flags. AI-assisted-by: GPT-6