vectorcraft/crates/engine/tests
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
..
affinity_artboards.rs M11: honor Move Artwork in artboard coordinate edits 2026-10-10 09:49:24 +02:00
affinity_corpus.rs Merge pull request #771 from DisasterAreaDesigns/affinity-as-chunks 2026-10-09 22:32:02 +07:00
affinity_text.rs AF.4: validate and harden Affinity 3 artboards, text and images 2026-10-09 13:45:55 +00:00
clear_commands.rs Fix #786: clear exact compound members and explicit targets 2026-10-09 11:33:23 -06:00
color_settings.rs M3.52: stop the eyedropper image-sampling test from flaking 2026-10-05 05:36:57 +07:00
command_sweep.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
font_folder.rs Review fixes for #792: build expected test paths with the platform's separator 2026-10-10 09:07:53 +07:00
import_fuzz.rs #1027: PostScript-form .ai files open through their layers 2026-10-11 06:04:48 +07:00
inline_text.rs M7: inline symbols in text 2026-10-08 15:45:34 -07:00
known_bugs.rs Robustness: VectorCraft never crashes — no panics in shipped code 2026-10-05 06:28:59 +07:00
lossy_overwrite.rs Part of #637: the editing data's structure read whole, colours, gradients, transparency, names, images and artboards included 2026-10-09 16:02:36 +07:00
model_based.rs Robustness: VectorCraft never crashes — no panics in shipped code 2026-10-05 06:28:59 +07:00
plugin_fuzz.rs Fix #121: sandboxed WebAssembly plug-ins: object filters and live effects 2026-10-06 00:19:41 +07:00
selection_commands.rs Fix #784: validate selection IDs and report the resulting selection 2026-10-09 11:19:08 -06:00
text_import_fuzz.rs M4.54: Placing a text file asks for Text Import Options and sets it as area type 2026-10-05 10:07:23 +07:00