mirror of
https://github.com/storytold/figcraft.git
synced 2026-10-30 13:26:54 -06:00
The Scale tool (and `transform.scale`) scales a layer's children whatever their constraints. After the edit, overrides are recorded by diffing the changed layers, and a size or place that changed while an ancestor resized is read as what constraints give, so it isn't an override. For a scaled instance that left its layers' scaled size and points unrecorded: the next rebuild of the instance (a layer added to its main, say) put a 14 px icon's triangle back at the main's 24 px size. Strokes already kept their scaled weight, as a separate override group. `scale_node` now marks `size` and `position` overrides on the layers it scales below the scaled layer when they are layers of an instance and the value changed. Undo takes them back with the rest of the edit. The report's own sequence (clearing effects on the component holding the icon) no longer reproduces on main; this covers the rebuild path that still did. Regressions: a scaled instance through value edits and a rebuild of its main; one scaled with the tool, with undo; a scaled icon nested in a component and in an instance of that component, through edits of both mains. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LvG6Dyzof21BCrUsByhx2w