mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-10-26 10:47:11 -06:00
The eyedropper (`appearance.copyFrom`), `graphicStyle.new` and `graphicStyle.apply` move placed gradients so they sit at the same place relative to each target's bounds (type: its layout box in text space) instead of where the source had them; the paint defaults take the gradient unplaced, so new art fits it. Model: `GradientGeom::rebase` / `GradientPaint::rebase` (color), `Appearance::rebase_gradients` (strokes relative to their inflated boxes) and `GraphicStyle::unit_box`: new styles store placed gradients in unit-box space; styles from older files keep document coordinates and apply as before. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>