4377 Commits
Author SHA1 Message Date
tareq 55a6154ac7 Tools bar: take first-click modifiers from same-frame double-click releases.
When two primary releases land on a slot in one frame, derive prev_modified from the earlier release so an Alt-then-plain pair cannot create-on-double-click.
2026-10-30 13:22:38 +01:00
tareq 56974e7262 Tools bar: read click modifiers from the pointer release.
Prefer the primary-release event's modifiers for Alt-cycle, and suppress create-on-double-click when either click of a double was modified.
2026-10-30 13:02:21 +01:00
tareq 16d7fca162 Tools bar: ignore create-on-double-click after an Alt-click.
egui pairs a plain click with a prior Alt-click as a double-click; remember the previous click's Alt so create-on-double-click only runs for two plain clicks.
2026-10-30 12:44:01 +01:00
BFlat ec7ced1f05 Merge pull request #1829 from nanox333/fix/1743-other-commands
#1743, part 2: commands that write to a path never replace footage, a proxy or the project file
2026-10-30 18:06:31 +07:00
tareq 5206844f92 Tools bar: Alt/Option-click cycles the flyout tool slot.
Matches After Effects/Photoshop: plain click keeps the shown tool; Alt-click advances the slot without opening the menu.
2026-10-30 12:00:52 +01:00
bflatastic 334bf0f785 Merge remote-tracking branch 'origin/main' into HEAD
# Conflicts:
#	crates/engine/Cargo.toml
2026-10-30 17:22:12 +07:00
BFlat 3d285116d8 Merge pull request #1539 from nanox333/feat/sam2-roto-tracker
Roto Brush: follow the object with SAM 2.1 (Tiny, Small, Base+, Large; optional models)
2026-10-30 17:02:45 +07:00
pravdomilandClaude Opus 5.5 189f31d6d1 Shortcuts: panel and context scopes, one chord per scope
A shortcut belongs to the application, a panel or a context (editing text, a paint or
camera tool active, a mask selected). The narrowest active scope runs a chord: an active
context, the focused panel, the panel sharing its shortcuts (Timeline and Composition),
the application. A context's shortcuts never run outside it.

- shortcuts.rs: scope table for engine commands and menu entries, scope_rank,
  scope_label; UiCommand can state its scope.
- Conflicts: the same chord in two scopes is an override (both keep working), reported
  with overrides: true; shortcuts.conflicts lists same-scope pairs only.
- Scoped now, keys unchanged: Remember / Apply Interpretation and Delete Without
  Confirmation (Project), Duplicate Render Item (Render Queue).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 10:57:09 +01:00
bflatastic 2a72f03872 Merge remote-tracking branch 'origin/main' into HEAD
# Conflicts:
#	apps/effectcraft-cli/tests/it/cli.rs
#	crates/engine/src/output_guard.rs
#	docs/agents.md
2026-10-30 16:38:01 +07:00
bflatastic 672c49ab4a Merge remote-tracking branch 'refs/remotes/pr/1829' into HEAD 2026-10-30 16:37:00 +07:00
BFlat 7174c81b2f Merge pull request #1830 from nanox333/fix/1743-duplicate-outputs
#1743, part 3: two Render Queue outputs never write the same file, and default names avoid the queue's other outputs
2026-10-30 16:36:32 +07:00
Patrik LermonandClaude Opus 5.5 46881e0d5f Swedish interface translation (sv)
Adds Swedish (Svenska) as an interface language in the menu, panel and
effect catalogs, written from the English source. The effect rows are
partial like Japanese and Georgian: an effect without a Swedish row draws
its English name, so a new effect does not block other PRs (#2244).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 10:35:36 +01:00
Kristian Myram 5eaed8b218 #1539: reopen saved object mattes with their cache evicted 2026-10-30 10:20:55 +01:00
Kristian Myram 4f64208587 #1539: keep per-object mattes when only one object is followed 2026-10-30 10:17:19 +01:00
Kristian Myram 2112e553ec #1743: choose default names around protected overflow paths 2026-10-30 10:13:38 +01:00
Kristian Myram 107b00e538 #1743: compare browser output paths using virtual file keys 2026-10-30 10:07:12 +01:00
BFlat 44f95f766c Merge pull request #2216 from jerome25000/fix/2091-mask-copy-paste
Fix #2091 copy/paste masks between layers
2026-10-30 16:06:42 +07:00
Kristian Myram b307c62a7f #1743: reuse protected identities while publishing pre-renders 2026-10-30 10:00:33 +01:00
Kristian Myram a4f5c516ed #1539: validate benchmark inputs and preserve shared refinement strokes 2026-10-30 10:00:33 +01:00
Kristian Myram b7d97c20e9 #1743: check final storage overflow destinations for queued outputs 2026-10-30 09:55:49 +01:00
becauseno7 4319df2e59 PDF import: the encryption pre-scan reads a bounded window after each trailer (#2142)
The pre-scan lexed one object after every `trailer` marker over the rest of
the file, so an unterminated string or dictionary after each of many markers
made opening a crafted PDF quadratic. Each lex now gets a 4 KiB window; when
it runs out, the file is refused if `/Encrypt` appears past the window (one
search per file), so long trailers can't hide the key.
2026-10-30 14:46:34 +06:00
bflatastic 0623340c62 Merge remote-tracking branch 'refs/remotes/pr/1539' into HEAD 2026-10-30 15:42:28 +07:00
bflatastic f558305795 Merge remote-tracking branch 'refs/remotes/pr/1830' into HEAD 2026-10-30 15:42:23 +07:00
Kristian Myram 41148e9b72 #1743: validate background and bridged exports in their owning session 2026-10-30 09:41:38 +01:00
Kristian Myram efb53c31fc #1539: clarify saved model identity and runtime fallback warnings 2026-10-30 09:34:23 +01:00
bflatasticandClaude Opus 5.5 9c8f4f639d #1743: confine file.checkOutput's path as a read
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 15:28:49 +07:00
bflatasticandClaude Opus 5.5 ee6830fefb sam2: integration tests in one binary (tests/it/main.rs)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 15:01:40 +07:00
bflatastic 18b6308225 Merge remote-tracking branch 'origin/main' into HEAD 2026-10-30 15:00:44 +07:00
bflatastic 279b0ab4e3 Merge remote-tracking branch 'origin/main' into HEAD 2026-10-30 15:00:43 +07:00
bflatastic eed23ffa48 Merge remote-tracking branch 'origin/main' into HEAD 2026-10-30 15:00:42 +07:00
bflatastic 14011b4405 Merge remote-tracking branch 'origin/main' into HEAD 2026-10-30 15:00:41 +07:00
Kristian Myram c5671f6569 #1830: require exporter support before skipping duplicate frames 2026-10-30 08:59:53 +01:00
Kristian Myram 76f82d7d55 #1539: clarify fallback visibility and benchmark correction rounds 2026-10-30 08:53:17 +01:00
BFlat 0555b5263a Merge pull request #2668 from nanox333/codex/gradient-stroke-width
Shape toolbar: keep gradient stroke widths
2026-10-30 14:51:50 +07:00
Kristian Myram baa1ca31b3 #1539: preserve stroke corrections and current main APIs 2026-10-30 08:49:47 +01:00
Kristian Myram a0ad0d5bbd #1829: recheck queued screenshot paths before writing 2026-10-30 08:45:51 +01:00
Kristian Myram fa46bbcb88 #1539: match reference box padding and use a flat GPU module 2026-10-30 08:43:33 +01:00
Kristian Myram 0538489053 #1539: omit point padding when a box prompt is present 2026-10-30 08:43:33 +01:00
Kristian Myram a21b9b175e #1539: retain checkpoint provenance and clarify model waits 2026-10-30 08:43:33 +01:00
Kristian Myram 33f545cf64 #1539: keep SAM2 weights install-only until mirrored 2026-10-30 08:43:33 +01:00
Kristian Myram 0fba3429d9 #1539: wait only for the selected model worker 2026-10-30 08:43:33 +01:00
Kristian Myram 3fa954478d SAM2: wait for replaced model loads before completing installation 2026-10-30 08:43:33 +01:00
Kristian Myram e34cea52cb SAM2: separate model load failures from download failures 2026-10-30 08:43:33 +01:00
Kristian Myram 47e5fa436b SAM2: isolate model worker failures by selection generation 2026-10-30 08:43:33 +01:00
Kristian Myram 5a97729703 Roto Brush: exclude native SAM2 models from browser choices (#1539) 2026-10-30 08:43:33 +01:00
Kristian Myram c4dc558a98 Roto Brush: validate GPU layouts and align object outlines (#1539) 2026-10-30 08:43:33 +01:00
Kristian Myram 365abf0f2d Roto Brush: discard failed tracks and bound SAM2 caches (#1539) 2026-10-30 08:43:33 +01:00
Kristian Myram b148397d4e #1539: keep Show Object empty when its tracked matte is missing 2026-10-30 08:43:33 +01:00
Kristian Myram 31307d15dc #1539: bound saved tracking decoders by validated plane dimensions 2026-10-30 08:43:33 +01:00
Claude 36ed77820d Roto Brush: keep saved tracking when nothing is retracked, read saved object mattes under their own keys, let Freeze use complete saved tracking without its model
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RDvxCS8xcR28VArjzn1x7U
2026-10-30 08:43:32 +01:00