Commit Graph
3866 Commits
Author SHA1 Message Date
Kristian MyramandClaude Sonnet 5.5 ea2899d077 S2.22: memory attention with rotary encoding matches PyTorch
Self and cross attention with axial 2-D RoPE (keys tiled over memory frames,
object-pointer tokens left unrotated). Max abs error 2.6e-5.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-30 08:43:30 +01:00
Kristian MyramandClaude Sonnet 5.5 e4f4fea0f2 S2.21: memory encoder matches PyTorch
Mask down-sampler, feature fuser and projection, sine position encoding,
occlusion embedding and bfloat16 rounding of stored memories. Max abs error
3.5e-6 on the memory features, 6e-8 on the position encoding.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-30 08:43:30 +01:00
Kristian MyramandClaude Sonnet 5.5 5aa52c5ba3 S2.14: sam2_bench example and first CPU speedups
Encode 5.0 s -> 3.4 s per 1024x1024 frame in release on 16 threads (fused
softmax, queries scaled before the matmul, flat 2-D linear layers); a click
on an encoded frame is about 120 ms. Reference tests unchanged.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-30 08:43:30 +01:00
Kristian MyramandClaude Sonnet 5.5 8a6ad6f5e9 S2.13: prompt encoder and two-way mask decoder match PyTorch
A click on the synthetic image: mask logits within 1.1e-4 (range 11.6), IoU
head 1e-6, object score 2e-5, prompt embeddings 1e-7.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-30 08:43:30 +01:00
Kristian MyramandClaude Sonnet 5.5 d2291926f0 S2.12: FPN neck and vision encoder match PyTorch
Max abs error 9.7e-6 on the features, 6e-8 on the sine position encodings.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-30 08:43:30 +01:00
Kristian MyramandClaude Sonnet 5.5 92b3a34732 S2.11: Hiera backbone matches PyTorch block by block
Weights loader with shape/finite validation (S2.10), patch embed, bicubic
positional embedding, window/global attention, query pooling. Reference test
(skips without weights): max abs error 2.6e-5 over all 12 blocks.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-30 08:43:30 +01:00
Kristian MyramandClaude Sonnet 5.5 36a22733a2 S2.4: effectcraft-sam2 crate skeleton
Native-only, Apache-2.0, forbid(unsafe_code), panic lints denied, NOTICE,
layer 3. Empty on wasm32.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-30 08:43:30 +01:00
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
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
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
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
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
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
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