Skip to content

Wire assetManifest into live renderers — retire gang_members.png sheet and emoji tokens #78

Description

@BrandDead

Why

frontend/src/assets/assetManifest.ts catalogs portraits, full-bodies, top-downs, street states, vehicles, and environments — but zero components import it. Every live renderer (TopDownBlock, StreetBlock, CanvasStreetRenderer/V3) draws units from the legacy 4-frame gang_members.png sheet (5.9 MB rendered as 28px tokens) plus emoji and flat colored cells. This is the single biggest reason expensive art exists but the game looks like placeholders. Broken manifest references were already repaired on claude/street-war-graphics-repo-q3519i.

Scope

  • TopDownBlock: render member tokens from characterAssets[role].topdown (with the repaired manifest), consume block.topdownBgUrl, and stop hardcoding memberName: 'Member' / role: 'dealer' on placement
  • CanvasStreetRendererV3 (now on main via Establish paid MVP readiness foundation #76): standing actors from streetIdle/streetAim/streetHit/streetDowned instead of the legacy sheet; vehicle from vehicleAssets.luxury_sedan_black_001 layers instead of procedural rectangles
  • StreetBlock: actors from manifest full-body/street assets; keep streetBackdropUrl consumption
  • Central preloader keyed off the manifest (no per-component hardcoded URLs)
  • Generate the missing streetIdle assets for dealer, lookout, driver, shooter (only enforcer exists) and a shooter streetAim
  • Delete/deprecate GameSprite's pixelated 4-frame path once no consumer remains

Acceptance

No emoji, no gang_members.png, and no flat-color role circles visible anywhere in block or combat views.

Relates: #77 (visual stack), #45.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions