Dustin SnellingsSoftware engineer

Build journal / Engineering note

Every gate was green and the animations were gone

Visible content did not prove an animation existed. A build fix and computed-style checks closed that gap.

All notes

Recorded repair ·

The test proved the content was visible. It did not prove the animation existed.

In an earlier design of this portfolio, scroll animations had a deliberate fallback: content remained fully visible when animation was unavailable. The verification checked that visibility after scrolling. That was useful for readability, but it also passed when the build had dropped the animation itself.

The source and the delivered result

The August 5 repair record documents the CSS minifier combining separate animation and timeline declarations into a shorthand that the tested browsers discarded. It records these source declarations:

animation: rise linear both;
animation-timeline: view();

And this emitted value in that build:

animation: linear both rise view()

The recorded computed styles were animation-name: none and animation-timeline: auto. The content remained readable because its base styles were visible. That made a broken enhancement look like a successful completed animation to the existing test.

Separate readability from animation

The fix selected esbuild for CSS minification and added checks for the computed animation name and timeline on the built page. Those checks ran only in engines that reported support for the feature. The static fallback still needed its own readability checks.

The commit records a reversal check: restoring the previous minifier made the new animation checks fail, and restoring the fix made them pass. The change combined a build-setting fix with a check designed to distinguish the failure from the intended behavior.

The limit of that evidence

An attached animation is one necessary condition. It does not establish that the motion looks good, runs smoothly on every device, or remains comfortable for every visitor. The historical check addressed this specific missing-animation failure. It is not a claim about current browser support or a fresh performance measurement of today’s design.

What changed in my approach

Ask whether a feature’s complete absence would pass its test. For this case, “everything is visible” described both success and failure. Inspecting the property that actually distinguished those states made the check useful.

verso