## ADDED Requirements ### Requirement: Visual seat editor for table configuration The system SHALL provide a visual table layout showing all seats. The player SHALL be able to click any bot seat and select an archetype and skill level from dropdown controls. The human player's seat SHALL be fixed and non-configurable. #### Scenario: Player assigns bot type to a seat - **WHEN** the player clicks a bot seat and selects "LAG" at "Hard" difficulty - **THEN** that seat displays the LAG archetype label and Hard skill indicator #### Scenario: Human seat cannot be reassigned - **WHEN** the player attempts to change the human player's seat configuration - **THEN** the system prevents the change or grays out the controls ### Requirement: Quick presets for common table compositions The system SHALL provide at least 4 predefined table presets: Fish Table (all Calling Stations, Novice-Beginner), Regular Grind (mix of TAGs and LAGs, Medium-Hard), High Stakes (Ultra/Hard TAGs and LAGs), and Training Mix (one of each type across skill levels). Selecting a preset SHALL populate all bot seats automatically. #### Scenario: Fish Table preset configures easy opponents - **WHEN** the player selects "Fish Table" preset - **THEN** all bot seats are assigned Calling Station or Loose Fish archetypes at Novice-Beginner skill #### Scenario: Training Mix preset provides variety - **WHEN** the player selects "Training Mix" preset - **THEN** each bot seat receives a different archetype at varying skill levels ### Requirement: Global table settings The system SHALL allow configuring global table parameters: blind structure (small/big blind values), starting stack size, number of players (heads-up through 9-max), timer duration, and timer enable/disable. Settings SHALL apply to all seats uniformly. #### Scenario: Player sets custom blinds - **WHEN** the player enters 50/100 for blinds - **THEN** all hands at the table use 50/100 blind structure #### Scenario: Player adjusts player count - **WHEN** the player changes from 6-max to 9-max - **THEN** the table layout updates to show additional seats with unassigned bot slots ### Requirement: Timer configuration per table setup The system SHALL allow the player to configure timer behavior: enable/disable timer, set duration (5-30 seconds), and choose human timer mode (same as bots, no limit, or custom duration). Timer settings SHALL be saved with the table configuration. #### Scenario: Player disables timer - **WHEN** the player sets timer to "Off" - **THEN** bot decisions execute instantly without countdown display #### Scenario: Player sets custom human timer - **WHEN** the player sets human timer to "Custom: 30s" while bot timer is "10s" - **THEN** bots have 10 seconds per decision and the human has 30 seconds per decision