
handleCardBehavior contains a case "bin" branch for data-location, but no code path ever assigns "bin" to a card. Delete the dead branch, or — if a bin location is actually intended — wire it in and cover it with a test.
Context
handleCardBehavior in src/scripts/card.js switches on cardElement.getAttribute("data-location") and handles deck, hand, opponent-hand, board, and bin. A grep across src/ shows "bin" as a data-location value appears only inside that switch — updateCardArea never sets it, updateCardHoverArea never sets it, createCard initializes the attribute to "deck", and no external caller mutates it. The branch is therefore dead code. Dead branches confuse readers, inflate test-coverage goals, and mislead future implementers. The resolution is either to delete the branch or, if the feature was intended, to add the assignment and a test; the deletion is the low-risk, bounded option and the one this ticket requests.
Affected Files
src/scripts/card.js:193 — unreachable case "bin": inside handleCardBehavior
src/scripts/card.test.js — add a regression test asserting the enumerated locations are exhaustive and bin is not reachable
Requirements

Verification
- ! grep -n 'case "bin"' src/scripts/card.js
- npm test -- card.test.js
- npm run lint
Not In Scope
- Do not design or implement a real discard-pile / bin feature — that is a product decision, not cleanup.
- Do not refactor unrelated branches of
handleCardBehavior.
Evidence
src/scripts/card.js:193 — case "bin": branch exists inside the handleCardBehavior switch
src/scripts/card.js:120-134 — updateCardArea only ever sets data-location to deck, hand, opponent-hand, or board
src/scripts/card.js:12 — createCard initializes data-location to "deck", never "bin"
Arasaka Queue Planning Division.

handleCardBehaviorcontains acase "bin"branch fordata-location, but no code path ever assigns"bin"to a card. Delete the dead branch, or — if a bin location is actually intended — wire it in and cover it with a test.Context
handleCardBehaviorinsrc/scripts/card.jsswitches oncardElement.getAttribute("data-location")and handlesdeck,hand,opponent-hand,board, andbin. A grep acrosssrc/shows"bin"as adata-locationvalue appears only inside that switch —updateCardAreanever sets it,updateCardHoverAreanever sets it,createCardinitializes the attribute to"deck", and no external caller mutates it. The branch is therefore dead code. Dead branches confuse readers, inflate test-coverage goals, and mislead future implementers. The resolution is either to delete the branch or, if the feature was intended, to add the assignment and a test; the deletion is the low-risk, bounded option and the one this ticket requests.Affected Files
src/scripts/card.js:193— unreachablecase "bin":insidehandleCardBehaviorsrc/scripts/card.test.js— add a regression test asserting the enumerated locations are exhaustive andbinis not reachableRequirements
case "bin":block is removed fromhandleCardBehavior.binwithout wiring it is caught.npm testandnpm run lintboth succeed after the change.Verification
Not In Scope
handleCardBehavior.Evidence
src/scripts/card.js:193—case "bin":branch exists inside thehandleCardBehaviorswitchsrc/scripts/card.js:120-134—updateCardAreaonly ever setsdata-locationtodeck,hand,opponent-hand, orboardsrc/scripts/card.js:12—createCardinitializesdata-locationto"deck", never"bin"Arasaka Queue Planning Division.