Commit Graph
781 Commits
Author SHA1 Message Date
bflatastic 334bf0f785 Merge remote-tracking branch 'origin/main' into HEAD
# Conflicts:
#	crates/engine/Cargo.toml
2026-10-30 17:22:12 +07:00
bflatastic 672c49ab4a Merge remote-tracking branch 'refs/remotes/pr/1829' into HEAD 2026-10-30 16:37:00 +07:00
Kristian Myram 41148e9b72 #1743: validate background and bridged exports in their owning session 2026-10-30 09:41:38 +01:00
bflatastic eed23ffa48 Merge remote-tracking branch 'origin/main' into HEAD 2026-10-30 15:00:42 +07:00
Kristian Myram baa1ca31b3 #1539: preserve stroke corrections and current main APIs 2026-10-30 08:49:47 +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 MyramandClaude 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 MyramandClaude Sonnet 5.5 4e2b2b7e5d S2.71: the boundary view outlines each object in its own colour
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-30 08:43:32 +01:00
Kristian MyramandClaude Sonnet 5.5 08bf6e43fe S2.69: several objects in one Roto Brush instance, tracked in one SAM 2 pass
Strokes carry an object (0 for older projects, nothing written for 0). The
tracker follows every object in one pass and the mattes are united; the
confidence of a frame is the least sure object's. Object picker in the Layer
panel's bar; roto.options/stroke/clearStrokes/status take or report objects.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-30 08:43:32 +01:00
Kristian MyramandClaude Sonnet 5.5 2acd0ca1a8 S2.64: SAM 2.1 Small, Base+ and Large, each checked against PyTorch
Hiera configs and size detection from the weights, registry entries pinned to
commits with verified SHA-256, the loader picks the size by checksum. The GPU
encoder submits once per block so Large fits in memory, and uploads no longer
panic on a lost device. Reference tests run per size on the CPU and GPU.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-30 08:43:31 +01:00
Kristian MyramandClaude Sonnet 5.5 066bb2d031 S2.44: the span bar's confidence colours, checked in a real render
egui_kittest test: a scripted tracker (sure, doubtful, unsure, absent, sure again)
tracks a layer and the Layer panel is rendered; the strip's pixels are green, amber,
red, slate and green at the right frames. ROTO_SPAN_SNAPSHOT saves the panel image.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-30 08:43:31 +01:00
BFlat 3a8ff240f6 Merge pull request #2669 from storytold/fix/ui-egui-tests-one-binary
ui-egui: the accessibility and keyboard tests join the one test binary
2026-10-30 14:36:59 +07:00
BFlat ace7d56311 Merge pull request #1287 from vbasky/fix/1218-wheel-scrub
Viewer: mouse-wheel scrubbing over the Composition monitor (#1218)
2026-10-30 14:30:01 +07:00
Kristian MyramandClaude Sonnet 5.5 d2930b2554 Fix #1743 (follow-up): commands that write to a given path never replace footage, a proxy or the project file
Session::write_output (and refuse_export) is the one place that checks; Save Frame As
(PNG/PSD/EXR), Export Lottie, Save a Copy (+XML), Collect Files, Export Timeline (and its
pre-rendered movies), Export Template, Save Animation Preset, Export Guides and Export
Shortcuts write through it. The control channel's render.frame/ui.screenshot, MCP
render_frame and CLI render-frame --out check first (new query file.checkOutput for the
bridged cases). Save/Save As/auto-save are untouched.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-30 08:06:48 +01:00
bflatasticandClaude Opus 5.5 697556f252 ui-egui: the accessibility and keyboard tests join the one test binary
#1339 was written before ui-egui's integration tests became modules of one binary
(`tests/it/main.rs`), so its six test files landed at the top of `tests/`, each its own crate
and link. They move into `tests/it/` as modules; the a11y module's doc names the new path.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 14:04:01 +07:00
bflatasticandClaude Opus 5.5 8fde08d269 Keep the screen() helper's doc comment on screen() in ui_viewer tests
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 13:34:05 +07:00
bflatastic a2d44e1020 Merge remote-tracking branch 'origin/main' into HEAD 2026-10-30 13:31:43 +07:00
bflatastic e1aeda77ec Merge main into #2664 2026-10-30 13:30:48 +07:00
BFlat 72bd4a0366 Merge pull request #1339 from vangel76/feat-gap25-a11y-audit
Accessibility (gap 25): an AccessKit audit test; names, roles and keyboard operation for Effects & Presets, Settings and Render Queue
2026-10-30 13:19:46 +07:00
zitann2020andDeepSeek V4.1 Flash f3aad4829a ui: the composition the drop lands in is left out even when unselected (#2589)
Co-Authored-By: DeepSeek V4.1 Flash <noreply@deepseek.com>
2026-10-30 14:56:28 +09:00
BFlat 29e13dc359 Merge pull request #2655 from storytold/fix/2152-discrete-undo-steps
Discrete property choices are one undo step each (#2152)
2026-10-30 12:44:31 +07:00
bflatastic 5b056fcb30 Merge remote-tracking branch 'origin/main' into HEAD
# Conflicts:
#	crates/ui-egui/src/lib.rs
2026-10-30 12:38:03 +07:00
BFlat 39a1cf9e67 Merge pull request #2649 from zitann2020/ui/2589-self-drop
ui: a drop that holds the target composition lands the rest of the selection (#2589)
2026-10-30 12:32:53 +07:00
bflatasticandClaude Opus 5.5 53a0532c1f Discrete property choices are one undo step each (#2152)
Timeline and Effect Controls value editors sent every write with the property's scrub merge
key, so two separate picks from a drop-down (or two check box toggles) on the same property
folded into one undo step. Drop-down, check box, layer and mask picks now record their own
step; scrubs and typed numbers still merge as before.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 12:15:50 +07:00
Vikram Bhaskaran 85d197e0b9 Make wheel frame-stepping an opt-in that consumes the smoothed tail.
Main routes viewer scrolling through viewer_scroll, so a raw-event scrub fought the wheel zoom. With general.viewerWheelScrubbing on, an unmodified wheel steps frames and the rest of that notch does not zoom or pan. The preference stays off, so the wheel still zooms.
2026-10-30 16:07:37 +11:00
bflatastic 1efe4b3209 Merge remote-tracking branch 'origin/main' into HEAD
# Conflicts:
#	crates/ui-egui/src/lib.rs
2026-10-30 12:06:47 +07:00
bflatastic a71e8e4550 Merge remote-tracking branch 'origin/main' into HEAD 2026-10-30 12:04:46 +07:00
bflatasticandClaude Opus 5.5 4c62cdeefa Fix #1339 checks after merging main
- ui_accessibility_audit: main's new Character panel controls (stroke width presets, line
  join, stroke order) raise Character:default to 46 findings (22 unnamed); the ratchet entry
  follows, since that panel is not yet audited. The control filter is written as clippy's
  nonminimal_bool asks.
- ui_timeline_shapes (main's #2513 test): this PR names the Properties panel's Position row,
  so "Position" is no longer unique; the test takes the Animate menu's new entry.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 12:04:32 +07:00
bflatastic 687af205c7 Merge remote-tracking branch 'origin/main' into HEAD 2026-10-30 12:04:22 +07:00
bflatastic 0f39b3740d Merge remote-tracking branch 'origin/main' into HEAD 2026-10-30 11:47:07 +07:00
bflatastic 9fb8340cfe Merge remote-tracking branch 'origin/main' into HEAD 2026-10-30 11:47:04 +07:00
bflatasticandClaude Opus 5.5 eef9997889 Merge origin/main into #1339
header.rs, render_queue.rs: main's drag-toggle checkboxes report `.changed()`; the
Snapping, Notify and per-item Render check boxes keep this PR's AccessKit names and use
`.changed()`, the per-item one inside main's `add_enabled_ui`. The Render button keeps its
name with main's translated label.
effects_presets.rs: kept this PR's row_focus/nav_click and main's rows_before_presets;
main's reveal of Animation Presets with this PR's folder_row (nav, level), and the nav's
offset follows the scroll it moves; the search field keeps its name.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 11:34:05 +07:00
bflatasticandClaude Opus 5.5 74303466ef Layer Style dialog: Edit Gradient… opens the Gradient Editor and comes back (#2057)
Gradient Overlay's gradient showed "Edit in the Timeline" text in the Layer Style dialog.
It is now an Edit Gradient… button that runs prop.editGradient on that property; OK or
Cancel in the Gradient Editor returns to the Layer Style dialog, as in After Effects.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 11:31:29 +07:00
BFlat e56c916085 Merge pull request #2645 from storytold/fix/2075-stroke-width-control
Character panel: the stroke width shows its icon and a presets menu (#2075)
2026-10-30 11:07:17 +07:00
bflatastic 3f7dc9d1d1 Merge remote-tracking branch 'origin/main' into HEAD 2026-10-30 11:06:05 +07:00
bflatastic 8af1df7093 Merge remote-tracking branch 'origin/main' into HEAD 2026-10-30 11:05:29 +07:00
bflatastic 06a3e82e5d Merge remote-tracking branch 'origin/main' into HEAD 2026-10-30 11:04:06 +07:00
bflatastic 876a31bd74 Merge remote-tracking branch 'origin/main' into HEAD 2026-10-30 11:03:37 +07:00
zitann2020andDeepSeek V4.1 Flash e8c2813afb ui: a file dropped on the Timeline joins that composition (#2588)
Co-Authored-By: DeepSeek V4.1 Flash <noreply@deepseek.com>
2026-10-30 12:39:59 +09:00
zitann2020andDeepSeek V4.1 Flash 3694505ed4 ui: a drop that holds the target composition lands the rest of the selection (#2589)
Co-Authored-By: DeepSeek V4.1 Flash <noreply@deepseek.com>
2026-10-30 12:39:53 +09:00
bflatasticandClaude Opus 5.5 5085a1c873 Character panel: the stroke width shows its icon and a presets menu (#2075)
The stroke width was a field labelled W, which read as the width of the
text, not its stroke. It now shows the stroke-width icon (three bars,
thin to thick), sits beside the stroke order menu as before, and has a
presets menu (0.25 to 100 px) next to its value, as in After Effects;
fractional widths show their decimals.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 10:34:01 +07:00
bflatasticandClaude Opus 5.5 582d2c4cf3 Merge main into #1226; route main's translated Lock Aspect Ratio label and Casts Shadows automation id through labelled_checkbox, keep main's Rescan Fonts row beside the DragCheckbox filter, register both new it modules
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 10:32:41 +07:00
bflatasticandClaude Opus 5.5 666d929b51 Merge main into #1342; carry main's Mute/Unmute Keyframes (keys.setMuted) into the shared key_menu, gated off on locked layers like the other edits (test covers it), delete_keys keeps locked keys selected and runs main's polystar sync, keep both sides' timeline tests
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 10:27:51 +07:00
bflatasticandClaude Opus 5.5 c1c6e048f4 Merge main into #2268; import both layers_or and popup_options, drop main's now-unreachable post-duplicate end_edit (the PR ends the edit first), adapt tests to main's kept empty Type-tool layer (f262e39c6)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 10:23:03 +07:00
bflatasticandClaude Opus 5.5 6cad825ec0 Merge main into #2562; frame.rs: keep main's color_picker::note_dialog and the PR's scope_links call
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 10:21:58 +07:00
bflatasticandClaude Opus 5.5 5114657519 Merge main into #1755; move ui_timeline_group_select into the tests/it binary (one integration test binary per crate)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 10:21:38 +07:00
BFlat a3f5e9dd7e Merge pull request #2637 from storytold/fix/2513-text-animate-menu
Tests: the Timeline's text Animate and Add menus add animators and properties (#2513)
2026-10-30 10:19:08 +07:00
bflatastic baaa84ed21 Merge remote-tracking branch 'origin/main' into HEAD 2026-10-30 09:55:17 +07:00
bflatastic 1fea0b4e3b Merge remote-tracking branch 'origin/main' into HEAD 2026-10-30 09:54:05 +07:00
bflatasticandClaude Opus 5.5 bd0247877c Merge main into #1601; no conflicts
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 09:23:46 +07:00