vectorcraft/crates
bflatastic 96604acffb Fix #39: rotated objects keep their angle and a rotated bounding box
Rotating an object baked the rotation into its geometry and kept nothing
else, so the bounding box, the handles and the Transform/Properties
panels fell back to the page-aligned box (the Rotate field went back to 0).

Root cause: nodes carried no record of their own axes. Each node now
keeps `bbox_angle` (append-only, written only when non-zero), which every
transform turns with the object (mirroring transforms keep the nearer of
the two possible boxes). The geometry is still baked. The selection's box
(`Document::oriented_bounds`) stands at the angle the selected objects
share. The Selection tool hit-tests and scales its handles in that frame,
and the canvas draws it rotated. `object.setBounds` measures W/H and the
reference point along it. `object.rotate {absolute}` turns the selection
to an angle, which the panels' Rotate field now shows and sets. Object >
Transform > Reset Bounding Box (previously a no-op) clears the angle in
one undo step.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 23:49:36 +07:00
..
brush M4.39: SVG symbols as <symbol>/<use>, hidden layers on Save, Dublin Core metadata 2026-10-05 09:03:52 +07:00
cad M4.93: DXF drawings open and place with layout, scale or fit, centring and merged layers 2026-10-05 15:24:21 +07:00
color M4.98: freeform gradients export to SVG as images clipped to their shapes 2026-10-05 13:25:16 +07:00
doc Fix #39: rotated objects keep their angle and a rotated bounding box 2026-10-05 23:49:36 +07:00
effects M4.58: raster effects in PDF on every kind of object 2026-10-05 11:52:34 +07:00
engine Fix #39: rotated objects keep their angle and a rotated bounding box 2026-10-05 23:49:36 +07:00
eps M4.92: Print to a PostScript file 2026-10-05 17:01:36 +07:00
format M4.38: native and .ai save options: each artboard to its own file, linked files, ICC profiles, PDF content 2026-10-05 15:24:19 +07:00
geom Robustness: VectorCraft never crashes — no panics in shipped code 2026-10-05 06:28:59 +07:00
mcp M4.70: PSD export, flat or with layers, groups for sublayers and text layers named after their text 2026-10-05 16:12:03 +07:00
metafile M4.91: EPS and PostScript files open and place 2026-10-05 16:51:54 +07:00
pathops Robustness: VectorCraft never crashes — no panics in shipped code 2026-10-05 06:28:59 +07:00
pdf M4.87: PDF 1.3 compatibility: transparency flattened with the chosen preset 2026-10-05 18:05:36 +07:00
render M4.70: PSD export, flat or with layers, groups for sublayers and text layers named after their text 2026-10-05 16:12:03 +07:00
svg Fix #136: SVG export and CSS write each style's numeric font-weight 2026-10-05 23:36:29 +07:00
testkit M4.62: PDF/.ai layers from optional content: named layers with visibility, print state and lock; art that is off as hidden layers 2026-10-05 13:05:12 +07:00
text M4.74: real text with embedded subset fonts in PDF 2026-10-05 16:25:21 +07:00
tools Fix #39: rotated objects keep their angle and a rotated bounding box 2026-10-05 23:49:36 +07:00
trace Robustness: VectorCraft never crashes — no panics in shipped code 2026-10-05 06:28:59 +07:00
ui-egui Fix #39: rotated objects keep their angle and a rotated bounding box 2026-10-05 23:49:36 +07:00