Commit Graph
4061 Commits
Author SHA1 Message Date
dotCooCoo d4f4c43a29 Project files: pin craft-ecproj-format to craft-libs main
craft-libs #409 merged as ca1b5e2. The crate's source is the same as
at the earlier pin d74959f.
2026-11-01 17:39:27 -08:00
dotCooCoo 1c08d8cb04 Merge storytold/effectcraft main into feat/ecproj-format-from-craft-libs 2026-11-01 17:20:50 -08:00
dotCooCoo b133c0500f Project files: read savedBy through craft-ecproj-format's Head
The craft-ecproj-format pin moves to storytold/craft-libs#409's new
head, where Head::read is the one reader and saved_by() is removed.
effectcraft-project's saved_by reads savedBy with Head::read, and from
ReadError::TooNew for a project with a newer schema.

saved_by now returns None for text that is not a JSON object with a u32
schema. EffectCraft calls it only on files Project::from_json opened,
so opening and importing projects are unchanged.
2026-11-01 11:02:30 -08:00
Brandon ThomasandClaude Opus 5.5 720c67117e Release 0.20.0
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
v0.20.0
2026-11-01 13:59:03 -05:00
dotCooCoo 42b04479be Merge storytold/effectcraft main into feat/ecproj-format-from-craft-libs 2026-11-01 09:42:43 -08:00
dotCooCoo b1571abaaa Project files: the file envelope comes from craft-ecproj-format
effectcraft-project writes and checks the envelope of .ecproj files with
craft-ecproj-format from craft-libs: File (savedBy, then the saved view
and the project) with to_json and to_json_compact for Save Compact
Project Files, check_schema and its message, SCHEMA_VERSION and
saved_by, which stay re-exported under their names. Project, SavedView
and the schema 1 conversion stay here.

