vectorcraft/crates
bflatastic 0bdce8c633 AI import: groups and nested groups survive
Legacy PostScript .ai files (Illustrator 3-8, and their EPS) open through
the EPS interpreter, which only recorded what was drawn: every group came
in flattened. In a file in Illustrator's format (its %AI comments, or
Illustrator named as the creator) the `u` ... `U` it writes at the top
level now open and close groups, whatever its prolog defines them as, so
groups come in nested as they were, between and inside clipping groups.

clipnest's Clip carries an optional region: without one it is a plain
group, nested in the same chain as the clips (ids given in opening order,
so a chain of clips and groups sorts by id).

Clips nested without end used to nest clipping groups past the stack
(a stack overflow in EPS and EMF/WMF import): clips and groups now nest
at most 128 deep with a warning, and each object's chain counts against
the EPS reader's drawing budget.

PDF-compatible .ai (Illustrator 9+) can't get the same: its PDF content
draws each object on its own and doesn't mark plain groups (only layers,
clipping groups and groups with opacity, blending or a mask, which
already come back); the groups live only in the private data, which is
out of scope. Documented in ROADMAP and docs/mcp.md.

Addresses Discord feedback.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 17:06:57 +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 Fix #177: DXF Fit and Aligned text span their two points 2026-10-07 02:14:39 +07:00
color Fix #320: CMYK images stay CMYK from PDF import to PDF export 2026-10-08 06:04:07 +07:00
doc AI import: groups and nested groups survive 2026-10-08 17:06:57 +07:00
effects M8.14: Type and symbols in perspective are really projected and stay editable; attachments survive copies 2026-10-06 12:10:00 +07:00
engine AI import: groups and nested groups survive 2026-10-08 17:06:57 +07:00
eps AI import: groups and nested groups survive 2026-10-08 17:06:57 +07:00
format Part of #451: guides dragged out of the rulers snap, artboard guides 2026-10-08 15:23:18 +07:00
geom Fix #442: alike circular corners on rectangles that aren't square 2026-10-08 14:34:37 +07:00
mcp Fix #421: Document Color Mode can put RGB greys on the black plate 2026-10-08 10:30:32 +07:00
metafile AI import: groups and nested groups survive 2026-10-08 17:06:57 +07:00
pathops Fix #439: Shape Builder erase mode deletes edges, shows what will go and follows Alt live 2026-10-08 13:37:35 +07:00
pdf 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
plugins Fix #121: sandboxed WebAssembly plug-ins: object filters and live effects 2026-10-06 00:19:41 +07:00
render Fix #320: CMYK images stay CMYK from PDF import to PDF export 2026-10-08 06:04:07 +07:00
svg Fix #442: alike circular corners on rectangles that aren't square 2026-10-08 14:34:37 +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 Fix #443: installed fonts outside the font folders and fonts installed while the app runs reach the font menus 2026-10-08 14:03:53 +07:00
tools Type: the point/area type widget converts between them; area type made by dragging resizes 2026-10-08 16:54:12 +07:00
trace Robustness: VectorCraft never crashes — no panics in shipped code 2026-10-05 06:28:59 +07:00
ui-egui Type: the point/area type widget converts between them; area type made by dragging resizes 2026-10-08 16:54:12 +07:00