Commit graph

1 commit

Author SHA1 Message Date
Kamron Batman
6cae6db360
feat: convert timers to [DeserializeTimer]; drifting timers become anchored
The 8 drifting timers ([TimerDrift]) change wire format from delta to anchored
time, so each class bumps its serialization version with a MigrateFrom that
replays the old delta read through the migration schema. The 2 wall-clock
timers (Aquarium, FountainOfLife) keep their format via wallClock: true with
no bump. Restart methods drop their TimeSpan.MinValue sentinel checks - v4
invokes them only when a timer was actually running at save.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-22 17:46:00 -07:00