Daeseon Yoo
Back to project
·UX retro·4 min

Phase 11 — in-house FX overhaul (Lottie-quality, no external assets)

Phase 11 rebuilds all six arena effects in-house with framer-motion + canvas-confetti + multi-layer SVG (zero external dependency), fixes white-box fighter backgrounds with local AI bg removal + pose-aware sprite transforms, and splits the Attack (POW punch) and Energy Wave (energy-beam) moves into visually disjoint FX.

A three-commit polish pass on the web arena: build effects in-house instead of shipping Lottie clips, clean up the fighter sprites, and make the two attack moves read as different moves.

What

Phase 11 lands the in-house FX overhaul (commit 1c10eb5, subject feat(web): in-house FX overhaul — Lottie-quality without external assets (Phase 11)), then two follow-up fixes Jason flagged from looking at it live: transparent sprite backgrounds + pose-aware transforms (eecbd2a), and a redesign that visually differentiates the Attack and Energy Wave moves (3f12641). All three landed 2026-06-02.

Changes

In-house FX overhaul — 1c10eb5:

Transparent backgrounds + pose-aware transforms — eecbd2a:

Attack vs Energy Wave differentiation — 3f12641:

Why

The trigger was a product call: rather than ship a couple of mismatched, separately-licensed Lottie clips, build all six effects in-house at comparable quality with libraries already in the bundle. That keeps zero external-asset dependency and zero licensing risk while still delivering the "juice."

The two follow-up fixes are both regressions that only showed up once the effects were live. The white sprite box and the double-posed KO frame are exactly the kind of thing that's invisible in code review and obvious on screen. And the Attack/Energy Wave pair were conceptually opposite moves (melee punch vs ranged ki blast) that happened to look the same — both crossing the screen with warm bursts — so they needed disjoint palettes and shapes to read as distinct moves even with the audio off.

Decisions

Notes

Commits