Commit Graph
3863 Commits
Author SHA1 Message Date
bflatastic 279b0ab4e3 Merge remote-tracking branch 'origin/main' into HEAD 2026-10-30 15:00:43 +07: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 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
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 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
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
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
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 50769d5cb6 Keep main's Japanese rows: drop the 13 #1772 already added (one source string per table) 2026-10-30 12:03:48 +07:00
bflatastic b9abf12a5f Merge remote-tracking branch 'origin/main' into HEAD 2026-10-30 12:02:27 +07:00