mirror of
https://github.com/storytold/effectcraft.git
synced 2026-11-10 20:41:25 +00:00
* #3099: placed .ai pages fill the size After Effects stored; null anchors default to the corner Footage of an .aep keeps the size After Effects stored for a placed PDF / Illustrator / EPS file (the ArtBox, rounded up), and masks and anchors are measured against it. The page was drawn as a PDF viewer frames it (CropBox, /Rotate) at its own size, scaled by the width ratio at full resolution and stretched to the stored aspect below 3/4: masks too large, art off centre, squeezed at half resolution. - effectcraft-pdf: Framing::Placed / parse_page_framed (ArtBox clipped to the CropBox, /Rotate ignored); boxes with a non-finite corner or span are not used - Footage::placed_page (set by the .aep importer, serialized only when true): the page is framed so and filled into the stored size (effectcraft_render::vector_fit), decoded, continuously rasterised and in Create Shapes from Vector Layer; Reload keeps the size; the frame cache keys it by size and framing - .aep import/export: a null's absent Anchor Point is [0, 0], as After Effects reads it - fixture ai-mask-3099.aep (own synthetic files, scrubbed, profiles stubbed) and tests against After Effects 2026's read-back * #3099: placed-page framing only for .ai and .pdf, EPS as before; doc comments After Effects' sizing was measured with PDFs named .ai only; an EPS from an .aep keeps its bounding box at its own size (listed as not measured in docs/gaps.md and docs/aep-import.md). Doc comments on the touched functions. * #3099: shapes from a placed page keep its frame (track matte) Create Shapes from Vector Layer converted every path of a placed page, so bleed, art past the artboard or the page's background showed where the footage's raster hides them. The layers it makes from a placed page now take a hidden "<layer> Frame" shape layer (the footage's width x height) as their Alpha track matte: drawn at the comp's resolution, its edge is the raster's on shape and image layers alike. The command returns the frame layer's id too.
36 lines
520 B
Rust
36 lines
520 B
Rust
//! import tests of effectcraft-aep.
|
|
|
|
#[macro_use]
|
|
mod helpers;
|
|
|
|
mod aepx;
|
|
mod ai_mask;
|
|
mod blend_modes;
|
|
mod cameras;
|
|
mod cases;
|
|
mod combined;
|
|
mod cryptomatte;
|
|
mod ease_round2;
|
|
mod effects;
|
|
mod effects_batch5;
|
|
mod effects_quickwins;
|
|
mod effects_round2;
|
|
mod effects_round3;
|
|
mod effects_thirdparty;
|
|
mod fx_inject;
|
|
mod lumetri;
|
|
mod markers;
|
|
mod masks;
|
|
mod mattes;
|
|
mod puppet;
|
|
mod resaved_defaults;
|
|
mod robustness;
|
|
mod shapes;
|
|
mod shapes_round2;
|
|
mod styles;
|
|
mod synthetic;
|
|
mod text;
|
|
mod text_anim;
|
|
mod timing;
|
|
mod versions;
|