Skip to content

P0: deck-analysis scaffold + deckStats.ts #459

Description

@Doberjohn

Create the apps/web/src/features/deck/analysis/ module and implement deckStats.ts.

ScopecalculateDeckStats(deck, getCardById) returns: total cards, unique cards, ink distribution, cost curve (0..6+ buckets), type distribution, inkable count, ink count, legality (≥60, ≤4 per unique fullName, ≤2 inks via canShareDeck/getInks) + enumerated legalityErrors.

  • Pure, no React. Handle unknown/rotated cardIds gracefully.

Tests (5–15): legal 60-card deck, under-60, 5th copy, 3rd ink, dual-ink counted as both.

Part of #450 · Deck Builder & Engine Score milestone.

Metadata

Metadata

Assignees

No one assigned

    Labels

    deck-builderDeck builder + advisor + Engine Score initiativefeatureNew feature or functionalitytestingTest coverage and quality

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions