Bar Borer and Claude Opus 5.5
8a37ff6b43
Tests: trim the midpoint snap tests to what #2855 changes
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-11-03 05:07:59 +02:00
Bar Borer and Claude Opus 5.5
39119ff9ce
Viewer: dragged layers snap to other layers' midpoints and center lines ( #2855 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-11-02 20:36:57 +02:00
Brandon Thomas
a658ec736a
Merge PR #1266
2026-11-01 21:50:53 -05:00
tylerjenningsw and Chewybone-sudo
3ab2167e47
Auto-Trace: traced outlines map back into layer space ( #2764 )
...
Co-authored-by: Chewybone-sudo <347238078+Chewybone-sudo@users.noreply.github.com >
2026-11-01 09:05:56 -05:00
tylerjenningsw and Chewybone-sudo
49774ca5f9
Auto-Trace: test that traced outlines map back into layer space ( #2764 )
...
Co-authored-by: Chewybone-sudo <347238078+Chewybone-sudo@users.noreply.github.com >
2026-11-01 09:02:42 -05:00
pravdomil and Claude Opus 5.5
aa149d7bbc
Shortcuts: deterministic dispatch between panels, physical and logical ranked together
...
- shortcuts::pick chooses the binding for a key press: narrowest scope, then a
physical-key binding, then the first. When two other panels (or two active
contexts) claim the chord at the same rank, neither runs and the status bar
says which panels own it.
- Physical and logical bindings compete by scope rank in one pass, so a
narrower logical binding beats a physical one of an unrelated panel.
- An additional viewer (PanelKind::Viewer) ranks as the Composition panel.
- Two contexts on the same keys are reported as a conflict.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-31 22:35:33 +01:00
Brandon Thomas and Claude 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 Thomas and Claude 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
e89683c5b5
Merge PR #2712
2026-10-31 10:54:52 -04:00
Brandon Thomas
659cfcd1d0
Merge PR #2716
2026-10-31 10:54:51 -04:00
Brandon Thomas
738f9a3055
Merge PR #1541
2026-10-31 10:54:51 -04:00
marshiyar
38ed20f569
feat(layer): layer.addItem takes in, out and anchor ( #2026 )
2026-10-30 20:30:34 -07:00
marshiyar
508a2241e9
Help: Expression Reference opens a page that exists ( #2696 )
2026-10-30 20:07:14 -07:00
maxaeexe
b30c644c77
comp.deleteAllMarkers: add Delete All Markers for composition markers
2026-10-31 00:45:35 +03: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
pravdomil and Claude 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 Lermon and Claude 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
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
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
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
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
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
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
365abf0f2d
Roto Brush: discard failed tracks and bound SAM2 caches ( #1539 )
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
Claude
92cd555440
Roto model loading: keep the stale-load helper test-only
...
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
Claude
020d5cf980
Roto model loading: drop a load for an old choice, key viewer frames by the active 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
Claude
66d8e5e948
SAM 2 roto tracker: review fixes (direction-limited tracking, non-blocking model reload, per-object start passes, loader dispatch, CLI errors, hints)
...
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
Kristian Myram
6d10a6e932
S2.75: propagate saved tracking with the newly selected model
2026-10-30 08:43:32 +01:00
Kristian Myram and Claude Sonnet 5.5
a0ec3e2da4
S2.73: Tiny is the recommended size (benchmarked per size); stroke count and remove button per object; download test
...
bench --roto per size: no larger size tracked better on the synthetic clips and
Large lost the object after it re-entered; the hints say what was measured.
The bar shows the current object's stroke count and can remove its strokes.
An env-gated test runs the in-app download of a size.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-30 08:43:32 +01:00
Kristian Myram and Claude Sonnet 5.5
ba6fee9863
S2.72: the install test covers all four SAM 2 sizes from their files
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-30 08:43:32 +01:00