Tracking test coverage for tests/lua/endpoints/test_gamestate.py → src/lua/utils/gamestate.lua. Living checklist; update as tests land.
Source of truth: src/lua/utils/types.lua (GameState + nested classes), src/lua/utils/enums.lua. Full matrix in tests/lua/endpoints/GAMESTATE_COVERAGE.md.
Tracking test coverage for
tests/lua/endpoints/test_gamestate.py→src/lua/utils/gamestate.lua. Living checklist; update as tests land.Source of truth:
src/lua/utils/types.lua(GameState+ nested classes),src/lua/utils/enums.lua. Full matrix intests/lua/endpoints/GAMESTATE_COVERAGE.md.hands— poker hand levels (entire field missing)Handintypes.lua; extractorextract_hand_info()ingamestate.luaG.GAME.handsinitvendors/balatro/game.lua:2002-2013;level_up_handvendors/balatro/functions/common_events.lua:464add/useendpointsorder,level,chips,mult,played,played_this_round,exampleCard.Modifier×6 (all# TODOstubs) — typeCard.Modifier; extractorextract_card_modifier()seal: Red/Blue/Gold/Purple (Card.Modifier.Seal)edition: e_foil/e_holo/e_polychrome/e_negative (consumables = e_negative only)enhancement: m_bonus/m_mult/m_wild/m_glass/m_steel/m_stone/m_gold/m_luckyeternal/perishable/rental: jokers onlyaddparamsCard.State.debuff—extract_card_state();Blind:debuff_cardvendors/balatro/blind.lua;set {boss:"bl_club|bl_head|bl_window|bl_goad|bl_plant"}Card.State.hidden—bl_house(deterministic first hand),bl_mark,bl_wheel,bl_fishblinds.boss.reroll_available—get_blinds_info(); gateG.FUNCS.reroll_boss_button;v_directors_cut/v_retcon+ moneychallenge—get_gamestate()challenge branch;Challengeenum;start {challenge:"c_omelette_1"}