Unified fight vocabulary and TestFlight prep
2026-04-22
Yesterday's tuning pass covered the hero roster and eight enemies; today's pass mops up the rest. Djinn, Strider, Ghoul, White Woman, and Fire Elemental are all tuned now, which means every enemy we currently ship has dedicated art. Only Grey, Dart, and Olija are still routing through Lamia, and that's a content gap rather than a system gap.
Also unified the naming across all the fight layers. Field sprites used committed / injured / dead, the banner playout used damage — everything has been renamed to a single shared vocabulary: idle, attack, hit, ko. Same word means the same pose whether you're looking at the grid or the comic banner, which makes adding new characters a lot less confusing.
The iOS build is wired up for TestFlight. Bundle identifier, EAS build profiles for development, preview, and production, and an auto-incrementing build number are all in place, pointing at the Railway API deployment. Version 0.1.0 — the first alpha meant for external eyes on an actual device.
Did a dedup pass on the shared layer while I was in there: six pose tables and seven resolvers collapsed into one registry, a ComicPopupHeader and FullScreenBlackoutOverlay extracted so the same chrome is reused across popups, and a shared toSlug utility replaced scattered copies. Less code, fewer places to forget to update.