BFlat
ba384b89cd
Merge pull request #1295 from vbasky/fix/1059-demo-space
...
UI: regression test — Space previews the demo opened from the start screen (#1059 )
2026-10-16 18:12:59 +07:00
BFlat
9eec6ea705
Merge pull request #1344 from dotCooCoo/fix/find-missing-fonts-postscript-names
...
Find Missing Fonts: fonts found by their PostScript or full name are no longer listed
2026-10-16 18:12:47 +07:00
BFlat
13bcaee916
Merge pull request #1622 from dylanmtaylor/ci/shared-nix-workflow
...
ci: switch to shared nix workflow from craft-common-actions
2026-10-16 18:12:36 +07:00
BFlat
79bfc23c69
Merge pull request #1447 from midasmatterhorn/fix/glyph-name-char-boundary
...
pdf: don't slice glyph names at a non-char boundary in name_to_unicode
2026-10-16 18:12:24 +07:00
BFlat
eba2c7015e
Merge pull request #1455 from tydude001/rpm-soname-requires
...
packaging: RPM requires library sonames, so openSUSE can install it
2026-10-16 18:12:13 +07:00
BFlat
04a60d7747
Merge pull request #1311 from MarekSpodBiedry/issue-1263
...
Scripting: add the missing app.preferences.saveToDisk() so imported scripts like Duik get past startup (#1263 )
2026-10-16 18:12:02 +07:00
BFlat
470ac13463
Merge pull request #1312 from zitann2020/i18n/ja-proportional-grid
...
i18n(ja): four labels After Effects contradicts
2026-10-16 18:11:50 +07:00
BFlat
eea030b547
Merge pull request #1307 from zitann2020/i18n/ja-resolution-labels
...
i18n(ja): the resolution labels agree with the panel catalog and After Effects
2026-10-16 18:11:39 +07:00
BFlat
2265651b69
Merge pull request #1480 from IanHollow/codex/artcraft-effectcraft-metainfo-screenshot-bffb3039
...
Packaging: repair the AppStream screenshot reference
2026-10-16 18:11:27 +07:00
BFlat
1071e57dfd
Merge pull request #1520 from MatejKozlovsky/frame0-failfast
...
GPU: stop drawing a frame once the device has failed
2026-10-16 18:11:16 +07:00
BFlat
86239e0f0c
Merge pull request #1397 from onlymoein/patch-1
...
Update contributor key: moecr7 -> onlymoein
2026-10-16 18:11:04 +07:00
BFlat
49be0eb6cf
Merge pull request #1258 from pravdomil/claude/settings-sidebar-button-gap-c80466
...
Settings: the page list's rows touch, with no gap between them
2026-10-16 18:10:52 +07:00
BFlat
0953011664
Merge pull request #1549 from MatejKozlovsky/upload-cache-dead-entries
...
gpu: upload cache drops textures of freed buffers on every insert
2026-10-16 18:10:41 +07:00
BFlat
5db68bf34a
Merge pull request #1302 from vbasky/fix/1194-liquify-offset
...
Liquify: expose Distortion Mesh Offset in Effect Controls (#1194 )
2026-10-16 18:10:30 +07:00
BFlat
896710b4c9
Merge pull request #1477 from midasmatterhorn/fix/cff-seac-recursion-depth
...
pdf: bound CFF endchar seac recursion so a cyclic font can't overflow the stack
2026-10-16 18:10:19 +07:00
BFlat
eac13d1cf1
Merge pull request #948 from Themolx/solo-outside-active-range
...
Solo: exclude other layers even when the soloed layer is outside its time range
2026-10-16 18:10:06 +07:00
BFlat
da74ff378e
Merge pull request #1496 from midasmatterhorn/fix/issue-1476-color-picker-flash-close
...
ui-egui: a click that opens the colour picker no longer closes it in the same frame (#1476 )
2026-10-16 18:09:52 +07:00
BFlat
c133e09e37
Merge pull request #1371 from marcoarnulfo/fix/layer-property-shortcuts
...
Scripting: test that Layer.property() resolves AE's top-level shortcuts
2026-10-16 18:09:39 +07:00
BFlat
ab5c998c09
Merge pull request #1360 from Deeev201/fix/dmg-finderinfo
...
macOS DMG: hdiutil create -srcfolder, so the installed app passes codesign --strict
2026-10-16 18:09:27 +07:00
BFlat
a2c2a1078a
Merge pull request #1357 from iannitram/upstream-pr/cli-args-os
...
CLI: an argument that is not Unicode is a usage error, not a panic
2026-10-16 18:09:16 +07:00
BFlat
41037328a8
Merge pull request #1433 from Hamza0101/render-queue-bare-project-path
...
Render Queue: resolve a bare project filename against the working directory
2026-10-16 18:09:06 +07:00
BFlat
d6c80f9078
Merge pull request #1569 from midasmatterhorn/fix/r4-roi-crop-overflow
...
project: a hostile ROI cannot overflow the crop math
2026-10-16 18:08:55 +07:00
BFlat
d6a9ccfff7
Merge pull request #1435 from marcoarnulfo/fix/webm-metadata-frame-count
...
Import: item.metadata counts a WebM's last frame when its duration is not a whole millisecond
2026-10-16 18:08:44 +07:00
BFlat
cbdd12b27a
Merge pull request #1431 from marcoarnulfo/fix/aiff-import
...
Import: AIFF files import, including EffectCraft's own AIFF renders
2026-10-16 18:08:33 +07:00
BFlat
50fd8777bf
Merge pull request #1349 from nanox333/fix/1063-first-use-line
...
Undefined-name errors report the first use from the failing function
2026-10-16 18:08:20 +07:00
BFlat
74ed4dc423
Merge pull request #1383 from marcoarnulfo/fix/1381-generators-alpha
...
Effects: 4-Color Gradient keeps the layer's alpha with Blending Mode None (refs #1381 )
2026-10-16 18:08:08 +07:00
bflatastic and Claude Opus 5.5
45eacf1b17
GPU: upload_buf keeps its own doc comment
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-16 17:33:50 +07:00
bflatastic and Claude Opus 5.5
fc38904b41
Liquify: saved projects show Distortion Mesh Offset too ( #1194 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-16 17:33:31 +07:00
BFlat
7c733f4cc9
Merge pull request #1639 from storytold/fix/relink-windows-paths
...
Footage: relinking a moved project keeps Windows separators and UNC shares
2026-10-16 17:13:59 +07:00
bflatastic and Claude Opus 5.5
86dff3ce78
Footage: relinking a moved project keeps Windows separators and UNC shares
...
project_dir rebuilt the folder with `/` and dropped a UNC share's leading
`\`, so a project opened from \server\share\Job looked for its moved
footage under the relative path server/share/Job and never found it. It now
keeps the path's own separator and its leading `/` or `\`.
The relink tests built mixed-separator paths (`…\Job/p.ecproj`) and so failed
on Windows; they now use native paths and check the separator is kept.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-16 17:13:40 +07:00
BFlat
592348b1d7
Merge pull request #1254 from vangel76/fix-1221-windows-test-paths
...
#1221 : two path-format test failures on Windows
2026-10-16 17:09:16 +07:00
BFlat
08788b8aa7
Merge pull request #1638 from storytold/docs/vector-retain-layer-sizes
...
Docs: PDF / Illustrator Composition - Retain Layer Sizes in the parity docs
2026-10-16 17:06:09 +07:00
bflatastic and Claude Opus 5.5
bafc7e620d
Docs: parity docs list Composition - Retain Layer Sizes for PDF / Illustrator ( #1536 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-16 17:05:49 +07:00
BFlat
1abaabfb8b
Merge pull request #1472 from arnav-hiwarkar/fix/1456-properties-reveal
...
fix(properties): reveal transform rows on double-click
2026-10-16 17:04:07 +07:00
bflatastic
23d56e7fea
Merge remote-tracking branch 'origin/main' into pr-1472
...
# Conflicts:
# contributors/people.toml
2026-10-16 17:03:52 +07:00
BFlat
49cffa64d7
Merge pull request #1214 from arnav-hiwarkar/perf/project-size-sort
...
perf(project): read file sizes once per sort
2026-10-16 17:03:41 +07:00
BFlat
8449853d0a
Merge pull request #1259 from arnav-hiwarkar/perf/media-browser-listing
...
perf(media-browser): reuse listings and cache filename sort keys
2026-10-16 17:03:29 +07:00
BFlat
f3148ee0b1
Merge pull request #1399 from arnav-hiwarkar/feat/media-browser-copy-source-path
...
feat(media-browser): add Copy Source Path
2026-10-16 17:03:16 +07:00
BFlat
7dc488b79d
Merge pull request #1222 from arnav-hiwarkar/perf/preset-panel-cache
...
perf(presets): reuse cached text and user preset data
2026-10-16 17:03:05 +07:00
BFlat
73d483812f
Merge pull request #1402 from arnav-hiwarkar/fix/presets-menu-automation-followup
...
fix(presets): identify copy folder action by label
2026-10-16 17:02:54 +07:00
BFlat
c044e7a872
Merge pull request #1543 from arnav-hiwarkar/fix/1536-ai-retain-layer-sizes
...
Import: Composition - Retain Layer Sizes for PDF / Illustrator files (#1536 )
2026-10-16 17:02:43 +07:00
BFlat
6616d451d2
Merge pull request #1584 from arnav-hiwarkar/fix/1552-keyframe-copy-selection
...
Copy only the selected keyframes across Position, Rotation and Scale (#1552 )
2026-10-16 17:02:32 +07:00
BFlat
88a9446ed9
Merge pull request #1412 from arnav-hiwarkar/fix/1120-echo-gpu-host
...
fix(render): preserve preceding effects in GPU Echo
2026-10-16 17:02:19 +07:00
bflatastic and Claude Opus 5.5
0e2f43b824
perf(project): keep the Size cell as After Effects shows it
...
Drop the byte-count tooltip, the "—" marker and their strings and UI test,
and the bench wrapper script: they are outside this PR's scope and After
Effects leaves the Size cell blank when the size is unknown. The size sort
and its tests are unchanged.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-16 16:42:34 +07:00
Dylan M. Taylor
261c54d854
ci: switch to shared nix workflow from craft-common-actions
2026-10-15 23:57:34 -04:00
skylar taylor-barrick
08627d4afa
Merge pull request #1612 from dylanmtaylor/ci/craft-common-actions
...
ci: add nix check workflow
2026-10-15 21:25:10 -06:00
Dylan M. Taylor
6c45fec27d
ci: add nix check workflow
2026-10-15 21:17:07 -04:00
skylar taylor-barrick and Codex
c2f790b1d9
refactor(pdf): share structure parsing through a bounded adapter
...
Load PDF document objects through the pinned craft-pdf parser and convert them into EffectCraft's existing drawing model with bounded traversal, recovery and retained data. Preserve generation numbers, stream limits, encrypted-document refusal and reported repairs.
Retain app-owned drawing, EPS, fonts and content/image decoding. Assert early excessive-nesting rejection without partial art, and cover tolerant arrays on native and WASM.
Validated with the22-stage local matrix and exact-head FreeBSD, Windows ARM64 and packaging checks.
Co-authored-by: Codex <noreply@openai.com >
2026-10-15 16:35:49 -06:00
arnav-hiwarkar and Claude Opus 5.5
c4c079d4f4
fix(engine): copy only the selected keyframes across properties ( #1552 )
...
Clicking keyframes on Position, Rotation and Scale highlights those
properties, and Copy then added every key of a highlighted property that
had none selected, so deselected keys came back on paste. The keyframe
copy branch also left a stale value clipboard that Paste preferred over
the new keys.
Copy now takes whole animations only when no key is selected or the
Transform group is selected, and every copy branch clears the clipboards.
Also collapses a nested `if` in the STL importer into a match guard,
which Clippy 1.95 flags under -D warnings (no behaviour change).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-15 20:57:50 +05:30
midasmatterhorn
643dcf55c6
project: a hostile ROI cannot overflow the crop math
...
The roi quad is stored raw from the control channel (crop.useRoi passes
serde_json's [f64;4] straight through, unlike the sibling edge fields,
which are clamped to plus/minus 20 000) and nothing repairs it on load.
Crop::edges converted it with round() as i32 and subtracted raw: an x of
-1e12 saturates to i32::MIN and w as i32 - l overflows in debug builds,
wrapping to a wrong-but-bounded crop in release.
Clamp each converted edge to the same plus/minus 20 000 the sibling
fields use and subtract with saturating_sub in edges() and frame_size().
Regression test: hostile_roi_cannot_overflow_crop_math — panics at
crates/project/src/render_queue.rs:774 on main; with the fix the hostile
quad degrades to a 1x1 frame and the sane-ROI behavior is unchanged.
2026-10-15 16:18:10 +03:00