Skip to content

Asset pipeline cleanup: chroma fringe, missing alpha, oversize files, runtime budget #79

Description

@BrandDead

Why

The deterministic asset inventory (docs/graphics-audit/game_asset_inventory_summary.json, regenerate with docs/graphics-audit/analyze_game_assets.py) measured frontend/public/assets at 86 images / ~276 MB with no atlas or compression strategy. Ten assets carry green chroma-key residue — worst offenders: dealer aim (43% green pixels), passenger overlay (42%), enforcer idle (12%). The top-down sedan and several top-down characters are RGB with no alpha, so backgrounds are baked in and they cannot composite as sprites.

Scope

  • De-fringe / re-matte the 10 flagged assets (list in the JSON) or regenerate them on transparent backgrounds
  • Re-cut the top-down sedan and RGB top-down characters (dealer, enforcer) with real alpha
  • Downscale runtime copies to actual display sizes; keep 2K+ sources out of public/
  • Convert runtime images to WebP; target ≤ 20 MB total shipped assets for the block/combat views
  • Add analyze_game_assets.py to CI (or a pre-release checklist) as a regression gate: fail on new no-alpha sprites or >5% green fringe
  • Clean the duplicate _original.png files out of public/assets/generated/

Acceptance

Inventory script reports zero high-fringe assets, all sprites RGBA, total shipped size within budget.

Relates: #77, #78, #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