Jeremy
d0a67ac077
test(installer): cover the compiled folder searches, resolver chains and wizard folder replay
...
The policy check now reads the compiled AppSearch and RegLocator rows for the
remembered-folder properties (registry root, key, value name and type for both
scopes) and runs the DIR, FOLDER, PATH and legacy exe actions in sequence order
against seeded values, so their precedence and the preset-folder guard cannot
regress. It also replays the wizard folder actions in sequence order (a
remembered folder beats the new-install default, a typed folder beats both) and
requires the machine restore action between the scope page and costing.
2026-10-27 21:13:27 +00:00
aiongg
a63b3bc7b8
ci: use storytold/craft-common-actions at the merged installer-policy commit
2026-10-27 20:51:53 +00:00
Jeremy
44061a3b33
fix(installer): check the exact architecture-specific machine folder
...
The pre-signing check matched any folder named Program Files, so it rejected
a valid MSI when Windows resolves Program Files elsewhere, accepted the 64-bit
root for an x86 package and accepted a different app name. Build the expected
folder from the package architecture's resolved root and the policy name.
2026-10-27 19:13:29 +00:00
Jeremy
ca36861bde
fix(installer): resolve the wizard scope and folder correctly
...
Real msiexec runs (per-user and all-users, silent and wizard) found two defects
that the metadata fixtures cannot see:
- "Only for me" published ALLUSERS=2, so FindRelatedProducts treated the run as
per-machine and skipped the existing per-user copy. An interactive upgrade
left two registered products and uninstall left files behind. The page now
leaves ALLUSERS unset for a per-user choice.
- Windows Installer resolves Program Files once, for the context it started in,
so choosing "Everyone" in the wizard installed into the user profile with a
machine-wide registration. The wizard now sets the new-install folder itself
after the choice (Program Files, Program Files (x86) for 32-bit, or the
per-user Programs folder). Silent installs are unchanged.
check-install-policy.ps1 now fails if either regresses.
2026-10-27 15:32:20 +00:00
Jeremy
f7f47233e3
docs(installer): say that silent installs are per-user and when the scope page appears
2026-10-27 12:26:55 +00:00
Jeremy
ed3e3d4bfe
docs(installer): note that the 32-bit all-users folder is Program Files (x86); tidy wording
2026-10-27 12:25:18 +00:00
Jeremy
a41f75b4a7
docs(installer): describe the per-user default install location and scope
2026-10-27 12:09:02 +00:00
Jeremy
28a8f3b08c
fix(installer): harden install-policy checks and packaging-lint workflow
2026-10-27 12:01:03 +00:00
Jeremy
b110afb1ad
fix(installer): address scope and ARM64 review feedback
2026-10-27 12:01:03 +00:00
Jeremy
4d5a56ed1e
feat(installer): default to a per-user ArtCraft folder
2026-10-27 12:01:03 +00: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