vectorcraft/docs
bflatastic 2048084396 #1027: PostScript-form .ai files open through their layers
A .ai in PostScript form went only to the PostScript interpreter, which
stopped on the first operator its missing prolog would define
(`Adobe_packedarray`, `Lb`, `Np`): files from Rhino and other CAD apps name
the procsets without including them.

- Such a program is its own editing data: when it has layers
  (`%AI5_BeginLayer`) and no private data, the editing-data reader reads it,
  compared with the page when the program runs, from the layers alone when
  it can't be run. If the layers can't be read either, the error says why.
- The reader takes the legacy ten-operand `Lb`, ignores flatness `i`, and
  uses the bounding box as the page when nothing else says where it is.
- Tests on synthetic files; fuzz fixture and hostile-program layers added.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

# Conflicts:
#	ROADMAP.md
#	docs/file-format-parity.md
#	docs/gaps.md
2026-10-11 06:04:48 +07:00
..
brand Licensing: MIT OR Apache-2.0 files, NOTICE, ArtCraft brand terms 2026-10-04 10:05:13 -04:00
images README: refresh the screenshots and renders, add a Perspective Grid shot 2026-10-08 02:39:29 +07:00
affinity-validation.md AF.4 docs: leave out shop listings and sandbox notes 2026-10-09 22:20:39 +07:00
architecture.md Progress docs: target-app parity, gaps, alpha gate, readiness by audience (#994) 2026-10-10 14:11:14 -04:00
contributors.md About: contributor and model credits compiled in (grab bag + table, self-submitted names) (#411) 2026-10-07 21:22:04 -04:00
control-protocol.md Review: guides on hidden or locked layers, and through layer commands 2026-10-11 06:03:48 +07:00
development.md #964: start again when the first frame never reaches the screen 2026-10-10 23:38:58 +07:00
effects-parity.md 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
file-format-parity.md #1027: PostScript-form .ai files open through their layers 2026-10-11 06:04:48 +07:00
gaps.md #1027: PostScript-form .ai files open through their layers 2026-10-11 06:04:48 +07:00
hardware-parity.md Progress docs: target-app parity, gaps, alpha gate, readiness by audience (#994) 2026-10-10 14:11:14 -04:00
localization-parity.md Progress docs: target-app parity, gaps, alpha gate, readiness by audience (#994) 2026-10-10 14:11:14 -04:00
mcp.md M9: add live Revolve with artboard rotation and lighting controls 2026-10-10 23:44:46 +07:00
plugins.md Fix #121: sandboxed WebAssembly plug-ins: object filters and live effects 2026-10-06 00:19:41 +07:00
releasing.md Merge pull request #760 from storytold/feat/windows-setup-wizard 2026-10-09 20:56:48 +07:00
revolve.md M9: add live Revolve with artboard rotation and lighting controls 2026-10-10 23:44:46 +07:00
roadmap.md 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
shaper.md M2.9: add editable Shaper groups and shape orientation steps 2026-10-08 22:52:23 +01:00
target-app-parity.md Review: guides on hidden or locked layers, and through layer commands 2026-10-11 06:03:48 +07:00
type-parity.md Progress docs: target-app parity, gaps, alpha gate, readiness by audience (#994) 2026-10-10 14:11:14 -04:00
ui-parity.md Docs: ruler guides on layers in the parity docs 2026-10-11 06:03:47 +07:00
windows7.md M14: Windows 7 build: patch windows-link for that build only, manual CI 2026-10-08 05:37:06 +07:00