Description
Replace the catwalk visualization's geometric primitives (colored circles, rectangles, text overlays) with pixel art sprites, transforming the scene from placeholder graphics into a sci-fi factory aesthetic with a midnight blue background.
The catwalk currently renders agents as solid-color Excalibur Circle/Rectangle graphics. This epic introduces AI-generated 32×32 pixel art sprite sheets and a sprite loading pipeline, while keeping the existing actor interfaces and animation state machine from #183.
Key design decisions:
- 2 sprite sheets total: one shared subagent sheet (neutral metallic, role color applied as accent bar) + one unique orchestrator sheet (distinct silhouette)
- Midnight blue background (~
#1a1a2e) replacing near-black, with blue-gray structural elements
- Reuses existing
sprite-definitions.ts frame layout (4×3 grid, 32×32 frames) — animation timings and strategies work unchanged
- AI-generated assets only (PixelLab or similar)
Supersedes #12 (which targeted the FactoryScene SVG-to-PNG swap; FactoryScene is being discarded).
Tasks
Acceptance criteria
Must have
- 2 PNG sprite sheets in
catwalk/sprites/assets/ (subagent + orchestrator), 128×96, 4×3 grid of 32×32 frames, transparent backgrounds
catwalk-sprite-loader.ts loads PNGs via Vite static imports, creates cached Animation objects per state
StationAgentActor renders sprite + colored accent bar instead of Circle + Text
OrchestratorActor renders sprite instead of Rectangle + Text
- Background color updated from
#111111 to midnight blue (~#1a1a2e)
- Animation states (idle, working, celebrating, concerned, resting) render correctly
- All existing tests pass (typecheck, lint, test)
Should have
- Subagent accent color uses existing
ROLE_TYPE_COLORS per role type
- Sprites use neutral metallic palette that reads well against midnight blue
- Orchestrator has visually distinct silhouette from subagents
Nice to have
- Subtle background texture (faint grid or panel lines)
- Soft glow effect behind working machines
- Art style guide doc for future sprite iterations
Out of scope
- Layout compression for multi-catwalk stacking (separate issue)
- Pixel art for artifacts, chutes, gates (follow-up)
- FactoryScene changes (being discarded)
Relationship to other issues
Description
Replace the catwalk visualization's geometric primitives (colored circles, rectangles, text overlays) with pixel art sprites, transforming the scene from placeholder graphics into a sci-fi factory aesthetic with a midnight blue background.
The catwalk currently renders agents as solid-color Excalibur
Circle/Rectanglegraphics. This epic introduces AI-generated 32×32 pixel art sprite sheets and a sprite loading pipeline, while keeping the existing actor interfaces and animation state machine from #183.Key design decisions:
#1a1a2e) replacing near-black, with blue-gray structural elementssprite-definitions.tsframe layout (4×3 grid, 32×32 frames) — animation timings and strategies work unchangedSupersedes #12 (which targeted the FactoryScene SVG-to-PNG swap; FactoryScene is being discarded).
Tasks
catwalk/sprites/sprite-sheet-urls.ts— Vite static asset imports for the 2 PNGscatwalk/sprites/catwalk-sprite-loader.ts— loads PNGs, creates cachedSpriteSheetandAnimationobjects per stateStationAgentActor— replaceCircle+Textwith spriteAnimation+ coloredRectangleaccent barOrchestratorActor— replaceRectangle+Textwith spriteAnimationCatwalkScene— call sprite loader during init; update background to midnight bluedimensions.ts— align sizing constants with 32×32 spritesAcceptance criteria
Must have
catwalk/sprites/assets/(subagent + orchestrator), 128×96, 4×3 grid of 32×32 frames, transparent backgroundscatwalk-sprite-loader.tsloads PNGs via Vite static imports, creates cachedAnimationobjects per stateStationAgentActorrenders sprite + colored accent bar instead ofCircle+TextOrchestratorActorrenders sprite instead ofRectangle+Text#111111to midnight blue (~#1a1a2e)Should have
ROLE_TYPE_COLORSper role typeNice to have
Out of scope
Relationship to other issues
updateConfig()methods from Add animated state transitions to catwalk actors #183 are the hooks that trigger sprite animation switches. Can proceed in parallel.