Commit Graph
3970 Commits
Author SHA1 Message Date
Kristian MyramandClaude Sonnet 5.5 48997fcd3d S2.2: make the reference script run without torchvision
Preprocess by hand, tap the neck's ModelOutput, report forward time.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-30 08:43:30 +01:00
Kristian MyramandClaude Sonnet 5.5 fd2aedb000 S2.2: reference script that dumps per-stage SAM 2 tensors
Not yet run: it needs the weights.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-30 08:43:30 +01:00
Kristian MyramandClaude Sonnet 5.5 9cb48399c3 S2.0: record the SAM 2 decisions D1-D6
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-30 08:43:29 +01:00
Kristian MyramandClaude Sonnet 5.5 71e44deb84 S2.50: effectcraft-cli bench --roto on synthetic clips
Synthetic Roto Brush clips with known mattes (movement, lighting change,
occlusion, leaving and re-entering) and a runner that compares the classical
engine with MobileSAM when installed. Needs no weights; SAM 2 plugs in later.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-30 08:43:29 +01:00
Kristian Myram 37561799f6 #1830: check virtual output paths in web renders 2026-10-30 08:42:03 +01:00
BFlat a16f37d896 Merge pull request #2667 from storytold/land/2663
Fix pretend-version testing for update prompts (#2663)
2026-10-30 14:40:34 +07:00
BFlat d242bab1e6 Merge pull request #701 from vbasky/fix/687-adjustment-footprint-key
Cache/GPU: adjustment footprint ignores the effect stack; upload starvation is reported (#687)
2026-10-30 14:39:17 +07:00
Jerome CAMUSandClaude Sonnet 5.5 73af2379d0 Fix #2091 clear stale key and vertex selections around mask copy/paste
Selecting a mask group now clears the previous key selection, so Copy/Cut act
on the mask. Pasting masks clears the source mask's vertex selection, so Clear
removes the pasted mask rather than points of the source.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-30 08:38:28 +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 Myram 7e68d4bbb4 #1829: cover source protection during background timeline export 2026-10-30 08:27:14 +01:00
Kristian Myram b6c3e6dc39 #1830: detect sequence padding and individual-file collisions 2026-10-30 08:26:09 +01:00
Kristian Myram f0b5e4eeff #2668: cover mixed strokes and stretched layer timing 2026-10-30 08:23:02 +01:00
BFlat 18ab2e3f3b Merge pull request #2664 from zitann2020/ui/2589-unselected-self-drop
ui: the composition the drop lands in is left out even when unselected (#2589)
2026-10-30 14:19:18 +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
bflatastic 4ced49aa95 Merge remote-tracking branch 'origin/main' into HEAD 2026-10-30 14:04:46 +07:00
Kristian MyramandClaude Sonnet 5.5 615c4cdffb Render Queue: two outputs of one job never write the same file, and default names avoid the queue's other outputs
Two queue items that resolve to one output (the same comp added twice, a duplicated item) replaced
each other's file inside one job. Nothing is on disk when the job starts, so no check said anything.

- A default output name (renderQueue.add, render.preRender, comp.saveFrameAs {queue},
  file.createProxy) that another item of the queue writes, in any output module or segment, is
  numbered like a footage collision: Main.mp4, Main_1.mp4, Main_2.mp4. Sequences are compared by
  the frames they write, so two stills of one comp at different times keep their names. Names a
  caller gave and names already stored in items are never changed.
- Outputs of one job that still name the same file (explicit names, renderQueue.duplicate, output
  modules, segments) refuse the whole render before anything is written, naming both items.
  Sequences clash only on frames both write; a later item with Skip Existing Files leaves the
  earlier item's frames alone; items refused for footage take no part.

Refusing the whole render, not just the later item: which of two items should keep the file is the
user's to say, and failing only the later one would leave a half-rendered queue found after they
left. renderQueue.duplicate stays a verbatim copy so the clash is reported, not hidden.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RDvxCS8xcR28VArjzn1x7U
2026-10-30 08:04:32 +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
bflatastic 0ea9867f94 Merge remote-tracking branch 'origin/main' into HEAD 2026-10-30 13:57:46 +07:00
bflatastic e9ca27e55c Merge remote-tracking branch 'origin/main' into HEAD 2026-10-30 13:57:35 +07:00
bflatastic 742a085f2b Merge remote-tracking branch 'origin/main' into HEAD 2026-10-30 13:57:18 +07:00
Jerome CAMUSandClaude Sonnet 5.5 685448a0b2 Fix #2091 copy a named layer even when a mask is selected
edit.copy {"layer": id} copied the selected mask instead of the layer:
the mask branch only checked for `layers`, but `layer` is an explicit
target too.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-30 07:55:23 +01:00
Jerome CAMUSandClaude Sonnet 5.5 edb984a75a Fix #2091 copy/paste masks between layers
Edit > Copy with masks selected copied the layer, so Paste duplicated it
instead of adding the mask. Masks now go to their own clipboard and Paste
appends them, with unique names, to the selected unlocked layers.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-30 07:55:23 +01:00
BFlat 1f15f8a53b Merge pull request #2665 from storytold/docs/gaps-ci-gate
docs: gaps.md says the CI gate runs on pull requests (gap 4 closed)
2026-10-30 13:51:02 +07:00
bflatastic c68581185a Merge remote-tracking branch 'origin/main' into HEAD 2026-10-30 13:45:18 +07:00
Dylan M. Taylor 36c8d8a71c UPD.1: honor app pretend versions in update checks (#2663) 2026-10-30 02:44:42 -04: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 c4ed3a52ed Merge remote-tracking branch 'origin/main' into HEAD 2026-10-30 13:31:39 +07:00
bflatastic 491677b1d8 Merge remote-tracking branch 'origin/main' into HEAD 2026-10-30 13:30:52 +07:00
bflatastic e1aeda77ec Merge main into #2664 2026-10-30 13:30:48 +07:00
bflatasticandClaude Opus 5.5 b66a83389d docs: gaps.md says the CI gate runs on pull requests (gap 4 closed)
Since #2204, ci.yml runs `cargo xtask ci` through craft-common-actions' shared gate on every
pull request and push to main; gaps.md still listed "No CI gate on pull requests" as gap 4 and
in the Stability row.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 13:29:10 +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
Dylan M. Taylor c8a40733cc UPD.1: honor app pretend versions in update checks 2026-10-30 02:14:08 -04:00
BFlat ded4252f99 Merge pull request #2662 from storytold/fix/2269-timeline-export-background
Premiere Pro export pre-renders in the background (#2269)
2026-10-30 13:08:28 +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 c52164b57e Merge pull request #2658 from dotCooCoo/fix/font-substitute-test-installed-families
Make font substitute test work when original fonts are installed
2026-10-30 12:48:32 +07:00
BFlat 255af9e2b3 Merge pull request #2657 from storytold/fix/2371-slip-clamped
layer.slip reports the requested shift and whether it was clamped (#2371)
2026-10-30 12:47:13 +07: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
bflatasticandClaude Opus 5.5 68738d4b1b Premiere Pro export pre-renders in the background (#2269)
File ▸ Export ▸ Adobe Premiere Pro Project… pre-rendered every layer Premiere can't show to
ProRes 4444 with the window waiting: minutes on a large comp, which Windows reports as not
responding. The export now runs as a job (Window ▸ Progress, cancellable, with per-layer
progress) when started from its dialog (`background: true`); without it, the command still
waits and returns the same result.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 12:36:05 +07:00
BFlat fbb5488214 Merge pull request #2648 from zitann2020/i18n/ja-panel-rows
i18n(ja): the panel catalog's last 65 rows
2026-10-30 12:34:57 +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
BFlat b4c61f3db7 Merge pull request #2650 from zitann2020/ui/2588-timeline-drop
ui: a file dropped on the Timeline joins that composition (#2588)
2026-10-30 12:31:28 +07:00
Dylan M. Taylor e136844b53 Update prompt shows the app accent color (#2656)
UPDATE_APP gains our accent (#e0368f, our colour in ArtCraft Launcher). The prompt draws it
on the UPDATE chip, the buttons and the What's new underline, and says "by ArtCraft"
(craft-update's default developer); #2646 gave it our icon.

craft-update is pinned to storytold/craft-libs main at 1065653e7 (#434).
2026-10-30 01:29:03 -04:00
dotCooCoo 1981d86c54 Make font substitute test work with installed originals 2026-10-29 22:22:07 -07:00
bflatasticandClaude Opus 5.5 f6f242d6dd layer.slip reports the requested shift and whether it was clamped (#2371)
A slip on a layer with no source handles succeeded with `delta: 0` and nothing else, which
read like a no-op bug. The result now carries `requested` (seconds) and, per layer, `clamped`
when the source could not move that far.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 12:20:30 +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
BFlat b23ef3d9a8 Merge pull request #2654 from storytold/fix/2545-split-above-migrate
Settings: older settings files split layers above the original (#2545)
2026-10-30 12:14:36 +07:00
BFlat 2745890b2f Merge pull request #2653 from storytold/fix/2618-adjustment-blend-modes
Adjustment layers blend in their blend mode (#2618)
2026-10-30 12:10:16 +07:00