effectcraft/docs
bflatastic 67305fbcd1 Viewer: each composition keeps its Resolution in the project, as in After Effects (#417)
What: the Composition panel's Resolution (Auto, Full, Half, Third, Quarter, Custom) is now a
property of the composition (`Comp::resolution`, moved with its `Resolution` type from the UI
into the project crate) instead of one global viewer setting. Switching to another comp shows
that comp's resolution, switching back shows the first one's again, and saving and reopening the
project keeps them. `view.res.full|half|third|quarter|custom` and the new engine command
`view.res.auto` set it (headless too, with an optional `comp`); `ui.set {viewer: {res}}` sets
the active comp's and `ui.inspect` still reports `ui.viewer.res`; `comp.info` reports
`resolution` and `resolutionFactor`; View ▸ Resolution's check marks come from the engine.

Why: After Effects saves each composition's Resolution with the project (CompItem.resolutionFactor
is a per-comp attribute). As there, changing it marks the project modified but adds no undo step:
undo, redo and History jumps carry the current values over to the restored state. It is not part
of the comp's pixels (`Comp::same_pixels` ignores it and `Comp::pixel_form` normalises it), so
changing it keeps the comp's RAM and disk cache keys. Auto is not written (serde default and
skip_serializing_if), so projects saved before open with Auto and older versions read new files.
The magnification is not saved per comp: Adobe's documentation doesn't say it is.

Tests: project `comp_resolution_is_saved_and_old_projects_load_with_auto`,
`resolution_factors_and_scales`; engine
`each_comp_keeps_its_resolution_outside_the_undo_history_and_in_the_file` (switching comps,
no undo step, undo/redo keep it, save/open round trip, menu check marks, Custom dialog);
ui-egui `each_comp_keeps_its_viewer_resolution` (the viewer popup on comp A, comp B through
`ui.set`, back to A, unchanged frame cache identity, save/open). They don't build before the
change (no `Comp::resolution`, no `view.res.auto` engine command).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 00:57:00 +07:00
..
brand Licensing: standard LICENSE files, NOTICE, ArtCraft brand terms 2026-10-04 10:05:24 -04:00
fidelity G2: improve editing reliability and Windows rendering fidelity 2026-10-06 00:00:31 -05:00
images M0.11: README rewrite with headless screenshots (hero, graph editor, effects, 3D, render queue) 2026-10-01 23:31:40 -04:00
agents.md Viewer: each composition keeps its Resolution in the project, as in After Effects (#417) 2026-10-10 00:57:00 +07:00
architecture.md Viewer: each composition keeps its Resolution in the project, as in After Effects (#417) 2026-10-10 00:57:00 +07:00
contributors.md About: contributor and model credits compiled in (grab bag + table, self-submitted names) (#228) 2026-10-07 21:16:47 -04:00
control-protocol.md Viewer: each composition keeps its Resolution in the project, as in After Effects (#417) 2026-10-10 00:57:00 +07:00
effects.md Merge main into M13.28 worktree 2026-10-04 02:57:55 -04:00
footage.md Import: Interpret Footage has Start Timecode, as in After Effects (#297) 2026-10-09 20:50:39 +07:00
gaps.md Merge pull request #398 from FeiLiuEM/ui-i18n 2026-10-09 10:22:32 -04:00
mcp.md MCP: report render progress and handle cancellation 2026-10-09 00:20:22 -07:00
parity.md Viewer: each composition keeps its Resolution in the project, as in After Effects (#417) 2026-10-10 00:57:00 +07:00
plugins.md Plug-ins: Ease Presets moves out of core into a bundled ScriptUI panel 2026-10-09 21:03:12 +07:00
preferences.md UI: Effect Controls and the Timeline have no parameter row separators, as in After Effects (#402) 2026-10-09 22:13:31 +07:00
releasing.md Release: FreeBSD x86_64, Flatpak x86_64 + aarch64, AppImage zsync updates; README Downloads (#287) 2026-10-08 09:48:00 -04:00
testing.md Effects: the sim golden test accepts macOS 27's libm hash for Mr. Mercury (#232) 2026-10-08 13:36:09 +07:00
web.md Export: a Render Queue job renders every frame on the project's renderer (#414) 2026-10-09 22:26:17 +07:00