Christopher Linnett
eeedd6b540
Text: duplicate during a text edit leaves no effect selected on the original ( #2226 )
...
Duplicate passes over the property selection an open edit kept and copies the edited layer,
but left that selection in place on the original. With the copy selected, the next Duplicate
copied the original's effect, shape item or text animator, and Clear would have removed it.
Ending the edit through Duplicate now clears that property selection along with it.
2026-10-28 00:26:52 +08:00
Christopher Linnett
9928f6181b
Text: duplicate during a text edit copies the layer, not a selected effect ( #2226 )
...
Opening the editor keeps the property selection, so Cmd+D while typing duplicated an
effect, shape item or text animator selected before and left the edit open. An open edit
now comes first, as it does for Clear: Duplicate ends it and copies the edited layer. With
no edit open, selected effects and items keep their precedence, and the command's
description says so.
2026-10-28 00:22:35 +08:00
Christopher Linnett
f7094b619b
Merge origin/main into fix/issue-2226-duplicate-during-text-edit
...
Main moved the engine's topic tests to src/tests/ and commands/ to cmd/. The
engine tests go to tests/text_edit.rs, opening their edit with its editing()
helper; ui_text_edit.rs keeps both sides' tests, this branch's first.
2026-10-28 00:16:44 +08:00
aiongg
bc4b48f67d
fix(ui): dropdown menus grow back after a search with no matches ( #2511 )
...
* fix(ui-egui): craft_ui::ComboBox for every combo box, so open menus grow back (egui#5225)
Repins craft-libs to aiongg/craft-libs 60d60d48 (storytold main with the shared
dropdown) and bans egui::ComboBox in clippy.toml.
* fix(ui-egui): font menu under the font field is a craft_ui combo menu that grows back
The filter row is the menu's header and only the font list scrolls, so a search
that matched nothing grows the menu back when it is cleared.
* chore(deps): craft-libs 4d7b82f7 (dropdown fixes)
* chore(deps): craft-libs 92d392cf (#387 merged)
* chore(xtask): pdf-deps expects craft-libs 92d392cf
2026-10-27 10:27:52 -04:00
aiongg
01c904b041
Merge pull request #2491 from aiongg/layout
...
refactor: shared module layout (craft-contrib#20)
2026-10-26 21:30:46 -04:00
skylar taylor-barrick
cca8ce06f3
Merge pull request #2487 from storytold/fix/nextest-0.9.150
...
ci: require nextest 0.9.150
2026-10-26 17:34:58 -06:00
aiongg
b7b75ed37a
style: cargo fmt on the moved files
2026-10-26 21:54:30 +00:00
aiongg
3e38bd7349
refactor(pdf): split the PostScript interpreter ps.rs into ps/*.rs
2026-10-26 21:49:12 +00:00
aiongg
5cb742591c
refactor(effects): split ocio.rs into ocio/*.rs
2026-10-26 21:49:12 +00:00
aiongg
13fe6e5c03
refactor(effects): split sim.rs into sim/*.rs
2026-10-26 21:49:12 +00:00
aiongg
67ef9ad93c
refactor(effects): split sim2.rs into sim2/*.rs
2026-10-26 21:49:12 +00:00
aiongg
b05467e47f
refactor(effects): split generate3.rs into generate3/*.rs
2026-10-26 21:49:12 +00:00
aiongg
f5f51f8db8
refactor(ui-egui): move viewer frame, geometry, gestures, shapes, tools and view parts to panels/viewer/*.rs
2026-10-26 21:49:12 +00:00
aiongg
9b52c71a71
refactor(ui-egui): move viewer tests to panels/viewer/tests.rs
2026-10-26 21:49:12 +00:00
aiongg
319d2cba3b
refactor(ui-egui): move menu commands, dispatch, entries, shortcuts and the menu bar to menus/*.rs
2026-10-26 21:49:11 +00:00
aiongg
03f5ba581d
refactor(ui-egui): move EffectcraftApp methods to app/*.rs
2026-10-26 21:49:11 +00:00
aiongg
0eea2d67ab
refactor(ui-egui): move app constructors and eframe::App to app.rs, clock and hooks to their own files, screenshot and playback state to state.rs
2026-10-26 21:49:11 +00:00
aiongg
da99df18b4
refactor(ui-egui): move lifecycle_tests to lifecycle_tests.rs
2026-10-26 21:49:11 +00:00
aiongg
e59048107a
refactor(ui-egui): move Effect Controls panel parts to panels/effect_controls/*.rs
2026-10-26 21:49:11 +00:00
aiongg
5c6375c7ea
refactor(psd): move limits, model, parsing and pixel decoding out of lib.rs
2026-10-26 21:49:11 +00:00
aiongg
80453e8673
refactor(psd): move the test counters module to counters.rs
2026-10-26 21:49:11 +00:00
aiongg
55ab7b556c
refactor(project): move settings, comp, layer, footage and item types out of lib.rs
2026-10-26 21:49:11 +00:00
aiongg
cbce15f069
refactor(render): move footage, effect host, accelerators, options, pipeline, layers and frames out of lib.rs
2026-10-26 21:49:11 +00:00
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
3559c9bb3d
docs(gpu): name the moved test module in a comment
2026-10-26 21:49:11 +00:00
aiongg
03c6dfa7a9
refactor(model): move src/fbx_tests.rs to src/fbx/tests.rs
2026-10-26 21:49:11 +00:00
aiongg
140b8d911c
refactor(psd): move tests_<topic>.rs files to src/tests/
2026-10-26 21:49:11 +00:00
aiongg
576f1d1706
refactor(pdf): move loose test files to src/tests/
2026-10-26 21:49:11 +00:00
aiongg
48253ff5e1
refactor(script): move loose test files to src/tests/
2026-10-26 21:49:11 +00:00
aiongg
9526833a62
refactor(render): move loose test files to src/tests/
2026-10-26 21:49:11 +00:00
aiongg
959322dc38
refactor(gpu): move loose test files to src/tests/
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
bcf34a087c
refactor(ui-egui): move src/workspace_state.rs tests to src/workspace_state/tests.rs
2026-10-26 21:49:11 +00:00
aiongg
188e39440a
refactor(ui-egui): move src/pointer_wrap.rs tests to src/pointer_wrap/tests.rs
2026-10-26 21:49:11 +00:00
aiongg
2f26ee2e24
refactor(ui-egui): move src/panels/viewer_text.rs tests to src/panels/viewer_text/tests.rs
2026-10-26 21:49:11 +00:00
aiongg
c4d5c9c499
refactor(ui-egui): move src/panels/timeline.rs tests to src/panels/timeline/tests.rs
2026-10-26 21:49:11 +00:00
aiongg
c43158e859
refactor(ui-egui): move src/menus.rs tests to src/menus/tests.rs
2026-10-26 21:49:11 +00:00
aiongg
10ee0d51ab
refactor(ui-egui): move src/frames.rs tests to src/frames/tests.rs
2026-10-26 21:49:11 +00:00
aiongg
7204aeaa69
refactor(text): move src/layout.rs tests to src/layout/tests.rs
2026-10-26 21:49:11 +00:00