Saved files are byte-identical. saved_by now reads only a JSON object,
so a project written as a JSON array no longer reports a savedBy.
2026-11-01 09:42:43 -08:00
Dylan M. Taylor 6372545dab docs: sync Craft App Suite list with ArtCraft Launcher 2026-11-01 12:30:01 -05:00
Dylan M. Taylor e71dd629c5 ci: grant packages write permission to release workflow 2026-10-31 23:43:04 -04:00
79f6957601 ci(xtask): run the GPU tests and i18n report from the test build (#2767)
`cargo test -p effectcraft-gpu` and `cargo test -p effectcraft-ui-egui` resolve features for
one package, so after the workspace nextest run they recompiled for about 2 minutes and
1 minute 15 seconds. Both now run the lib test binaries the workspace build produced, found
with `cargo test --no-run` and the same selection. The GPU tests still run in one libtest process.

Co-authored-by: FredApps <FredApps@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-01 01:38:57 +01:00
Dylan M. Taylor f4f390b153 packaging(flatpak): add OCI image build and GHCR publishing helper (#2763) 2026-10-31 18:52:54 -04:00
Brandon ThomasandClaude Opus 5.5 a926aa9182 test(media): measure the in-place movie's peak RSS in its own process
VmHWM is per process; the other tests in the binary ran on parallel threads
and their allocations failed the 64 MiB bound intermittently.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-31 11:32:05 -04:00
Brandon ThomasandClaude Opus 5.5 dc1f9eab74 Batch fixes: rustfmt, is_multiple_of in the Vegas test, drop a Swedish row #2718 retired
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-31 11:20:24 -04:00
Brandon ThomasandClaude Opus 5.5 9f78a8db27 Follow-ups to #2740, #2691, #2343: comment quotes the rows; locked viewer uses view3d_label; French track-matte pick whip
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-31 11:02:39 -04:00
Brandon ThomasandClaude Opus 5.5 2a7888d2c0 Follow-up to #2716: addItem applies in before out; anchor takes exactly [x, y]
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-31 11:02:15 -04:00
Brandon ThomasandClaude Opus 5.5 4b7767401b Follow-up to #2687: an even sample count keeps the Vegas midpoint
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-31 10:58:38 -04:00
Brandon ThomasandClaude Opus 5.5 5802cdc6a4 Follow-up to #2714: a thin bake isn't refused for triangle rounding
A 16384x1 output stacks every grid row onto one pixel row, so a sane warp
visits ~100x its pixels; allow each triangle about two grid cells (CodeRabbit).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-31 10:58:30 -04:00
Brandon ThomasandClaude Opus 5.5 f282754e50 Follow-up to #1541: Swedish panel 'Third' matches the menu's 'En tredjedel'
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-31 10:57:18 -04:00
Brandon ThomasandClaude Opus 5.5 ab17551913 Follow-ups to #2690 and #2684: app context-menu style; doc comment back on its test
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-31 10:56:54 -04:00
Brandon ThomasandClaude Opus 5.5 917f312bc2 Follow-up to #2169: keep layer.deleteAllMarkers layer-only
An empty layers list cleared the composition's markers too (CodeRabbit);
the composition-marker menu uses comp.deleteAllMarkers instead.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-31 10:56:36 -04:00
Brandon Thomas 83b4e36e9b Merge PR #2343
# Conflicts:
#	crates/ui-egui/src/i18n/effects.rs
#	crates/ui-egui/src/i18n/ui.rs
2026-10-31 10:55:46 -04:00
Brandon Thomas 97957f5c33 Merge PR #2709
# Conflicts:
#	contributors/people.toml
2026-10-31 10:54:57 -04:00
Brandon Thomas bf349cafa1 Merge PR #2692 2026-10-31 10:54:52 -04:00
Brandon Thomas d3001efade Merge PR #2731 2026-10-31 10:54:52 -04:00
Brandon Thomas e89683c5b5 Merge PR #2712 2026-10-31 10:54:52 -04:00
Brandon Thomas 95f32b9343 Merge PR #2700 2026-10-31 10:54:52 -04:00
Brandon Thomas fdac4c096e Merge PR #2691 2026-10-31 10:54:51 -04:00
Brandon Thomas 269ef70586 Merge PR #2740 2026-10-31 10:54:51 -04:00
Brandon Thomas 659cfcd1d0 Merge PR #2716 2026-10-31 10:54:51 -04:00
Brandon Thomas aac9c18989 Merge PR #2710 2026-10-31 10:54:51 -04:00
Brandon Thomas 8085ead73d Merge PR #2687 2026-10-31 10:54:51 -04:00
Brandon Thomas 6fa71eb066 Merge PR #2714 2026-10-31 10:54:51 -04:00
Brandon Thomas c60b12a20f Merge PR #2693 2026-10-31 10:54:51 -04:00
Brandon Thomas 738f9a3055 Merge PR #1541 2026-10-31 10:54:51 -04:00
Brandon Thomas 6cf3b38890 Merge PR #2739 2026-10-31 10:54:51 -04:00
Brandon Thomas 18b376ea0c Merge PR #2694 2026-10-31 10:54:51 -04:00
Brandon Thomas d8dd022715 Merge PR #2684 2026-10-31 10:54:51 -04:00
Brandon Thomas 0ba4a26b55 Merge PR #2690 2026-10-31 10:54:51 -04:00
Brandon Thomas 1e1a071d16 Merge PR #2169 2026-10-31 10:54:51 -04:00
Brandon Thomas 18f228c333 Merge PR #2741 2026-10-31 10:54:51 -04:00
Brandon Thomas d3897efd86 Merge PR #2719 2026-10-31 10:54:51 -04:00
Brandon Thomas 0da7fd045d Merge PR #2711 2026-10-31 10:54:51 -04:00
Brandon Thomas e1b79aaeeb Merge PR #2699 2026-10-31 10:54:51 -04:00
Brandon Thomas 26a863b0f0 Merge PR #2666 2026-10-31 10:54:51 -04:00
zitann2020andDeepSeek V4.1 Flash 23d4414fa9 i18n(ja): the effect keeps its noun form
Co-Authored-By: DeepSeek V4.1 Flash <noreply@deepseek.com>
2026-10-31 22:40:38 +09:00
zitann2020andDeepSeek V4.1 Flash 8e6fba52fd i18n(ja): better names for two EffectCraft effects and the rotoscope
Co-Authored-By: DeepSeek V4.1 Flash <noreply@deepseek.com>
2026-10-31 22:40:15 +09:00
zitann2020andDeepSeek V4.1 Flash 40831dc6cb i18n(ja): the Edit menu uses the interface's own wording
Co-Authored-By: DeepSeek V4.1 Flash <noreply@deepseek.com>
2026-10-31 22:34:28 +09:00
zitann2020andDeepSeek V4.1 Flash 85e0796559 ui: a category lists its effects by name, as After Effects does
Co-Authored-By: DeepSeek V4.1 Flash <noreply@deepseek.com>
2026-10-31 22:27:55 +09:00
zitann2020andDeepSeek V4.1 Flash 01e9f99a1c i18n(ja): the eleven effect rows the Japanese catalog was missing
Co-Authored-By: DeepSeek V4.1 Flash <noreply@deepseek.com>
2026-10-31 22:27:54 +09:00
dotCooCoo 1fe1058d34 Scripting: Offset Paths and Zig Zag properties resolve by their match names
Offset Paths' Amount, Line Join, Miter Limit, Copies and Copy Offset,
and Zig Zag's Size, Ridges per segment and Points reported their
internal ids as matchName, so property("ADBE Vector Offset Amount") and
the other documented names returned null. They now report and resolve
by ADBE Vector Offset Amount, Line Join, Miter Limit, Copies and Copy
Offset, and ADBE Vector Zigzag Size, Detail and Points. Lookups by
display name and internal id still work.
2026-10-31 02:01:29 -07:00
adikshan11andClaude Opus 5.5 56e236257e automation: check confined footage on every read, not once per path
ConfinedFootage remembered the first answer for each footage path. A symbolic
link inside a read root that pointed inside when first read could be pointed
outside afterwards, and the next frame-cache miss read the outside file.
Each read now runs the confinement check again.

automation_roots_check_relinked_footage_again renders a link to a file inside
the root, points it outside, empties the memory cache and renders again: the
outside pixels came back before this change and don't now.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-31 12:23:25 +05:30