mirror of
https://github.com/storytold/effectcraft.git
synced 2026-10-22 19:52:57 -05:00
Problem: comp.new/comp.settings clamp sizes to 30,000 px, frame rates to 0.001-1000 fps and motion-blur samples to 2-64, but reading a project (.ecproj and .ecprojx, templates, recovery, offload) accepted any value: a 4-billion-px comp, solid or footage frame, a 0 or 10^18 fps rate (zero-length frames), a negative duration or 4 billion blur samples all reached the renderer. New Solid, Layer Settings, Import Solid/Placeholder, Crop Comp and PSD import set sizes without the upper bound, and comp sizes past 2^32 wrapped. Fix: one set of limits in effectcraft_project::limits. Project::from_json brings every item (and proxy) within them; from_json_repaired also says what it changed, which file.open returns as `repaired` and shows in a toast, so the project still opens. Project::add_item applies the same limits to every new item, and the size-setting commands clamp with the shared helpers. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>