bflatastic
4d3f14e0fd
Merge remote-tracking branch 'origin/main' into HEAD
...
# Conflicts:
# crates/ui-egui/src/panels/viewer/frame.rs
2026-10-30 07:06:05 +07:00
BFlat
4dde67e349
Merge pull request #2356 from dotCooCoo/feat/script-shortcuts
...
Scripts: File ▸ Scripts entries take keyboard shortcuts
2026-10-30 07:05:58 +07:00
bflatastic
42876133d5
Merge remote-tracking branch 'origin/main' into HEAD
...
# Conflicts:
# docs/gaps.md
2026-10-30 07:05:43 +07:00
BFlat
141dbcf3e9
Merge pull request #2300 from dotCooCoo/feat/cineon-settings
...
Interpret Footage: Cineon Settings convert DPX and Cineon log scans
2026-10-30 07:05:36 +07:00
bflatastic
33ce4bbbed
Merge remote-tracking branch 'origin/main' into HEAD
2026-10-30 07:05:19 +07:00
BFlat
11e0a79006
Merge pull request #2279 from dotCooCoo/feat/startup-shutdown-scripts
...
Scripts: the Startup and Shutdown folders run at launch and quit
2026-10-30 07:05:12 +07:00
bflatastic
03bae81edd
Merge remote-tracking branch 'origin/main' into HEAD
2026-10-30 07:04:56 +07:00
BFlat
f5965deef8
Merge pull request #2355 from dotCooCoo/feat/shape-wiggle-transform
...
Shapes: add the Wiggle Transform path operation, which wiggles paths and each Repeater copy
2026-10-30 07:04:50 +07:00
bflatastic
6c9e625a2e
Merge remote-tracking branch 'origin/main' into HEAD
2026-10-30 07:04:33 +07:00
BFlat
8d22cd3afa
Merge pull request #2615 from arnav-hiwarkar/perf/2573-new-comp-from-footage
...
Fix #2573 : New Composition From Footage creates a composition
2026-10-30 07:04:25 +07:00
bflatastic
ee7fd1402e
Merge remote-tracking branch 'origin/main' into HEAD
2026-10-30 07:04:13 +07:00
BFlat
2f01328a26
Merge pull request #1279 from vbasky/fix/1205-layer-cover
...
Render: remove the blanket layer cover; per-effect padding already covers what needs it
2026-10-30 07:04:04 +07:00
bflatastic
d6e99c0db8
Merge remote-tracking branch 'origin/main' into HEAD
2026-10-30 07:03:44 +07:00
BFlat
5905f5259d
Merge pull request #1784 from nanox333/fix/browser-auto-language
...
fix(i18n): follow browser language preferences (#1700 )
2026-10-30 07:03:38 +07:00
bflatastic
e1c2147b32
Merge remote-tracking branch 'origin/main' into HEAD
2026-10-30 07:03:20 +07:00
BFlat
80f2342e7b
Merge pull request #1298 from vbasky/fix/1089-fedora-fonts
...
UI: Rescan Fonts in the font menu; assert the Linux system scan (#1089 )
2026-10-30 07:03:10 +07:00
bflatastic
b7fedd3a62
Merge remote-tracking branch 'origin/main' into HEAD
2026-10-30 07:02:50 +07:00
BFlat
f4bec2e957
Merge pull request #2600 from becauseno7/cc-bubbles-edge-clamp
...
CC Bubbles: bubbles at the layer's edges refract its edge pixels, not a pale fill (#2024 )
2026-10-30 07:02:39 +07:00
bflatastic
2632e0b2d9
Merge remote-tracking branch 'origin/main' into HEAD
2026-10-30 07:02:27 +07:00
BFlat
10f2988282
Merge pull request #1387 from tylerjenningsw/fix/paths-and-callable-layers
...
Expressions: a layer is a callable property group
2026-10-30 07:02:20 +07:00
bflatastic
ff9af55e81
Merge remote-tracking branch 'origin/main' into HEAD
2026-10-30 07:02:03 +07:00
BFlat
142bb75f2e
Merge pull request #1895 from ki2pixel/mute-keyframes
...
Keyframes: mute keyframes without deleting them (#1894 )
2026-10-30 07:01:54 +07:00
bflatastic
80cb8a06ae
Merge remote-tracking branch 'origin/main' into HEAD
2026-10-30 07:01:38 +07:00
BFlat
9250a30b37
Merge pull request #2622 from storytold/fix/2593-render-countdown
...
Render Queue: elapsed and remaining time tick between frames (#2593 )
2026-10-30 06:45:16 +07:00
BFlat
b704bb4780
Merge pull request #2621 from storytold/fix/script-replace-single-file
...
Scripts: FootageItem.replace() swaps in one file, as in After Effects
2026-10-30 06:45:09 +07:00
bflatastic and Claude Opus 5.5
e806f0d34e
i18n: the menu test expects German's own Can't Undo wording now that it has one
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-30 06:43:12 +07:00
bflatastic and Claude Opus 5.5
cf912e1f61
Automation: the file-parameter audit counts RUNS_SCRIPTS as classified
...
file.runScript and script.run moved from REFUSED to RUNS_SCRIPTS, which
check_command refuses too; the audit test now looks there as well.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-30 06:42:54 +07:00
bflatastic and Claude Opus 5.5
4a4aa28184
Render Queue: elapsed and remaining time tick between frames ( #2593 )
...
The job reports its times when a frame finishes, so with slow frames the
Current Render strip held the same Est. Remain long enough to look
stalled, then jumped. Between reports both times now count on from the
last one, as a clock does (remaining never below zero, a finished job
stands still), and the panel repaints twice a second while rendering.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-30 06:27:58 +07:00
BFlat
a8d83b9717
Merge pull request #2619 from storytold/fix/2592-mp4-edit-duration
...
Import: an MP4 lasts as long as its video edit list shows (#2592 )
2026-10-30 06:19:18 +07:00
bflatastic and Claude Opus 5.5
883171eece
Scripts: FootageItem.replace() swaps in one file, as in After Effects
...
Since #2107 , Replace Footage keeps an item's kind by default, so
replace() on a sequence item brought the new file's whole numbered run.
In After Effects, replace() swaps in the one file and replaceWithSequence()
brings a run; replace() now asks for exactly that.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-30 05:59:40 +07:00
bflatastic
8e3324eefa
Merge main into #2615 ; file.import's parameter doc: main's sequence wording plus the PR's newComp option
2026-10-30 05:59:29 +07:00
bflatastic and Claude Opus 5.5
4bdb68a812
Import: an MP4 lasts as long as its video edit list shows ( #2592 )
...
The reader reports a track's media duration (mdhd). For H.264 with
B-frames that runs past the last shown frame by the encoder delay the
edit list trims, so a 75-frame 25 fps clip imported as 76 frames / 3.04 s.
The footage's duration now follows the video track's edit list when it
is shorter (never longer; a delayed start keeps the reader's duration),
as the frame rate is already corrected from the header.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-30 05:54:16 +07:00
bflatastic
56fde5c3d6
Merge main into #1279 ; effects/lib.rs: keep the PR's Buf::grow_left_top/align beside main's budgeted Buf::pad, and put cover_plan's doc comment back on cover_plan (the PR's new items had split it off)
2026-10-30 05:53:43 +07:00
bflatastic
bc868c7138
Merge main into #1581 ; keep main's toolbar/Preview rows and the PR's rows in both Chinese panel catalogs, tr() the tab labels in main's comp_settings::show (tab_body split)
2026-10-30 05:51:32 +07:00
Camille Moine
8ac2dec42a
Keyframes: offer Unmute Keyframes in the Animation menu
...
The menu only carried Mute, so unmuting meant the timeline's context menu.
Add the second row bound to `keys.setMuted {"muted":false}`, its translation
in the ten catalogs, and a test that runs both rows through Session::execute
with undo and redo.
2026-10-29 23:51:04 +01:00
Camille Moine
047ffbaba5
Keyframes: mute keyframes without deleting them ( #1894 )
...
Add a muted flag to Keyframe. Muted keys stay in the Timeline and Graph Editor (dimmed, selectable and movable) but evaluation skips them, so the active neighbours interpolate as if they were not there; auto-Bezier and eases use the active neighbours. When every key is muted the property falls back to its static value.\n\nkeys.setMuted {muted} mutes or unmutes the selected keys in one undo step. The Timeline context menu offers Mute/Unmute Keyframes and the Animation menu has Mute Keyframes. Muted keys have no Bezier handles and motion-path points are dimmed.\n\nLottie export omits muted keys (with a warning) because Lottie has no mute state; scripting keeps seeing them in numKeys/key().\n\nTests: keyframe evaluation (linear, auto-Bezier spatial, all muted), serialization and value replacement, engine command + undo, Lottie export.
2026-10-29 23:51:04 +01:00
bflatastic
c53dd7f0a0
Merge main into #2600 ; clean
2026-10-30 05:46:55 +07:00
bflatastic
d7ab6bc11b
Merge main into #1387 ; clean
2026-10-30 05:46:52 +07:00
bflatastic
dfa5d9eeea
Merge main into #1784 ; main already maps ru/fr/de and has Russian undo/redo: keep main's supported() and history table, add only the French and German undo/redo wording, test Russian with main's colon form
2026-10-30 05:44:55 +07:00
bflatastic
8d051b3e9a
Merge remote-tracking branch 'origin/main' into HEAD
2026-10-30 05:42:41 +07:00
BFlat
77bea50f0b
Merge pull request #2617 from storytold/docs/2565-readme-effect-count
...
README: 308 effects, and a test keeps the count current (#2565 )
2026-10-30 05:42:00 +07:00
BFlat
87767b1252
Merge pull request #2616 from storytold/fix/999-viewer-edge-pan
...
Viewer: a mask vertex held at the panel edge pans the view (#999 )
2026-10-30 05:41:55 +07:00
bflatastic
0754a754ae
Merge main into #2300 ; Cineon conversion kept in footage_frame_raw (main routes proxies through footage_frame), frame-blend cache key hashes both premul colour and Cineon settings, spec strings combined
2026-10-30 05:41:52 +07:00
BFlat
d766467000
Merge pull request #2612 from storytold/fix/2210-timeline-group-drag
...
Timeline: drag effects, masks and shape items to reorder them (#2210 )
2026-10-30 05:41:49 +07:00
BFlat
b724eb6842
Merge pull request #2611 from storytold/fix/2261-pad-budget
...
Effects: padded buffers stay within a pixel budget (#2261 )
2026-10-30 05:41:43 +07:00
BFlat
cdc5fddaff
Merge pull request #2610 from storytold/fix/text-line-join
...
Text: stroke Line Join — Miter, Round or Bevel (#2077 )
2026-10-30 05:41:27 +07:00
bflatastic
e3c57f4fda
Merge main into #2356 ; plugins.md keeps main's ScriptUI subfolder row and the PR's script-shortcuts row
2026-10-30 05:35:06 +07:00
bflatastic
bd34ab21b6
Merge main into #2279 ; keep main's Scripts subfolders (RESERVED_FOLDERS) next to the Startup/Shutdown constants, merge docs rows
2026-10-30 05:34:26 +07:00
bflatastic
e28b43dc40
Merge main into #2355 ; ROADMAP progress log keeps both entries
2026-10-30 05:30:25 +07:00
bflatastic
9437652b8f
Merge branch 'fix/2261-pad-budget' of https://github.com/storytold/effectcraft into fix/2261-pad-budget
2026-10-30 05:18:14 +07:00