FocusTown avatar demo

Option A. A Spine-like rig (bones → slots → skin) written in ~300 lines of TypeScript on top of PixiJS v8 (MIT). Bones are pure math; slots are flat sprites in draw order. Animation is procedural: breathing is a sine on the torso bone, blinking toggles the blink slot on a seeded schedule, the page turn rotates arm_r and swaps the prop texture. None of it references a specific drawing, so any part combination and any seat pose plays the same code. Skin, hair and accessory colours are a multiply tint on white-based layers. Facing is a mirrored root matrix.