0.3.5 RELEASE NOTES
Fizlet 0.3.5
By Chris Cooley ↗ · · CHANGELOG.md ↗
Fixed
- kernel: the root's
IntersectionObserveris disconnected ondestroy()and when the parentsignalaborts, before or afterstart(). Its abort listener was tied to the same signal, so the browser removed it before it could run. - kernel: starting, stopping or destroying engines from inside a hook no longer asks for a second
requestAnimationFrameor skips the next engine's frame, and a restarted engine runs once per frame, not twice. - kernel:
engine.remove(system)inside a hook no longer skips the next system's hooks that frame. - kernel: a hook that throws no longer stops the shared clock for every engine on the page. Only that engine stops (
paused: ["stopped"],start()resumes); the error goes to the newonError(error, engine)option, orconsole.error. - kernel:
destroy()is idempotent and leaves the engine inert:advance,addandstartdo nothing, and a destroy from inside a step runs no more steps that frame.
Changed
- kernel: options are validated at setup.
stepmust be a finite number > 0,seedfinite,maxSteps,eventsand pool caps positive integers (new EventRingandnew Pooltoo); a bad value throws aRangeErrorthat names it. Kernel size 2839 → 3106 bytes gzip (budget 4096).