effectcraft/docs
bflatastic 9d85d4f116 Viewer: Auto resolution follows the magnification; minified frames are averaged (#417)
Cause: Auto dropped to Half below 75 % magnification, so text between
50 % and 75 % was rendered with fewer pixels than the screen shows and
looked soft. Below 100 % the frame texture was minified with a plain
bilinear sampler and no mip levels (Full at 46 % skipped most frame
pixels), so edges stair-stepped.

Fix:
- Auto renders the pixels the magnification needs, as in After Effects:
  the coarsest whole factor that still gives every screen pixel a
  rendered one (Full above 50 %, Half down to 33.3 %, Third down to
  25 %, Quarter below).
- GPU frames: the display texture carries a full mip chain, each level
  the 2 x 2 mean of the one above (display.wgsl `mip`, same bind group
  layout as `display`), sampled trilinearly with Viewer Zoom Quality
  More Accurate (Faster keeps the nearest pixel of the full-size frame).
- CPU frames (egui-wgpu textures have no mips): uploaded averaged down
  by the whole factor that leaves about one texel per screen pixel, the
  same box average as the texture-limit fit (#201), re-uploaded when the
  magnification calls for another factor; drawn with texture coordinates
  that keep each texel over its pixels when the size isn't a multiple.
  Show Channel / exposure textures follow.

Tests: gpu tests::display_frames_are_mipmapped (level count and level 1
= 2 x 2 means of level 0), viewer_tools
auto_resolution_follows_the_magnification (60 % was Half) and
minified_frames_keep_their_texels_in_place.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 23:17:33 +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 Timeline: property names have the property menu (#407) 2026-10-09 22:52:56 +07:00
architecture.md Viewer: Auto resolution follows the magnification; minified frames are averaged (#417) 2026-10-09 23:17:33 +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: the Snapping menu has After Effects' two options 2026-10-09 21:03:12 +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: Auto resolution follows the magnification; minified frames are averaged (#417) 2026-10-09 23:17:33 +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