vectorcraft/crates/svg/tests
arhammusheer 5beac4f122 #1244: smaller objects: Node 352 -> 152 bytes, NodeKind 200 -> 80, and a cheaper undo estimate
Rarely set fields move into one optional boxed NodeExtras, and large NodeKind payloads (images,
live shapes, blends, envelopes) are boxed. Every object, and every undo step that copies it,
shrinks: a 50k-path move keeps ~24.5 MB per step instead of ~40 MB. Files stay byte-identical
(Node keeps its flat JSON through a borrowed Serialize and a from-wire Deserialize, no flatten),
and loading is slightly faster. Undo and redo reuse their step's size estimate instead of
walking the document again (8.3 -> 5.6 ms for a 50k-path move).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VmMmc1J8XeNLxhRihWv9cc

# Conflicts:
#	crates/engine/src/cmd/graph.rs
#	crates/svg/src/export.rs
2026-10-12 11:02:32 +07:00
..
blend_export.rs #1244: smaller objects: Node 352 -> 152 bytes, NodeKind 200 -> 80, and a cheaper undo estimate 2026-10-12 11:02:32 +07:00
container_export.rs M14.4: tests main gained follow the no-panic lint rules 2026-10-05 06:40:34 +07:00
css_rules.rs #1244: smaller objects: Node 352 -> 152 bytes, NodeKind 200 -> 80, and a cheaper undo estimate 2026-10-12 11:02:32 +07:00
dash_align.rs M14.4: tests main gained follow the no-panic lint rules 2026-10-05 06:40:34 +07:00
data_attributes.rs #1244: smaller objects: Node 352 -> 152 bytes, NodeKind 200 -> 80, and a cheaper undo estimate 2026-10-12 11:02:32 +07:00
effects_export.rs M9: add live Revolve with artboard rotation and lighting controls 2026-10-10 23:44:46 +07:00
encoding_profile_fonts.rs #1244: smaller objects: Node 352 -> 152 bytes, NodeKind 200 -> 80, and a cheaper undo estimate 2026-10-12 11:02:32 +07:00
focal.rs M14.4: tests main gained follow the no-panic lint rules 2026-10-05 06:40:34 +07:00
font_weights.rs Fix #136: SVG export and CSS write each style's numeric font-weight 2026-10-05 23:36:29 +07:00
gradients.rs M4.28: SVG gradient export fidelity 2026-10-05 07:56:54 +07:00
ids.rs M4.29: object ids and names survive the SVG round trip 2026-10-05 07:57:44 +07:00
import_details.rs #1244: smaller objects: Node 352 -> 152 bytes, NodeKind 200 -> 80, and a cheaper undo estimate 2026-10-12 11:02:32 +07:00
import_live.rs M4.41: SVG import keeps symbols, patterns and blur/shadow filters live 2026-10-05 12:11:27 +07:00
import_text.rs #1244: smaller objects: Node 352 -> 152 bytes, NodeKind 200 -> 80, and a cheaper undo estimate 2026-10-12 11:02:32 +07:00
import_units.rs Fix #396: SVG type opens at the size it draws at 2026-10-08 07:18:34 +07:00
mask_options.rs #1244: smaller objects: Node 352 -> 152 bytes, NodeKind 200 -> 80, and a cheaper undo estimate 2026-10-12 11:02:32 +07:00
non_scaling_stroke.rs Fix #396: SVG type opens at the size it draws at 2026-10-08 07:18:34 +07:00
options.rs #1244: smaller objects: Node 352 -> 152 bytes, NodeKind 200 -> 80, and a cheaper undo estimate 2026-10-12 11:02:32 +07:00
prop_svg.rs M4.26: SVG Options in the engine, a dialog and MCP 2026-10-05 07:55:59 +07:00
raster_paints.rs M4.98: freeform gradients export to SVG as images clipped to their shapes 2026-10-05 13:25:16 +07:00
roundtrip.rs #1244: smaller objects: Node 352 -> 152 bytes, NodeKind 200 -> 80, and a cheaper undo estimate 2026-10-12 11:02:32 +07:00
stroke_export.rs M14.4: tests main gained follow the no-panic lint rules 2026-10-05 06:40:34 +07:00
symbols_layers.rs #1244: smaller objects: Node 352 -> 152 bytes, NodeKind 200 -> 80, and a cheaper undo estimate 2026-10-12 11:02:32 +07:00
text_layout.rs Type: Digits — Default, Arabic, Hindi and Farsi numeral systems 2026-10-11 22:18:01 +07:00
text_paint_order.rs Fix #139: SVG import paints paint-order="stroke" text strokes under the letters 2026-10-05 23:36:29 +07:00
text_stroke.rs M7: inline symbols in text 2026-10-08 15:45:34 -07:00