mirror of
https://github.com/storytold/effectcraft.git
synced 2026-11-15 06:42:31 +00:00
Before v0.10.0 the CC particle systems composited their particles over the layer, so a particle layer still showed the solid or precomp under it and any earlier effect in the stack. v0.10.0 (4e7eafa8) made them replace the layer to match After Effects 2026, which hides that artwork in projects written before it (#1898). Both effects get a Composite With Original checkbox, off by default so new instances keep the After-Effects-matching behaviour and the frames the effects are matched against stay green. upgrade_effects now takes the savedBy version of the file a project came from - opened, imported, read from an Essential Graphics template, or loaded as the New Project template - and turns the control on for an instance from a project written before v0.10.0 that does not already carry it (a saved value is the artist's choice). The legacy plan is the pre-v0.10.0 code restored: Post::Combine with the old Transfer Mode mapping (Composite, Screen and Add themselves, Black Matte 5) and the same Add/Over accumulation. savedBy first shipped in M3.14 (948f06fb), released after v0.2.0, so files from v0.2.1 on name their writer and get the fix; an older file has no savedBy and keeps replacing rather than migrating on a guess. Tests: crates/effects/src/sim/tests.rs composite_with_original_restores_the_old_particle_transfer_modes checks the restored mapping against combine() in every Transfer Mode; crates/engine/src/tests/legacy_particles.rs opens a 0.6.0 project (both particle effects over a Fill on a solid) and checks the artwork and the earlier effect show, that a current or anonymous file still replaces, the version gate, and the New Project template path. Fixes #1898.
74 lines
1.2 KiB
Rust
74 lines
1.2 KiB
Rust
mod add_item_options;
|
|
mod aep_export;
|
|
mod aep_import;
|
|
mod analysis_inputs;
|
|
mod analysis_signature;
|
|
mod anim_presets;
|
|
mod anim_tools;
|
|
mod aux_footage;
|
|
mod blender;
|
|
mod camera_track;
|
|
mod codec_options;
|
|
mod color_view;
|
|
mod crypto_pick;
|
|
mod delete_keys;
|
|
mod disk_cache;
|
|
mod display_pass;
|
|
mod effect_ranges;
|
|
mod effects;
|
|
mod essential;
|
|
mod essential_more;
|
|
mod export_overwrite;
|
|
mod face;
|
|
mod fidelity;
|
|
mod frame_export;
|
|
mod fuzz_open;
|
|
mod history;
|
|
mod import_project;
|
|
mod instance3d;
|
|
mod key_metadata_order;
|
|
mod key_time;
|
|
mod keyframe_text;
|
|
mod keylight;
|
|
mod legacy_analysis_keys;
|
|
mod legacy_particles;
|
|
mod limits;
|
|
mod lottie;
|
|
mod lut_files;
|
|
mod m137;
|
|
mod m145;
|
|
mod markers;
|
|
mod mask_reveal;
|
|
mod mask_warp;
|
|
mod menu_cmds;
|
|
mod model3d;
|
|
mod models;
|
|
mod motion_blur_depth;
|
|
mod paint;
|
|
mod panels;
|
|
mod project_items;
|
|
mod proxy;
|
|
mod quick_offset;
|
|
mod render_overwrite;
|
|
mod replace_source;
|
|
mod rig3d;
|
|
pub(crate) mod roto;
|
|
mod scale_comp;
|
|
mod sequence;
|
|
mod session;
|
|
mod settings;
|
|
mod shared_layers;
|
|
mod shortcut_cmds;
|
|
pub(crate) mod stubs;
|
|
mod styles;
|
|
mod tail;
|
|
mod text;
|
|
mod text_edit;
|
|
mod text_presets;
|
|
mod three_d;
|
|
mod timeline;
|
|
mod timeline_interchange;
|
|
pub(crate) mod track;
|
|
mod vector_import;
|
|
mod viewer;
|