vectorcraft/crates/engine/src
bflatastic 82b22af43c #788: file.place frames an SVG by its viewBox when crop is given
Placing an SVG fitted and centred it by its art's bounds whatever `crop`
said, so art drawn on a shared canvas lost its place and scale, and
`crop: "crop"` and `crop: "bounding"` gave the same result without a
warning. With `crop: "crop"` given, an SVG is now framed and clipped by
its viewBox (its artboard, as File › Open has it), as a PDF is by its
page: `rect` and `at` fit and centre that frame. By default, as
Illustrator places an SVG, and with "bounding", it is still its art's
bounds.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 14:58:33 +07:00
..
cmd #788: file.place frames an SVG by its viewBox when crop is given 2026-10-11 14:58:33 +07:00
file_access.rs Fix #832: --automation-read-root and --automation-write-root confine the MCP server's files 2026-10-10 14:27:24 +07:00
guard.rs Robustness: VectorCraft never crashes — no panics in shipped code 2026-10-05 06:28:59 +07:00
inspect.rs M7: area type auto size and shrink text to fit 2026-10-08 14:48:25 -07:00
lib.rs Direct Selection: Alt during a drag of whole paths turns the copy on and off 2026-10-11 12:24:46 +07:00
link_watch.rs Links: Update Links applies while a document is open 2026-10-10 20:19:27 +07:00
steps.rs Part of #785: run and command_batch steps can use earlier results 2026-10-10 10:28:03 +07:00
tests.rs Review: Align and Shear choice errors reuse the catalog's one-of message; ROADMAP (#1106) 2026-10-11 11:33:04 +07:00
tests_adjust.rs Fix #122: colour adjustment live effects (Effect > Color Adjustments) 2026-10-06 00:42:26 +07:00
tests_appearance.rs M3.46: three-state knockout groups (on, neutral, off) render, export and edit 2026-10-04 23:04:20 +07:00
tests_areafit.rs M7: area type auto size and shrink text to fit 2026-10-08 14:48:25 -07:00
tests_assets.rs Review #996: rustfmt 2026-10-11 01:46:59 +07:00
tests_attributes.rs Fix #522: SVG round trips keep hidden objects and data-* attributes 2026-10-09 03:36:08 +07:00
tests_bboxrotate.rs Fix #712: the bounding box hides while a drag moves, scales or rotates 2026-10-09 17:39:12 +07:00
tests_blendfidelity.rs M8.20: blends interpolate strokes, gradients, groups, type and symbols faithfully 2026-10-06 12:01:28 +07:00
tests_blendopts.rs M8.18: Blend Options dialog and the Blend tool's anchor targeting 2026-10-06 11:01:18 +07:00
tests_blendspine.rs M8.19: blend spine and keys editable on the canvas 2026-10-06 11:12:58 +07:00
tests_brushsym.rs Part of gap 5: Scatter, Art and Pattern Brush Options 2026-10-10 17:48:05 +07:00
tests_build.rs Image Trace: Flat Logo mode (sub-pixel edges, restored corners, true lines and circles) 2026-10-09 17:57:04 +11:00
tests_charstroke.rs M3.40: stroke on type — the Stroke panel edits the characters' stroke 2026-10-05 01:09:55 +07:00
tests_clip.rs M3.75: layer clipping masks from the Layers panel button 2026-10-05 00:27:31 +07:00
tests_clipboard.rs Fix #693: a click activates its artboard; in-place pastes go onto it 2026-10-09 13:32:44 +07:00
tests_clipflavours.rs Fix #398: Linux/Wayland bitmap paste, copied files paste as art 2026-10-08 07:44:23 +07:00
tests_clippaint.rs M3.89: a clipping path's fill paints behind the clipped art, its stroke over it 2026-10-05 03:11:04 +07:00
tests_cmdsplit.rs M3.8: register the split paint modules next to paint so the command palette keeps listing them (Stroke Options for "stroke") 2026-10-04 11:32:11 +07:00
tests_cmykflatten.rs M3.90: blend modes and opacity composite inks in CMYK documents 2026-10-05 04:30:06 +07:00
tests_colorguide.rs M3.53: Color Guide has 21 harmony rules, Steps and Variation options, a fixed base colour and Save Colors as Swatches 2026-10-05 00:13:36 +07:00
tests_colorguidelib.rs M3.95: Color Guide Limit to Library and Edit or Apply Colors without art 2026-10-05 05:08:15 +07:00
tests_colormgmt.rs M4.31: Save PDF dialog and document.exportPdf with PDF settings 2026-10-05 07:22:27 +07:00
tests_colorthemes.rs M3.96: Color Themes panel with a local theme library 2026-10-05 05:08:28 +07:00
tests_containers.rs M14.4: tests main gained follow the no-panic lint rules 2026-10-05 06:40:34 +07:00
tests_css.rs M4.96: Window › CSS Properties shows, copies and exports the CSS of the selection 2026-10-05 16:03:11 +07:00
tests_cut.rs Review #986: the rect through finite_numbers; rustfmt 2026-10-11 01:45:18 +07:00
tests_dashalign.rs M3.38: dashes fitted to corners and path ends, a flag of their own that keeps the offset 2026-10-04 23:37:58 +07:00
tests_distort.rs Perspective grid: coming back from a temporary tool keeps a hidden grid hidden (review of #333) 2026-10-08 03:27:36 +07:00
tests_docsetup.rs M4.20: Document Setup with bleed, transparency grid, paper and type options 2026-10-05 08:28:16 +07:00
tests_draw2.rs #1009: Use Precise Cursors makes the Pen's join pointer a crosshair 2026-10-11 03:51:39 +07:00
tests_editcolors.rs Gradient mesh: a fill colour recolours the point last clicked (#1050) 2026-10-11 07:13:33 +07:00
tests_effectedit.rs M3.42: Appearance editing depth — drag effect rows to reorder them or move them into/out of fills and strokes (Alt copies), click an effect name to edit it in its prefilled dialog, choosing an applied effect asks to edit it or add another, Show All Hidden Attributes, multi-select and Alt-drag duplicate of fills/strokes, drag the thumbnail onto art to copy the appearance, stroke rows note brush/Dashed/profile, Shift-click a chip for the mixer, Properties fx opens the effect menu 2026-10-04 23:01:34 +07:00
tests_emptytype.rs Part of #394: Preferences for snapping, handles, rubber bands, pattern tiles, tints and type 2026-10-08 09:43:12 +07:00
tests_envelope.rs clippy: a byte string for the envelope test's newline (byte_char_slices, red on main with Rust 1.99) 2026-10-06 07:09:35 -04:00
tests_envelope_distort.rs M8.16: Envelopes bend images, symbols, gradients, patterns and appearance; warps keep their frame 2026-10-06 12:01:47 +07:00
tests_envelope_edit.rs M8.17: Edit envelopes on the canvas: Edit Contents, mesh points and handles, Control bar 2026-10-06 12:16:59 +07:00
tests_expand.rs M14.4: as_chunks for the pixel loops main gained since the no-panics branch 2026-10-05 06:40:34 +07:00
tests_eyedropper.rs Type: Hebrew and Arabic text laid out right to left (bidi), aligned by its direction 2026-10-08 05:24:44 +07:00
tests_file.rs Tests: Japanese file and folder names save, open, export and title documents 2026-10-07 13:20:07 +07:00
tests_fileinfo.rs M4.55: File Info with author, description, keyword chips, rating and copyright, written to SVG, PDF and PNG 2026-10-05 09:55:47 +07:00
tests_flatpresets.rs M3.93: Edit > Transparency Flattener Presets… manages built-in and saved flattener presets 2026-10-05 02:36:28 +07:00
tests_flatpreview.rs M3.94: Window > Flattener Preview shows what flattening would rasterize, outline and change 2026-10-05 02:36:43 +07:00
tests_flatten.rs M14.4: as_chunks for the pixel loops main gained since the no-panics branch 2026-10-05 06:40:34 +07:00
tests_focal.rs M14.4: tests main gained follow the no-panic lint rules 2026-10-05 06:40:34 +07:00
tests_fontfiles.rs Review fixes for #792: build expected test paths with the platform's separator 2026-10-10 09:07:53 +07:00
tests_fontlist.rs Fonts: the font menus leave out macOS's hidden "." families 2026-10-06 15:33:21 -04:00
tests_freeform.rs M3.97: freeform points drag out to delete, spread ring drags, Lines mode draws lines 2026-10-05 04:43:43 +07:00
tests_gradient.rs M3.98: radial annotator extent ellipse, aspect handle and off-centre focal point 2026-10-05 04:43:43 +07:00
tests_gradpanel.rs M3.52: Eyedropper Options with Picks Up / Applies trees, Alt and Shift+Alt modes, image sampling 2026-10-05 02:08:10 +07:00
tests_halftone.rs Fix #122: Object > Vector Halftone 2026-10-06 00:42:26 +07:00
tests_inline.rs M7: inline symbols in text 2026-10-08 15:45:34 -07:00
tests_journal.rs Direct Selection: Alt during a drag of whole paths turns the copy on and off 2026-10-11 12:24:46 +07:00
tests_knockout.rs M4.31: Save PDF dialog and document.exportPdf with PDF settings 2026-10-05 07:22:27 +07:00
tests_labspots.rs M4.31: Save PDF dialog and document.exportPdf with PDF settings 2026-10-05 07:22:27 +07:00
tests_layerclip.rs Layers: sublayers are layers, not objects, and every row has a command 2026-10-07 22:29:15 +07:00
tests_layers.rs MCP: object.setProps removes the objects it hides or locks from the selection 2026-10-11 11:33:05 +07:00
tests_library.rs Fix #926: the Libraries panel's search, groups and library export/import 2026-10-10 17:17:01 +07:00
tests_linked_stops.rs M4.31: Save PDF dialog and document.exportPdf with PDF settings 2026-10-05 07:22:27 +07:00
tests_links.rs Fix #918: PSD and PSB files open and place as their merged image 2026-10-10 16:09:41 +07:00
tests_linkspanel.rs M4.63: Links panel with status, Relink, Go To, Update, Edit Original, Embed/Unembed, Link Info and Placement Options 2026-10-05 12:40:05 +07:00
tests_linkwatch.rs Links: Update Links applies while a document is open 2026-10-10 20:19:27 +07:00
tests_liquify.rs M8.4: Liquify keeps going while held, leaves non-paths alone, strokes apply incrementally 2026-10-06 12:00:52 +07:00
tests_live.rs Type Object Selection by Path Only: every baseline, Type tool and Eyedropper (review of #475) 2026-10-08 18:59:47 +07:00
tests_livecorners.rs Fix #938: Live Corner widgets on every selected path 2026-10-10 17:19:52 +07:00
tests_maskview.rs M3.86: Alt-click the mask thumbnail to view only the mask 2026-10-05 03:11:04 +07:00
tests_menucmds.rs Review: Lock and Hide › All Artwork Above use Selection::deselect_uneditable; ROADMAP (#1109) 2026-10-11 11:33:07 +07:00
tests_nativefile.rs M4.35: native files compress, save atomically, drop unused images, keep newer keys and save down to v1 2026-10-05 12:27:02 +07:00
tests_newart.rs M3.65: new-art appearance template (stroke options and graphic styles with nothing selected, New Art Has Basic Appearance) 2026-10-05 04:38:09 +07:00
tests_newdoc.rs Fix #681: Rearrange All Artboards layouts, order and one-click access 2026-10-09 12:22:48 +07:00
tests_objexpand.rs M14.4: as_chunks for the pixel loops main gained since the no-panics branch 2026-10-05 06:40:34 +07:00
tests_opacitymask.rs M3.48: Page Isolated Blending and Page Knockout Group 2026-10-04 23:10:06 +07:00
tests_outlinestroke.rs M3.38: dashes fitted to corners and path ends, a flag of their own that keeps the offset 2026-10-04 23:37:58 +07:00
tests_overprint.rs M3.50: Overprint Black dialog with fill/stroke, rich and spot black options 2026-10-05 00:01:02 +07:00
tests_package.rs Review fixes for #777: report sections per document, fmt, docs and ROADMAP 2026-10-10 09:32:12 +07:00
tests_paintproxy.rs M3.51: Fill/Stroke chips open swatch and mixer popovers; panel shortcuts; Recolor quick action 2026-10-05 02:05:33 +07:00
tests_panelcmds.rs #1007: Reverse Gradient mirrors off-centre midpoints 2026-10-11 03:51:31 +07:00
tests_paragraphs.rs M7: per-paragraph paragraph attributes 2026-10-08 15:07:13 -07:00
tests_pathops.rs Rename DrawCraft → VectorCraft: crates (vectorcraft-*), apps, binaries, types, env vars, docs, examples (.vectorcraft); old .drawcraft files and preferences still load. Fix: text bounds exact after opening a file; selection no longer marks a document modified (dirty = content differs from the saved document). Screenshots and renders regenerated. 2026-10-01 14:30:09 -04:00
tests_pathtype.rs Fix #429: Type on a path brackets, flip and Type on a Path Options that keep the type in place 2026-10-08 12:50:25 +07:00
tests_pattern.rs Rename DrawCraft → VectorCraft: crates (vectorcraft-*), apps, binaries, types, env vars, docs, examples (.vectorcraft); old .drawcraft files and preferences still load. Fix: text bounds exact after opening a file; selection no longer marks a document modified (dirty = content differs from the saved document). Screenshots and renders regenerated. 2026-10-01 14:30:09 -04:00
tests_pdffidelity.rs M4.59: pattern strokes and freeform gradients keep their look in PDF 2026-10-05 11:52:35 +07:00
tests_pdfmarks.rs M4.72: PDF export draws printer's marks in Registration around each page 2026-10-05 13:05:20 +07:00
tests_pdfpresets.rs M4.86: PDF page thumbnails and fast web view (linearised files) 2026-10-05 18:05:36 +07:00
tests_pdfraster.rs Fix #827: shadows and glows keep their blend modes in PDF 2026-10-10 10:28:04 +07:00
tests_persp_planes.rs M8.13: Perspective planes move along their normals with widgets, alone, with or copying their objects 2026-10-06 11:44:11 +07:00
tests_persp_select.rs M8.10: Perspective grid view options: Lock Grid, Lock Station Point, Snap to Grid, Show Rulers 2026-10-06 11:49:19 +07:00
tests_persp_text.rs M8.14: Type and symbols in perspective are really projected and stay editable; attachments survive copies 2026-10-06 12:10:00 +07:00
tests_perspgrid.rs Fix #321: the perspective grid hides while a perspective tool is chosen 2026-10-08 03:27:36 +07:00
tests_place.rs #788: file.place frames an SVG by its viewBox when crop is given 2026-10-11 14:58:33 +07:00
tests_placed_document.rs Placed documents: Links commands check, update, relink and break their links 2026-10-08 12:20:51 -07:00
tests_plugins.rs Fix #121: sandboxed WebAssembly plug-ins: object filters and live effects 2026-10-06 00:19:41 +07:00
tests_prefs.rs Part of #394: Align and Distribute move pattern tiles when Transform Pattern Tiles is on 2026-10-11 11:33:05 +07:00
tests_previewbounds.rs M3.67: Use Preview Bounds measures strokes in transforms, the bounding box and Align 2026-10-05 03:59:37 +07:00
tests_print.rs M4.75: File → Print writes the job as a print-ready PDF: paper, scale, tiles, marks and bleed, separations 2026-10-05 15:13:10 +07:00
tests_printadvanced.rs M4.81: Print advanced options: overprints, flattener, printer profile, bitmap 2026-10-05 17:27:00 +07:00
tests_printpresets.rs M4.79: print presets in the Print dialog and Edit > Print Presets 2026-10-05 16:30:46 +07:00
tests_printpreview.rs M4.78: File > Print opens the Print dialog and prints through the system 2026-10-05 16:30:35 +07:00
tests_printps.rs M4.92: Print to a PostScript file 2026-10-05 17:01:36 +07:00
tests_printtiling.rs M4.80: Print Tiling tool and View > Show Print Tiling 2026-10-05 17:26:59 +07:00
tests_proxyitems.rs M3.51: Fill/Stroke chips open swatch and mixer popovers; panel shortcuts; Recolor quick action 2026-10-05 02:05:33 +07:00
tests_puppetwarp.rs M8.6: Puppet Warp pins appear at once, warp from the rest shape and follow Undo 2026-10-06 11:16:10 +07:00
tests_rasterfilters.rs Part of gap 2: Effect › Brush Strokes (Accented Edges, Angled Strokes, Crosshatch, Dark Strokes, Ink Outlines, Spatter, Sprayed Strokes, Sumi-e) 2026-10-11 01:19:26 +07:00
tests_rastersettings.rs M4.56: Document Raster Effects Settings with colour model, background, anti-alias, clipping mask and room around 2026-10-05 09:55:48 +07:00
tests_recolor.rs M3.79: Edit or Apply Color Group opens Recolor Artwork on a colour group 2026-10-05 04:20:27 +07:00
tests_recovery.rs EPS import: bound what hostile editing data can cost, and say when it can't be read 2026-10-09 03:49:49 -04:00
tests_reflecthit.rs #1026: open filled paths are hit by their fill on every side 2026-10-11 05:30:24 +07:00
tests_registration.rs M4.31: Save PDF dialog and document.exportPdf with PDF settings 2026-10-05 07:22:27 +07:00
tests_save.rs Fix #638: Layers panel lays out only the rows in view and keeps open rows in the file 2026-10-09 08:19:49 +07:00
tests_saveoptions.rs 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
tests_scalestrokes.rs Fix #291: live corners stay circular when a rectangle is scaled unevenly 2026-10-07 20:25:41 +07:00
tests_shaper.rs fix(shaper): reject invalid explicit scribble targets 2026-10-11 07:43:13 +07:00
tests_slices.rs M4.89: Slice and Slice Selection tools draw, pick, move, resize and delete slices 2026-10-05 12:52:15 +07:00
tests_smartguides.rs Fix #506: drawing tools snap to Smart Guides as the Selection tool does 2026-10-08 23:20:27 +07:00
tests_strokegeom.rs M3.20: visual bounds cover arrowheads so overhanging heads are not culled; one arrowhead-weight helper 2026-10-04 17:40:41 +07:00
tests_strokegradient.rs M4.31: Save PDF dialog and document.exportPdf with PDF settings 2026-10-05 07:22:27 +07:00
tests_strokereach.rs M3.63: visual bounds and clicks take in the whole stroke 2026-10-05 02:55:23 +07:00
tests_strokeux.rs Stroke: per-unit weight presets so mm/cm/in dropdowns show clean numbers 2026-10-08 12:26:47 +07:00
tests_stylelib.rs Swatches: swatch.library.copyToUser copies a loaded library into User Defined 2026-10-09 13:32:59 -07:00
tests_stylepanel.rs M14.4: tests main gained follow the no-panic lint rules 2026-10-05 06:40:34 +07:00
tests_styles.rs M3.68: groups, layers and type have their own fills, strokes and effects, with Contents and Characters rows 2026-10-05 00:59:34 +07:00
tests_swatchcmds.rs M3.59: tints of global and spot colours, tint swatches and Global colour balance 2026-10-05 02:29:17 +07:00
tests_swatches.rs M4.31: Save PDF dialog and document.exportPdf with PDF settings 2026-10-05 07:22:27 +07:00
tests_swatchlib.rs Swatches: swatch.library.save counts only the swatches the file holds 2026-10-11 11:33:07 +07:00
tests_targeting.rs M3.69: target circles target layers, groups and objects; drag them to move appearances 2026-10-05 02:15:41 +07:00
tests_textcombos.rs M7: tests for the text engine features combined 2026-10-08 20:30:14 -07:00
tests_textedit.rs #1063: a fill chosen with characters selected colours just them 2026-10-11 06:59:36 +07:00
tests_textimport.rs AF.3: native Affinity import with artboards, vectors, text and images 2026-10-08 17:58:11 +00:00
tests_tileedge.rs M3.72: Tile Edge Color dialog and Show Swatch Bounds in pattern editing 2026-10-05 01:50:25 +07:00
tests_tints.rs M4.31: Save PDF dialog and document.exportPdf with PDF settings 2026-10-05 07:22:27 +07:00
tests_toolsettings.rs M8.2: tool options last across tool switches and launches 2026-10-06 09:23:44 +07:00
tests_transparencygrid.rs M3.88: Show Transparency Grid is per-document engine view state 2026-10-05 03:11:04 +07:00
tests_typearea.rs Review #997: one anchor-reference parser, for Reshape area type too 2026-10-11 01:48:17 +07:00
tests_typescale.rs #1034: scaled type shows and takes its scaled sizes 2026-10-11 07:00:34 +07:00
tests_units.rs M14.5: Preferences > Units drive every length the UI shows and reads 2026-10-05 07:43:41 +07:00
tests_variables.rs variables: review fixes for hidden objects, namespaces and agent params 2026-10-10 23:34:21 +07:00
tests_webexport.rs Fix #839: Save for Web accepts a typed width or height 2026-10-10 10:27:52 +07:00
tests_widthpoints.rs Width points: set and copy refuse a malformed index 2026-10-11 10:49:42 +07:00
tests_widthprofiles.rs M3.61: width profile library: Add to Profiles, Delete Profile, Reset Profiles 2026-10-05 02:55:21 +07:00
tests_widthtool.rs M8.7: Width tool edits compound-path strokes, shows every subpath's points, own cursors 2026-10-06 12:01:10 +07:00
tests_xform.rs Review: Align and Shear choice errors reuse the catalog's one-of message; ROADMAP (#1106) 2026-10-11 11:33:04 +07:00
tooling.rs Fix #712: the bounding box hides while a drag moves, scales or rotates 2026-10-09 17:39:12 +07:00
units.rs M14.5: Preferences > Units drive every length the UI shows and reads 2026-10-05 07:43:41 +07:00