aiongg
4a5562c35b
refactor(engine): move layer commands to cmd/layer/*.rs
2026-10-26 21:49:11 +00:00
aiongg
770e30d3ed
refactor(engine): move settings model, page types and schema to settings/prefs/*.rs
2026-10-26 21:49:11 +00:00
aiongg
bba3291b24
refactor(engine): move Session methods to session/{dispatch,edit,comps,render}.rs
2026-10-26 21:49:11 +00:00
aiongg
2b4fcdd3db
refactor(engine): move error, services, document state, event, fonts and Session methods out of lib.rs
2026-10-26 21:49:11 +00:00
aiongg
d76cfc7c45
refactor(engine): move cmd.rs helpers to cmd/{schema,enabled,params}.rs
2026-10-26 21:49:11 +00:00
aiongg
eea1f50cd3
refactor(engine): move guard, logging, perf, sysinfo, storage to system/
2026-10-26 21:49:11 +00:00
aiongg
a7660a1e37
refactor(engine): move jobs, offload, remote to background/
2026-10-26 21:49:11 +00:00
aiongg
85e26db57d
refactor(engine): move learn, templates, demo, links to home/
2026-10-26 21:49:11 +00:00
aiongg
1c565ba2df
refactor(engine): move psd_import, vector, xml_project to interchange/
2026-10-26 21:49:11 +00:00
aiongg
d6b53650db
refactor(engine): move doc_path, footage_check, footage_reload, sequence, media_browser, media_cache to footage/
2026-10-26 21:49:11 +00:00
aiongg
9991466ff1
refactor(engine): move prefs, session_settings, config, shortcuts, autosave to settings/
2026-10-26 21:49:11 +00:00
aiongg
3b5e19027e
refactor(engine): move tracking, camera_track, mask_track, warp, roto, models to analysis/
2026-10-26 21:49:11 +00:00
aiongg
35e66b17a6
refactor(engine): move tests_<topic>.rs files to src/tests/, tests.rs content to tests/session.rs
2026-10-26 21:49:11 +00:00
aiongg
48afb082d5
refactor(engine): move src/remote.rs tests to src/remote/tests.rs
2026-10-26 21:49:11 +00:00
aiongg
fd2c828670
refactor(engine): move src/offload.rs tests to src/offload/tests.rs
2026-10-26 21:49:11 +00:00
aiongg
a3ea645fc6
refactor(engine): move commands/ to cmd/, keeping commands as an alias
2026-10-26 21:49:10 +00:00
aiongg
887af7f2c6
refactor(engine): move src/commands/mod.rs to src/commands.rs
2026-10-26 21:49:10 +00:00
Dylan M. Taylor
c618429252
Sonar: reduce cognitive complexity in footage reload, edit delete and text layout
2026-10-26 16:01:49 -04:00
skylar taylor-barrick
69b9ce2bd1
M0.37: reconcile shared docking and qualify migration follow-up
2026-10-26 06:47:07 +01:00
skylartaylor
f842a58a4f
M14: clarify text selection and footage playback contracts
2026-10-25 22:25:40 +01:00
Dylan M. Taylor
e821feeec4
Merge pull request #2274 from storytold/sonar/rust-s4325-s1612
...
sonar: method paths instead of closures (rust:S1612)
2026-10-25 16:36:06 -04:00
skylar taylor-barrick
47bf08a15e
M-egui037: document migration behavior and guard atomic batch rollback
2026-10-25 19:56:09 +01:00
Dylan M. Taylor
e88feff569
engine.batch: drop the events a rolled-back atomic batch queued
...
A failing atomic batch restored the project, history and state but left the
events its steps had already published, so the UI could open the comp the
rollback had just undone. Snapshot the event count with the other snapshots and
truncate before the rollback bumps.
🤖 Generated with Codebuff
Co-Authored-By: Codebuff <noreply@codebuff.com >
2026-10-25 13:14:28 -04:00
skylar taylor-barrick
dec327b98a
egui037: Preserve text ownership across unrelated history changes
2026-10-25 13:03:14 +01:00
skylar taylor-barrick
18206c1014
Fix text ownership after composition removal and simplify playback helpers
2026-10-25 11:40:05 +01:00
skylar taylor-barrick
57220d4d6a
Fix egui 0.37 text ownership and simplify UI lifecycle handlers
2026-10-25 10:18:26 +01:00
skylartaylor
9ee853715d
M0.37: migrate EffectCraft to egui 0.37
...
Reconcile main 991904888a and preserve the reviewed lifecycle, IME, rendering and lockfile changes.
Formatting, strict lint, layers, assets and WASM passed. Full CI retained 3,961 passes, 14 baseline-matching GPU failures and 31 ignored executions. The local review commit has explicit approval to retain these documented failures; native/browser acceptance and paired app performance remain open.
2026-10-25 02:01:16 +01:00
Dylan M. Taylor and Claude Sonnet 5.5
4e9fa51f12
sonar: method paths instead of closures (rust:S1612)
...
Poison recovery, OsStr::to_str and char predicates only; S4325 casts are
f64 to f32 and stay.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-24 08:17:16 +00:00
aiongg
9a9574baaa
Merge #2016 : Settings: list the languages alphabetically by their own name (@nikolainyegaard)
2026-10-24 02:12:11 +00:00
aiongg
0db7ddb089
Merge #2228 : End an open text edit when Deselect All runs ( #2096 ) (@ChristopherLinnett)
2026-10-24 02:10:16 +00:00
aiongg
ad2f3a5e96
Merge #2184 : Reload a numbered still as its own file ( #2074 ) (@HEOJUNFO)
2026-10-24 01:12:00 +00:00
aiongg
34e2facd54
Merge #2177 : engine: deleting a layer clears the references to it ( #2153 ) (@Anubhav-Rai)
2026-10-24 01:11:56 +00:00
aiongg
cce71f69fc
Merge #1946 : #1926 : an edit no longer stamps every image-sequence frame for the disk cache (@ded-achtung)
2026-10-24 01:10:55 +00:00
aiongg
46302da794
Merge #2178 : Reject malformed thumbnail text without crashing ( #2135 ) (@Maokus)
2026-10-24 01:10:42 +00:00
aiongg
b6c1cff444
Merge #1833 : Tests: serialise disk-cache-opening tests with the roto tests (@iannitram)
2026-10-24 00:13:55 +00:00
aiongg
d664e403ae
Merge #2185 : Project Settings: Frame Count, Start at 0 or Start at 1 (@marcoarnulfo)
2026-10-24 00:13:55 +00:00
Christopher Linnett
a661f2ed60
Merge main into fix/issue-2096-deselect-during-text-edit
...
main moved crates/ui-egui/tests/ui_text_edit.rs to tests/it/ (one test binary per crate); this branch's test changes follow the move.
2026-10-24 07:59:29 +08:00
aiongg
ac5fc076df
Merge #2050 : 3D: add a New 3D Primitive dialog to Layer > New (@tylerjenningsw)
2026-10-23 23:33:19 +00:00
aiongg
bae27ebbe7
Merge #1841 : Cryptomatte: pick the ID under a point into the Selection (effect.pickCryptomatte) (@MatejKozlovsky)
2026-10-23 23:33:10 +00:00
aiongg
b7f8eb9019
Merge #2106 : engine: a keyframe on the out point no longer warns ( #2084 ) (@gmrmad1)
2026-10-23 23:21:33 +00:00
aiongg
4db5e01f69
Merge #2108 : engine: resolve effect match-name paths in prop_ref ( #2064 ) (@gmrmad1)
2026-10-23 23:21:33 +00:00
aiongg
fefe4b8a91
Merge #1843 : i18n: Georgian (ka) interface language (@devius)
2026-10-23 21:45:52 +00:00
aiongg
295d104e19
Merge #1699 : Preview: replaced browser media gets a new disk-cache key ( #1253 ) (@vbasky)
2026-10-23 21:36:58 +00:00
aiongg
ce73d42c42
Merge #1929 : Layer: replace a layer's source with Alt-drag and Ctrl+Alt+/ ( #991 ) (@ki2pixel)
2026-10-23 21:26:51 +00:00
aiongg
d0675be78b
Merge #1850 : Timeline: layer switches, labels and modes act on the whole selection ( #1849 ) (@ki2pixel)
2026-10-23 21:26:33 +00:00
aiongg
52a0c6626d
Merge #1931 : Layer: Reveal Layer Source in Project from the context menus ( #1809 ) (@ki2pixel)
2026-10-23 21:26:24 +00:00
aiongg
95c4dc6a28
Merge #2114 : engine: split layers above the original by default ( #2083 ) (@gmrmad1)
2026-10-23 21:26:10 +00:00
aiongg
7e49932caf
GPU tests: pass on Mesa lavapipe (boundary flips, skip the Reshape case that crashes it); cargo fmt ( #2239 )
...
* cargo fmt
* GPU tests: llvmpipe on Vulkan gets the boundary-flip allowance; skip the Reshape boundary cases that crash lavapipe (#2238 )
* GPU tests: the llvmpipe boundary-flip allowance is an opt-in of the two tests that need it
2026-10-23 14:16:37 -04:00
aiongg
89b8db7718
Footage, Lottie and models: resolve stored paths with craft-docpath's resolve_absolute ( #1975 )
...
* Footage: use resolve_absolute for stored paths
* Lottie and models: use resolve_absolute for linked files
* CI: release only with git dependencies from storytold
* Use the shared git-sources check and pin checkout in release.yml
* Resolve a model's side files through resolve_absolute; report C:\x as invalid
* CI: parse cargo config, including the legacy .cargo/config, in the git-sources check
2026-10-23 13:02:36 -04:00
aiongg
0173abde8c
CI: dev-profile gate, one test binary per crate, nextest, line tables only ( #2235 )
...
* Dev profile: line tables only for workspace crates, no debug info for dependencies
* xtask ci: dev-profile gate, nextest, tests without examples, wasm --keep-going
* One integration-test binary per crate
* xtask ci: run effectcraft-gpu's shared-device tests in one cargo test process
* xtask ci: run every stage and report all failures
* xtask ci: name the stage type (clippy type_complexity)
* xtask ci: run every test pass and report all failures
* cargo fmt
2026-10-23 12:59:51 -04:00