vectorcraft/crates/engine/tests
dotCooCoo 1e76e389d2 Part of #868: PDFs saved with the reference app's editing data open from it, as .ai files do
A PDF saved with the reference app's editing data keeps that data in
streams named AIPDFPrivateData1, AIPDFPrivateData2, ..., where a .ai
file uses AIPrivateData1, AIPrivateData2, .... illustrator_data read
only the .ai names, so such a PDF opened like any other PDF: plain
groups opened ungrouped, and hidden objects and guides were missing. The
import gave no warning that the PDF's editing data went unread.

illustrator_data now reads the AIPDFPrivateData streams when the file
has no AIPrivateData1, and the PDF opens from its editing data as a .ai
file does. editingData: false still opens it like any other PDF.
has_private_data still looks for AIPrivateData keys only.

layered_ai also returns whether it read the layers. When it did, art
reaching past a PDF's page opens whole, and through_editing_data drops
the PDF importer's note that such art was clipped (PAST_PAGE_NOTE, now
public) as it drops the off-artboard note. When it didn't, both notes
stay. On main, a .ai whose editing data can't be decoded or has no
layers opened from its PDF part without the off-artboard note.

testkit::ai::pdf writes the .ai file of testkit::ai::ai with the PDF
key names. The editing-data tests open it as a PDF, and the import fuzz
test opens the damaged sample as a PDF too.

Docs: the document.open params, docs/mcp.md,
docs/file-format-parity.md, docs/gaps.md (G9: the export direction of
#868 remains), one evidence line in docs/target-app-parity.md, and #868
moved from layer structure to editing data in the File formats row of
docs/target-app-parity.md and in docs/roadmap.md.
2026-10-12 14:50:00 +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 Tests: the command sweeps and import fuzz tests fail when a command panics 2026-10-12 00:35:12 +07:00
compound_attributes.rs fix: 複合パスの外観と塗り規則を修正する #1197 2026-10-12 00:12:52 +07:00
eyedropper_sources.rs fix: ロック中と隔離の外側の図形から色を取得する #1251 2026-10-12 07:25:43 +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 Part of #868: PDFs saved with the reference app's editing data open from it, as .ai files do 2026-10-12 14:50:00 +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
pen_endpoint_picking.rs #1244: undo history bounded by bytes, without lookup tables or repeated selections in its steps 2026-10-12 11:02:17 +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 MCP: select.key checks its id, and agents can read the key object 2026-10-12 00:16:23 +07:00
stroke_visibility.rs Appearance panel: a stroke colour on an unpainted zero-width stroke restores 1 pt too (#1253) 2026-10-12 07:25:31 +07: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