Commit Graph
1116 Commits
Author SHA1 Message Date
bflatastic 6ab7bd31dd Merge main into #1513; resolve docs/effects-parity.md 2026-10-30 01:25:24 +07:00
bflatastic 6a30a8b8d5 Merge main into #2452; resolve crates/engine/src/cmd/animation.rs crates/engine/src/tests/effects.rs 2026-10-30 01:24:52 +07:00
BFlat 676eeb8d07 Merge pull request #2289 from onlykshitij/feat/script-panel-submenus
Scripts: subfolders of the Scripts and ScriptUI Panels folders become submenus
2026-10-30 01:23:53 +07:00
BFlat eccb1883e2 Merge pull request #1092 from vangel76/fix-1083-beat-marker-audio-pause
Markers: adding one during playback no longer stops the audio (#1083, #1085)
2026-10-30 01:23:37 +07:00
BFlat b42cbcdb5e Merge pull request #1921 from tylerjenningsw/enhance/keyframe-text-clipboard
Clipboard: export keyframes as After Effects-compatible text
2026-10-30 01:22:04 +07:00
BFlat 7099fe0bae Merge pull request #1874 from vangel76/rfx-masks-shapes
Mask feather, Repeater opacity and Trim Paths on rectangles render as in After Effects
2026-10-30 01:21:47 +07:00
BFlat 7175a20f63 Merge pull request #1804 from tylerjenningsw/fix/roto-stroke-order
Roto Brush: apply correction strokes in drawing order (#1646)
2026-10-30 01:21:32 +07:00
BFlat b669e4a951 Merge pull request #2476 from ashokram-si/feat/targa-sequence-output
Export: Targa (.tga) sequence output, 24-bit RGB or 32-bit RGB + Alpha
2026-10-30 01:19:27 +07:00
BFlat 6f1d11af94 Merge pull request #1385 from tylerjenningsw/enhance/pickwhip-index-refs
Expressions: Alt-pickwhip references effect parameters by index (refs #1072)
2026-10-30 01:18:08 +07:00
tylerjenningsw 5f22e63e93 Merge remote-tracking branch 'origin/main' into enhance/batch-parent-matte 2026-10-29 13:29:22 -04:00
Jerome CAMUSandClaude Sonnet 5.5 82d3c2c92d Fix formatting in path.freeTransform spec
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-29 18:27:28 +01:00
Jerome CAMUS 6a6fdaf62f Improve tests 2026-10-29 18:24:13 +01:00
Jerome CAMUS 580bdc4e7b fix data Integrity & Integration 2026-10-29 18:24:13 +01:00
Jerome CAMUSandClaude Sonnet 5.5 0c322fd89d #2201: one undo reverts a whole mask free-transform drag
path.freeTransform ignored the drag's merge key, so each frame was its own undo step.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-29 18:24:13 +01:00
bflatasticandClaude Opus 5.5 379be9e7c8 Scripts: rustfmt the subfolder test
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 00:23:08 +07:00
BFlat fbb7dc325a Merge pull request #2466 from dotCooCoo/integration/bugfix-effectcraft-bugfix
Fixes: macOS quit crash, soft shadow jitter, Interpret Footage params, preset upgrade, composition proxies, font menu names
2026-10-30 00:13:49 +07:00
BFlat fe566c9b91 Merge pull request #2523 from Anubhav-Rai/engine-template-footage-names
engine: a template's footage entry can't name a file outside the folder (#2123)
2026-10-30 00:13:23 +07:00
BFlat 9a26cf66e4 Merge pull request #2347 from vangel76/warp-skip-discarded-plan
Reuse the validated Warp Stabilizer plan on first render
2026-10-30 00:12:01 +07:00
BFlat 5be5ad1167 Merge pull request #1651 from MatejKozlovsky/cli-warn-logging
CLI: log warnings to stderr by default
2026-10-30 00:09:39 +07:00
Kushagra Kumar c31fad1b90 fix(engine): respect frame default template and force RGB only on transparent: false 2026-10-29 22:06:27 +05:30
bflatasticandClaude Opus 5.5 8b43197065 Scripts: Startup and Shutdown folders aren't File > Scripts submenus, as in After Effects
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 23:24:20 +07:00
bflatastic 4aead36ecd Merge remote-tracking branch 'origin/main' into HEAD 2026-10-29 23:21:59 +07:00
bflatastic 1fde74b5f2 Merge remote-tracking branch 'origin/main' into HEAD 2026-10-29 23:19:56 +07:00
zitann2020andDeepSeek V4.1 Flash 197d6cd229 fix(text): the tests and docs follow the layer being kept
Review of the first commit found three places that still asserted the old cleanup: the UI integration
test (which would have failed CI), docs/agents.md, and the comments on TextEdit::created, layer.newText
and the engine test itself.

Co-Authored-By: DeepSeek V4.1 Flash <noreply@deepseek.com>
2026-10-30 01:09:35 +09:00
Claude 1dc5d2db69 #1284: Easy Ease, interpolation, Toggle Hold, labels and Time-Reverse skip a locked layer's keys and keep them selected
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RDvxCS8xcR28VArjzn1x7U
2026-10-29 15:53:52 +00:00
zitann2020andDeepSeek V4.1 Flash f262e39c63 fix(text): keep an empty Type-tool layer, as After Effects does
Clicking away from a Type-tool layer without typing deleted it, so a click that was meant to place the
text point lost the layer. AE keeps it in the timeline as <空白のテキストレイヤー>, and the layer came from the
user's click rather than being a mistake to clean up.

edit.deselectAll already routes through text.endEdit, so one change covers both paths. The tests that
asserted the old cleanup now assert the layer survives.

Co-Authored-By: DeepSeek V4.1 Flash <noreply@deepseek.com>
2026-10-30 00:31:37 +09:00
Camille Moine df0a88b795 Fix collapsed precomp Essential Property overrides (#1747)
Carry property, Font and Media Replacement overrides into the collapsed nested EvalCtx so nested layers render beyond the precomp frame instead of falling back to a clipped, flattened image. Key the layer cache on instance overrides to keep distinct collapsed instances isolated.
2026-10-29 15:21:16 +01:00
Claude 77050532a4 1010: keep authored easing on segments the baking cap leaves unchecked
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RDvxCS8xcR28VArjzn1x7U
2026-10-29 13:50:56 +00:00
Claude f9d514bb21 #1284: fix the shape double-click's size and paint, focus after closing the queue, the Graph Editor key menu
- The comp-sized shape is made by shape.newShape (new newLayer option) so it takes the Tools bar's
  Fill and Stroke, and a polygon or star fits the shorter comp side.
- Cmd+W on the Render Queue moves the focus to a panel that is still open.
- The Graph Editor's key menu is the Timeline's (one shared function): all its commands, labels in
  the interface language, edits disabled on a locked layer.
- keys.delete and keys.set leave a locked layer's keys alone.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RDvxCS8xcR28VArjzn1x7U
2026-10-29 12:29:10 +00:00
Claude b0be02fff4 1010: cap baked Orientation keys per property; leave one-node rigs under a mirrored parent as authored
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RDvxCS8xcR28VArjzn1x7U
2026-10-29 11:52:23 +00:00
Claude b5b77f446e #1417: Reload Footage re-reads a file's markers; index marker times when merging them
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RDvxCS8xcR28VArjzn1x7U
2026-10-29 11:41:27 +00:00
Christopher Linnett 54a141d0a0 Text: Duplicate stays enabled during a text edit with nothing selected (#2226) 2026-10-29 19:20:46 +08:00
Christopher Linnett c074612acc Text: duplicate during a text edit copies the edited layer even after another is selected (#2226) 2026-10-29 19:01:46 +08:00
Camille Moine 06bdd7e2b6 Expressions: offer bezier in the language menu and auto-complete (#1884)
Add the helper to the expression editor's completions (syntax highlighting and auto-complete) and to the Expression Language menu's Interpolation group, so accepting it inserts the call parentheses like linear/ease.
2026-10-29 11:58:34 +01:00
Christopher Linnett 280a400be4 Merge origin/main into fix/issue-2092-camera-focus-crash
Conflicts were main's new code next to this branch's additions; both kept:
- crates/effects/src/lib.rs: main's Buf::pad_sides stays as main wrote it
  (Transform's transform_grow bounds that padding itself); Buf::pad keeps
  this branch's effective-pad clamp.
- crates/raster/src/lib.rs: main's quantize_px/round_half_up and this
  branch's MAX_PADDED_SIDE (still equal to limits::MAX_SIZE on main).
2026-10-29 18:44:49 +08:00
Christopher Linnett d1a505fdf5 Merge origin/main into fix/issue-2226-duplicate-during-text-edit
Conflict in crates/ui-egui/src/panels/viewer_text.rs: main moved the
editor's key handling into key_event(). Took main's version and moved
this branch's Duplicate forwarding arm into key_event(), using its ctx
parameter.
2026-10-29 18:44:20 +08:00
Claude 7583fb914a Merge main into fix/1743-render-overwrite-confirm
output_guard joins the split engine lib.rs; the overwrite tests move to tests/render_overwrite.rs
(#2491) and the regression workflow's test filter follows.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RDvxCS8xcR28VArjzn1x7U
2026-10-29 10:31:40 +00:00
Minher0 5b2f305f72 instance3d: a dedicated 3D Layer Instance effect, and the copy is cached
CC Composite stays After Effects-pure: its Layer parameter is gone, so
parameter indices match AE again (scripts and expressions that address
parameters by index). The model reference lives in its own effect,
ec.3d.instance3d (3D Channel, CPU, one layer parameter), which replaces
the layer's pixels with the referenced layer's render — alpha included.

A referenced model's solo render is now hashed into the owner's cache key
instead of declining the entry (Bflat, review of #2410): the layer, its
animated values and transform, the mesh item, the comp camera and lights,
draft 3D, the renderer setting and the in/out gate. Covered by a render
test: the copy is cached, served on the second render, and re-rendered
when the camera pans or the model leaves its in/out range.
2026-10-29 10:18:17 +00:00
Claude 0dd14e2706 Merge main into fix/1417-wav-markers
Footage.markers is added to the split footage.rs (#2491); the host integration test joins the
shared tests/it binary.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RDvxCS8xcR28VArjzn1x7U
2026-10-29 10:12:23 +00:00
Claude 152ce37f8d Merge main into fix/1284-testing-feedback
The shape-tool double-click, Cmd+W handling and their tests move to the split header, menus/invoke
and engine test modules (#2491); the docking check in the Cmd+W test uses the craft_ui dock API.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RDvxCS8xcR28VArjzn1x7U
2026-10-29 09:54:37 +00:00
Claude 51747b7f67 Merge main into fix/1010-orientation-followup
The parent-space code moved to cmd/layer/parent.rs (#2491); this branch's changes to it are
carried over unchanged.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RDvxCS8xcR28VArjzn1x7U
2026-10-29 09:31:29 +00:00
Claude 55761e226f Merge main into fix/1063-text-animator-stacked
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RDvxCS8xcR28VArjzn1x7U
2026-10-29 09:27:06 +00:00
Z User f47b57d3f8 Merge remote-tracking branch 'origin/main' into fix/environment-light-no-effect-cast-shadows 2026-10-29 08:54:59 +00:00
Madhav Agarwal bad35b0092 tests: compare font styles case-insensitively and use instance attributes 2026-10-29 13:28:31 +05:30
Madhav Agarwal 0c6ca242e5 engine: keep a one-frame run a sequence when replacing footage 2026-10-29 13:26:48 +05:30
Tomasz LewandowskiandClaude Opus 5.5 2c3f3bb791 i18n: add Polish (pl) interface language
Polish menus (every fixed menu entry, 630 rows) and panels (every row of
the Chinese panel catalogs, 695), the undo/redo, Reveal and Assign Shortcut
labels, the macOS Services item, Settings ▸ General ▸ Language and
Match System for pl-* locales. Tests cover the locale mapping, the
settings registry and the macOS application menu.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DukHNvUY45rjRnvtz91x33
2026-10-29 07:16:04 +01:00
dotCooCoo ab3d264541 Merge commit 'refs/check/ecb-2300-main' into feat/cineon-settings-ecb
# Conflicts:
#	crates/project/src/tests.rs
2026-10-28 23:06:13 -07:00
dotCooCoo a78ce99c96 Merge main into feat/script-shortcuts
Resolves the docs/scripting-parity.md conflict by keeping the script shortcuts row and main's new Recent Script Files row.
2026-10-28 22:45:48 -07:00
Madhav Agarwal 9fd14225eb engine: treat null sequence options as unspecified in Replace Footage 2026-10-29 10:20:20 +05:30
Madhav Agarwal a29eda3844 engine: Replace Footage keeps a still a still (#2073) 2026-10-29 10:20:20 +05:30