Resume Writing Projects
Writing

Exponential Smoothing in Foundry VTT

A stub for the development story behind EZGlide, from exponential smoothing prior art to wrapping Foundry canvas interactions.

This is a stub for the longer EZGlide development story.

EZGlide started because the math was cool. I found Lisyarus’s article on exponential smoothing after Theo Browne’s video tipped me toward it, and the lesson stuck: a small, stable update rule can make motion feel much more intentional without turning the implementation into a physics engine.

The eventual article will walk through the prior art at a high level, then get into the Foundry-specific work. Foundry VTT is an ecosystem where modification is expected, but expected does not mean easy. Canvas interactions already exist. Modules can wrap or patch behavior, but they need to do it carefully. EZGlide had to adapt the smoothing idea around Foundry’s canvas zoom and pan paths, user-scoped settings, simultaneous interaction states, and the practical constraints of using libWrapper around preexisting canvas methods.

The full version will cover what changed between the clean mathematical idea and the shipped module: why exponential smoothing fit, where the interaction model fought back, how the wrapper points were chosen, what conflicts were unavoidable, and how the module stayed small enough to be understandable.

For now, the project page is here: EZGlide.