fix(pdf): align nesting regression with shared parser (PDFR)

Integrate main while preserving the qualified shared-reader migration.
Assert that excessive inline nesting is rejected before adapter conversion,
returning zero pages and the existing NoPages error without partial art.

Co-authored-by: Codex <noreply@openai.com>
This commit is contained in:
skylar taylor-barrick
2026-10-15 14:55:19 -06:00
co-authored by Codex
18 changed files with 732 additions and 90 deletions
Generated
+38 -38
View File
@@ -971,7 +971,7 @@ dependencies = [
[[package]]
name = "craft-pdf"
version = "0.1.0"
source = "git+https://github.com/storytold/craft-libs?rev=89dcbb3060377a26c99a6d80caa16084366704c4#89dcbb3060377a26c99a6d80caa16084366704c4"
source = "git+https://github.com/storytold/craft-libs?rev=ca50d63b773c99f96e75c77ce5a1d21e7c9cda0d#ca50d63b773c99f96e75c77ce5a1d21e7c9cda0d"
dependencies = [
"hayro-syntax",
"thiserror 2.0.21",
@@ -1158,7 +1158,7 @@ dependencies = [
[[package]]
name = "effectcraft"
version = "0.9.2"
version = "0.10.0"
dependencies = [
"cpal",
"effectcraft-engine",
@@ -1183,7 +1183,7 @@ dependencies = [
[[package]]
name = "effectcraft-automation"
version = "0.9.2"
version = "0.10.0"
dependencies = [
"effectcraft-engine",
"effectcraft-host",
@@ -1195,14 +1195,14 @@ dependencies = [
[[package]]
name = "effectcraft-av1enc"
version = "0.9.2"
version = "0.10.0"
dependencies = [
"filmcraft-av1",
]
[[package]]
name = "effectcraft-cli"
version = "0.9.2"
version = "0.10.0"
dependencies = [
"cpu-time",
"effectcraft-automation",
@@ -1218,7 +1218,7 @@ dependencies = [
[[package]]
name = "effectcraft-color"
version = "0.9.2"
version = "0.10.0"
dependencies = [
"proptest",
"serde",
@@ -1226,7 +1226,7 @@ dependencies = [
[[package]]
name = "effectcraft-effects"
version = "0.9.2"
version = "0.10.0"
dependencies = [
"effectcraft-color",
"effectcraft-geom",
@@ -1243,7 +1243,7 @@ dependencies = [
[[package]]
name = "effectcraft-engine"
version = "0.9.2"
version = "0.10.0"
dependencies = [
"effectcraft-color",
"effectcraft-effects",
@@ -1276,7 +1276,7 @@ dependencies = [
[[package]]
name = "effectcraft-export"
version = "0.9.2"
version = "0.10.0"
dependencies = [
"effectcraft-av1enc",
"effectcraft-color",
@@ -1306,7 +1306,7 @@ dependencies = [
[[package]]
name = "effectcraft-expr"
version = "0.9.2"
version = "0.10.0"
dependencies = [
"boa_engine",
"effectcraft-color",
@@ -1323,7 +1323,7 @@ dependencies = [
[[package]]
name = "effectcraft-geom"
version = "0.9.2"
version = "0.10.0"
dependencies = [
"proptest",
"serde",
@@ -1331,7 +1331,7 @@ dependencies = [
[[package]]
name = "effectcraft-gpu"
version = "0.9.2"
version = "0.10.0"
dependencies = [
"bytemuck",
"effectcraft-color",
@@ -1353,14 +1353,14 @@ dependencies = [
[[package]]
name = "effectcraft-hevcenc"
version = "0.9.2"
version = "0.10.0"
dependencies = [
"filmcraft-hevc",
]
[[package]]
name = "effectcraft-host"
version = "0.9.2"
version = "0.10.0"
dependencies = [
"effectcraft-engine",
"effectcraft-export",
@@ -1385,7 +1385,7 @@ dependencies = [
[[package]]
name = "effectcraft-interchange"
version = "0.9.2"
version = "0.10.0"
dependencies = [
"effectcraft-color",
"effectcraft-keyframe",
@@ -1404,7 +1404,7 @@ dependencies = [
[[package]]
name = "effectcraft-keyframe"
version = "0.9.2"
version = "0.10.0"
dependencies = [
"effectcraft-color",
"effectcraft-geom",
@@ -1416,7 +1416,7 @@ dependencies = [
[[package]]
name = "effectcraft-lottie"
version = "0.9.2"
version = "0.10.0"
dependencies = [
"effectcraft-color",
"effectcraft-effects",
@@ -1433,7 +1433,7 @@ dependencies = [
[[package]]
name = "effectcraft-media"
version = "0.9.2"
version = "0.10.0"
dependencies = [
"effectcraft-model",
"effectcraft-pdf",
@@ -1460,7 +1460,7 @@ dependencies = [
[[package]]
name = "effectcraft-model"
version = "0.9.2"
version = "0.10.0"
dependencies = [
"effectcraft-geom",
"image",
@@ -1472,14 +1472,14 @@ dependencies = [
[[package]]
name = "effectcraft-opusenc"
version = "0.9.2"
version = "0.10.0"
dependencies = [
"filmcraft-opus",
]
[[package]]
name = "effectcraft-path"
version = "0.9.2"
version = "0.10.0"
dependencies = [
"effectcraft-geom",
"effectcraft-keyframe",
@@ -1491,7 +1491,7 @@ dependencies = [
[[package]]
name = "effectcraft-pdf"
version = "0.9.2"
version = "0.10.0"
dependencies = [
"craft-pdf",
"effectcraft-raster",
@@ -1507,7 +1507,7 @@ dependencies = [
[[package]]
name = "effectcraft-plugin"
version = "0.9.2"
version = "0.10.0"
dependencies = [
"effectcraft-effects",
"effectcraft-keyframe",
@@ -1519,7 +1519,7 @@ dependencies = [
[[package]]
name = "effectcraft-project"
version = "0.9.2"
version = "0.10.0"
dependencies = [
"effectcraft-color",
"effectcraft-geom",
@@ -1532,14 +1532,14 @@ dependencies = [
[[package]]
name = "effectcraft-psd"
version = "0.9.2"
version = "0.10.0"
dependencies = [
"miniz_oxide 0.8.9",
]
[[package]]
name = "effectcraft-raster"
version = "0.9.2"
version = "0.10.0"
dependencies = [
"effectcraft-color",
"effectcraft-geom",
@@ -1548,7 +1548,7 @@ dependencies = [
[[package]]
name = "effectcraft-render"
version = "0.9.2"
version = "0.10.0"
dependencies = [
"effectcraft-color",
"effectcraft-effects",
@@ -1570,7 +1570,7 @@ dependencies = [
[[package]]
name = "effectcraft-script"
version = "0.9.2"
version = "0.10.0"
dependencies = [
"boa_engine",
"effectcraft-engine",
@@ -1587,7 +1587,7 @@ dependencies = [
[[package]]
name = "effectcraft-segment"
version = "0.9.2"
version = "0.10.0"
dependencies = [
"miniz_oxide 0.8.9",
"ndarray",
@@ -1596,7 +1596,7 @@ dependencies = [
[[package]]
name = "effectcraft-svg"
version = "0.9.2"
version = "0.10.0"
dependencies = [
"effectcraft-geom",
"effectcraft-path",
@@ -1608,7 +1608,7 @@ dependencies = [
[[package]]
name = "effectcraft-text"
version = "0.9.2"
version = "0.10.0"
dependencies = [
"effectcraft-keyframe",
"harfrust",
@@ -1620,7 +1620,7 @@ dependencies = [
[[package]]
name = "effectcraft-time"
version = "0.9.2"
version = "0.10.0"
dependencies = [
"proptest",
"serde",
@@ -1628,7 +1628,7 @@ dependencies = [
[[package]]
name = "effectcraft-track"
version = "0.9.2"
version = "0.10.0"
dependencies = [
"effectcraft-raster",
"effectcraft-segment",
@@ -1640,7 +1640,7 @@ dependencies = [
[[package]]
name = "effectcraft-ui-egui"
version = "0.9.2"
version = "0.10.0"
dependencies = [
"craft-ui",
"effectcraft-color",
@@ -1672,11 +1672,11 @@ dependencies = [
[[package]]
name = "effectcraft-vp9enc"
version = "0.9.2"
version = "0.10.0"
[[package]]
name = "effectcraft-web"
version = "0.9.2"
version = "0.10.0"
dependencies = [
"effectcraft-engine",
"effectcraft-export",
@@ -2719,7 +2719,7 @@ checksum = "c75ab947623ef4ccaa7acf0579edf7cbb5a73838e3839a7be73335e522f433a1"
[[package]]
name = "hayro-syntax"
version = "0.7.2"
source = "git+https://github.com/storytold/craft-libs?rev=89dcbb3060377a26c99a6d80caa16084366704c4#89dcbb3060377a26c99a6d80caa16084366704c4"
source = "git+https://github.com/storytold/craft-libs?rev=ca50d63b773c99f96e75c77ce5a1d21e7c9cda0d#ca50d63b773c99f96e75c77ce5a1d21e7c9cda0d"
dependencies = [
"hayro-jbig2",
"hayro-jpeg2000",
@@ -6616,7 +6616,7 @@ checksum = "e450f9b2ed1dff33c94c12589a87338689467b9c4f5d8a5710bd09a847d2c8a7"
[[package]]
name = "xtask"
version = "0.9.2"
version = "0.10.0"
dependencies = [
"serde_json",
]