Repository navigation
First release in about two months — new display options plus a batch of stability fixes proven by several weeks of unattended running. Also the first release under GPLv3-or-later (the engine is a derivative of the GPL-licensed jc_reborn; MIT terms on earlier releases should be disregarded).
New
- Display styles — choose Crisp (nearest-neighbour), Soft (linear filtering), or CRT (scanlines, aperture-mask tint, vignette, optional barrel curvature) in the configure sheet; applies live.
- Restart Story button — resets the story arc to day 1, taking effect on the next activation.
Bug fixes
- Settings intermittently reverting — the saver wrote its ByHost plist directly behind cfprefsd, which never re-reads external edits and eventually clobbered them. All persistence now goes through ScreenSaverDefaults/cfprefsd, with a single elected writer for story progress.
- Story day resetting — preference writes were never actually committed to cfprefsd, so each launch read a stale day. Persistence now uses the documented
synchronize()commit path, verified durable across akill -9. - CPU burn from piled-up saver instances — on Tahoe, WallpaperAgent never stops saver views, so leaked instances ran the engine and Metal at up to 100 fps forever (38 views / 13–21% CPU observed). Work is now gated on HID idle time with a stale-view reaper; steady state is ~0.3% CPU.
Also: engine fidelity is now always "Fixed" (Go corrections) — the Raw/Fixed A/B toggle is gone; build script hardened against iCloud-synced checkouts.