pdfcraft/docs
Jeremy Yao 8cacb44728
M3: follow Windows' Animation effects setting; add an Animation effects preference (#1235)
* M3: follow Windows' Animation effects setting; Smooth scrolling preference

With Settings > Accessibility > Visual effects > Animation effects turned
off, the wheel still eased: egui spreads a coarse wheel step over about a
quarter of a second, for scrolling and for Ctrl-wheel zooming, and has no
switch for it.

- crates/ui-egui/src/motion.rs reads each frame's wheel input the way egui
  does, minus the easing, and hands it to the scroll areas and the views
  (zoom_delta). A test sums what egui eases and compares it with what is
  read at once, and fails if egui stops easing.
- With the system asking for no animations, egui's own animations take no
  time and the progress card's bar steps without its sweep.
- The desktop app asks WinRT's UISettings.AnimationsEnabled at launch and
  every two seconds of use, so a change applies without a restart.
- Preferences has Smooth scrolling: Use system setting (default), On, Off.
  On or Off decides the wheel's scrolling and zooming, and scrolling to a
  place, whatever the system says. Saved, settable as smooth_scrolling on
  the control channel, translated in all 20 catalogs.

How far a notch scrolls or zooms is unchanged. macOS, Linux and the
browser aren't asked for their setting yet; Off works everywhere.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Credit Jeremy Yao by name in About (contributors/people.toml)

My own entry: real name and display name "Jeremy Yao".

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* M3: rename Smooth scrolling to Animation effects; it decides every animation

The preference also governs Ctrl-wheel zooming, so "Smooth scrolling"
described only part of it. As "Animation effects" (Use system setting, On,
Off) it now decides every animation in the window, the way the Windows
setting of the same name does:

- the wheel's scrolling and zooming, and scrolling to a place (as before);
- egui's own animations, the progress card's sweep, and the chrome's hover
  and press washes (new on main, with durations of their own), which used
  to follow the system alone or not at all.

Saved and set on the control channel as animation_effects (system, on,
off); the unreleased smooth_scrolling name is gone. The three labels are
retranslated in all 20 catalogs.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Tests: the app's two real-GPU tests take turns (FreeBSD SIGSEGV)

FreeBSD CI died with SIGSEGV in the pdfcraft binary's tests on this branch
(d4b928f1). The log shows a_gpu_error_while_a_window_is_set_up... (started
first, still running) and pipeline_creation_error... (started shortly
before) both in flight when the process died: two test threads inside the
graphics libraries at once. Nothing else still running was native code.

Both now take one lock for the whole test, as the UI tests already do for
the same reason (crates/ui-egui/tests/view.rs). Each takes about two
seconds with a device, which is why they can overlap.

The FreeBSD job has been failing at the same step with the same exit code
on main (84a75eae, 4a1e205f, 3d2bdfe7: every completed run since #1042
added the second real-GPU test) and on unrelated PRs. Their logs weren't
available to confirm it is the same crash.

Not reproduced locally (no FreeBSD machine here); the next FreeBSD run is
the check.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Brandon Thomas <echelon@gmail.com>
2026-10-12 02:46:40 -04:00
..
brand Rename PrintCraft to PdfCraft (#174) 2026-10-07 16:03:57 -04:00
images Rename PrintCraft to PdfCraft (#174) 2026-10-07 16:03:57 -04:00
architecture.md Raise workspace rust-version to 1.95 to match the UI crate (#1169) (#1188) 2026-10-11 18:30:25 -04:00
contributors.md Restore #196, #202, #203 and the macOS release-runner change, reverted by the i18n chain (#229) 2026-10-08 03:33:35 -04:00
development.md Raise workspace rust-version to 1.95 to match the UI crate (#1169) (#1188) 2026-10-11 18:30:25 -04:00
editing-existing-text.md Preserve source fonts in text editing and resize clipped artwork (#1116) 2026-10-11 20:27:55 -04:00
editing-images.md M7: transform private image crops across nested states and streams (#1269) 2026-10-12 01:38:32 -04:00
editing-multiple-objects.md M7: select and move mixed PDF objects together (#844) (#907) 2026-10-10 17:38:34 -04:00
file-format-parity.md M10: Presentation (.pptx) export (#1137) (#1162) 2026-10-11 21:55:25 -04:00
gaps.md M10: print from the web build through the browser's print dialog (gap 4) (#1243) 2026-10-12 02:31:36 -04:00
hardware-parity.md M10: print from the web build through the browser's print dialog (gap 4) (#1243) 2026-10-12 02:31:36 -04:00
localization-parity.md Progress docs: target-app parity, gaps, alpha gate, readiness by audience (#873) 2026-10-10 14:23:28 -04:00
localization.md M7: Hebrew in Edit text (reading order, writing order, Hebrew glyphs) (#521) 2026-10-11 17:41:06 -04:00
mcp.md CLI: reject malformed --root options before dispatch (#1048) 2026-10-11 12:12:23 -04:00
pdf-spec-parity.md M7: open local GoToR PDF links natively (#1265) 2026-10-12 02:34:19 -04:00
releasing.md M14: "Edit with PdfCraft" on the File Explorer menu of PDF files (#682) (#1180) 2026-10-11 18:35:02 -04:00
roadmap.md M3: follow Windows' Animation effects setting; add an Animation effects preference (#1235) 2026-10-12 02:46:40 -04:00
target-app-parity.md M10: print from the web build through the browser's print dialog (gap 4) (#1243) 2026-10-12 02:31:36 -04:00
ui-parity.md Docs: sync the progress docs with issues closed on 2026-10-10 (#1064) 2026-10-11 13:14:48 -04:00
windows-renderer-startup.md Return renderer initialization errors to the OpenGL startup fallback (#1042) 2026-10-11 12:05:45 -04:00