mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-10-27 11:17:01 -06:00
Fix #334: .ai import leaves out the white page under the layers
A PDF-compatible .ai paints the editor's page (an opaque white rectangle the size of the page) before its first optional-content layer and outside every layer. It came in as art: an extra "Page 1" layer with a page-sized white path behind the artwork, which hid white art and gave SVG/PNG/PDF exports an opaque background. For pages with the editor's private data (the way the importer already tells a .ai from a PDF), the first art outside every layer, painted before any layer, is dropped when it is a plain fill-only rectangle in an opaque, non-spot white, with normal blending, equal to the crop box (0.5 pt tolerance). Plain PDFs keep such a rectangle as art (as the reference app does when opening a PDF), and so does anything else: grey, smaller or larger rectangles, strokes, translucency, white inks, fills over the layers. The white-cover test the soft-mask reader used is now a shared helper. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
a3fec5486d
commit
a18e671817
+1
-1
@@ -366,7 +366,7 @@ their stop opacity and stop where the shading doesn't extend. Text becomes point
|
||||
the file's font (by name; fonts that aren't available are listed in `warnings` and show in the fallback font) —
|
||||
`textAs: "outlines"` keeps glyph outlines instead. Optional content groups (the layers of PDF and PDF-compatible `.ai`
|
||||
files) become layers with their name, visibility, print state and lock, art that is off coming in as a hidden layer;
|
||||
art outside them goes to a layer per page. `layers: false` gives one layer per page of only what shows:
|
||||
art outside them goes to a layer per page (except the opaque white page a `.ai` paints under its layers, which isn't art). `layers: false` gives one layer per page of only what shows:
|
||||
|
||||
```json
|
||||
{"name":"run_command","arguments":{"command":"document.open","params":{"path":"/tmp/map.pdf","textAs":"outlines","layers":false}}}
|
||||
|
||||
Reference in New Issue
Block a user