Skip to content

Instantly share code, notes, and snippets.

@mamtha23
Created November 21, 2025 04:14
Show Gist options
  • Select an option

  • Save mamtha23/488e07759bf2b891b012b9b21094b65a to your computer and use it in GitHub Desktop.

Select an option

Save mamtha23/488e07759bf2b891b012b9b21094b65a to your computer and use it in GitHub Desktop.
This file has been truncated, but you can view the full file.
--------- beginning of main
11-21 09:37:09.567 28473 28500 I Unity : Interacting with tile 0 (Number: 11)
11-21 09:37:09.567 28473 28500 I Unity : Player clicked deck card: Yellow 11
11-21 09:37:09.568 28473 28500 I Unity : SelectDeckCard called. HasUnplacedTile: False, CurrentPlayerTile:
11-21 09:37:09.568 28473 28500 I Unity : Tile 0 number text visibility set to: True (faceDown: False)
11-21 09:37:09.568 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=11, Color=Yellow, NumberText null: False
11-21 09:37:09.568 28473 28500 I Unity : Set tile text to: 11, text active: True
11-21 09:37:09.568 28473 28500 I Unity : Set sprite renderer sprite to: TileGreen for color Yellow (index 0)
11-21 09:37:09.568 28473 28500 I Unity : Tile 0 set to face-up
11-21 09:37:09.568 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=11, Color=Yellow, NumberText null: False
11-21 09:37:09.568 28473 28500 I Unity : Set tile text to: 11, text active: True
11-21 09:37:09.569 28473 28500 I Unity : Set sprite renderer sprite to: TileGreen for color Yellow (index 0)
11-21 09:37:09.569 28473 28500 I Unity : Tile 0 selection set to: True
11-21 09:37:09.569 28473 28500 I Unity : About to set current player tile. Current HasUnplacedTile: False
11-21 09:37:09.569 28473 28500 I Unity : SetCurrentPlayerTile called with tile: Yellow 11, current HasUnplacedTile: False
11-21 09:37:09.569 28473 28500 I Unity : Set current player tile to: Yellow 11 from DrawPile, HasUnplacedTile is now: True
11-21 09:37:09.569 28473 28500 I Unity : Tile drawn: Player 0 drew Yellow 11
11-21 09:37:09.569 28473 28500 I Unity : UpdateDiscardCount called with: 0
11-21 09:37:09.569 28473 28500 I Unity : Set discard count text to: 0
11-21 09:37:09.570 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=True, HasUnplacedTile=True, TestModeAllAI=False
11-21 09:37:09.570 28473 28500 I Unity : UIDiscardDeck interactability set to: True
11-21 09:37:09.570 28473 28500 I Unity : Tile 7: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:37:09.570 28473 28500 I Unity : Tile 7: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:37:09.570 28473 28500 I Unity : Tile 14: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:37:09.570 28473 28500 I Unity : Tile 14: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:37:09.570 28473 28500 I Unity : Player 0 placed tiles interactivity set to: True
11-21 09:37:09.570 28473 28500 I Unity : Interactability updated for player 0
11-21 09:37:09.570 28473 28500 I Unity : Checking replacement: tile 11 replacing 7 at (0,0)
11-21 09:37:09.570 28473 28500 I Unity : Board state - Row 0: [7, 0, 0, 0]
11-21 09:37:09.571 28473 28500 I Unity : Board state - Col 0: [7, 0, 0, 0]
11-21 09:37:09.571 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:09.571 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (0, 1) failed constraints: row=True, col=False
11-21 09:37:09.571 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (0, 2) is VALID
11-21 09:37:09.571 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (0, 3) is VALID
11-21 09:37:09.571 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (1, 0) failed constraints: row=False, col=True
11-21 09:37:09.571 28473 28500 I Unity : Checking replacement: tile 11 replacing 7 at (1,1)
11-21 09:37:09.571 28473 28500 I Unity : Board state - Row 1: [0, 7, 0, 0]
11-21 09:37:09.571 28473 28500 I Unity : Board state - Col 1: [0, 7, 0, 0]
11-21 09:37:09.571 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:09.571 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (1, 2) is VALID
11-21 09:37:09.572 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (1, 3) is VALID
11-21 09:37:09.572 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (2, 0) is VALID
11-21 09:37:09.572 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (2, 1) is VALID
11-21 09:37:09.572 28473 28500 I Unity : Checking replacement: tile 11 replacing 14 at (2,2)
11-21 09:37:09.572 28473 28500 I Unity : Board state - Row 2: [0, 0, 14, 0]
11-21 09:37:09.572 28473 28500 I Unity : Board state - Col 2: [0, 0, 14, 0]
11-21 09:37:09.572 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:09.572 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (2, 3) failed constraints: row=False, col=True
11-21 09:37:09.572 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (3, 0) is VALID
11-21 09:37:09.572 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (3, 1) is VALID
11-21 09:37:09.572 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (3, 2) failed constraints: row=True, col=False
11-21 09:37:09.572 28473 28500 I Unity : Checking replacement: tile 11 replacing 14 at (3,3)
11-21 09:37:09.573 28473 28500 I Unity : Board state - Row 3: [0, 0, 0, 14]
11-21 09:37:09.573 28473 28500 I Unity : Board state - Col 3: [0, 0, 0, 14]
11-21 09:37:09.573 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:09.573 28473 28500 I Unity : Found 12 valid placements for tile Yellow 11
11-21 09:37:09.573 28473 28500 I Unity : Valid placements changed: 12 positions
11-21 09:37:09.573 28473 28500 I Unity : Highlighted 12 valid placements for Player 0
11-21 09:37:09.573 28473 28500 I Unity : After setting current player tile. HasUnplacedTile: True
11-21 09:37:09.573 28473 28500 I Unity : Deck card selected: Yellow 11
11-21 09:37:12.392 28473 28500 I Unity : Interacting with tile 10 (Number: 14)
11-21 09:37:12.392 28473 28500 I Unity : Forwarding placed tile click to parent cell for replacement at (2.00, 2.00)
11-21 09:37:12.392 28473 28500 I Unity : Interacting with grid cell 10 at position (2.00, 2.00)
11-21 09:37:12.392 28473 28500 I Unity : HandleTilePlacement: Attempting to place tile 11 at grid position (2.00, 2.00)
11-21 09:37:12.392 28473 28500 I Unity : HandleTilePlacement: Converted to board coordinates - row=2, col=2
11-21 09:37:12.392 28473 28500 I Unity : Cell at (2.00, 2.00) is occupied by tile 14 - attempting tile replacement
11-21 09:37:12.392 28473 28500 I Unity : Checking replacement: tile 11 replacing 14 at (2,2)
11-21 09:37:12.392 28473 28500 I Unity : Board state - Row 2: [0, 0, 14, 0]
11-21 09:37:12.392 28473 28500 I Unity : Board state - Col 2: [0, 0, 14, 0]
11-21 09:37:12.392 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:12.393 28473 28500 I Unity : Replacing tile 14 at (2, 2) with Yellow 11
11-21 09:37:12.393 28473 28500 I Unity : Discarded tile: Yellow 14 (1 tiles in discard pile)
11-21 09:37:12.393 28473 28500 I Unity : Tile discarded: Player 0 discarded Yellow 14
11-21 09:37:12.393 28473 28500 I Unity : [DISCARD DEBUG] Cached logical discarded tile for player 0: Yellow 14
11-21 09:37:12.393 28473 28500 I Unity : [PlayerBoard] Player 0 removed tile 14 from (2, 2) | Board now: 3/16 filled
11-21 09:37:12.393 28473 28500 I Unity : [PlayerBoard] Player 0 placed tile 11 at (2, 2) | Board now: 4/16 filled
11-21 09:37:12.393 28473 28500 I Unity : Player 0 placed Yellow 11 with replacement at (2, 2)
11-21 09:37:12.393 28473 28500 I Unity : Player 0 Board (4/16 filled):
11-21 09:37:12.393 28473 28500 I Unity : 07 -- -- --
11-21 09:37:12.394 28473 28500 I Unity : -- 07 -- --
11-21 09:37:12.394 28473 28500 I Unity : -- -- 11 --
11-21 09:37:12.394 28473 28500 I Unity : -- -- -- 14
11-21 09:37:12.394 28473 28500 I Unity : Tile placed: Player 0 placed Yellow 11 at (2, 2)
11-21 09:37:12.394 28473 28500 I Unity : Local player replacing tile 14 with 11 at (2, 2)
11-21 09:37:12.394 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=True, HasUnplacedTile=True, TestModeAllAI=False
11-21 09:37:12.394 28473 28500 I Unity : UIDiscardDeck interactability set to: True
11-21 09:37:12.394 28473 28500 I Unity : Tile 7: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:37:12.394 28473 28500 I Unity : Tile 7: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:37:12.395 28473 28500 I Unity : Tile 14: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:37:12.395 28473 28500 I Unity : Tile 14: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:37:12.395 28473 28500 I Unity : Player 0 placed tiles interactivity set to: True
11-21 09:37:12.395 28473 28500 I Unity : Interactability updated for player 0
11-21 09:37:12.395 28473 28500 I Unity : Deck card Yellow 11 was placed, ready for next card
11-21 09:37:12.395 28473 28500 I Unity : Auto-spawning deck card after tile placement (playerIndex: 0)
11-21 09:37:12.395 28473 28500 I Unity : SpawnDeckCard method called
11-21 09:37:12.395 28473 28500 I Unity : All checks passed, attempting to draw tile through GameManager
11-21 09:37:12.395 28473 28500 I Unity : Drew tile: Green 8 (62 tiles remaining)
11-21 09:37:12.395 28473 28500 I Unity : Drew tile for deck card: Green 8
11-21 09:37:12.395 28473 28500 I Unity : UpdateRemainingCount called with: 62
11-21 09:37:12.396 28473 28500 I Unity : Set deck count text to: 62
11-21 09:37:12.397 28473 28500 I Unity : UIGameTile Start: SpriteRenderer=True, NumberText=True
11-21 09:37:12.397 28473 28500 I Unity : SetTileData called with: Green 8, Color enum: 3
11-21 09:37:12.397 28473 28500 I Unity : Updated _originalSprite to: TileYellow for Green
11-21 09:37:12.397 28473 28500 I Unity : Before UpdateVisualRepresentation: _color=Green (enum: 3), GameTileSprites=4
11-21 09:37:12.397 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=8, Color=Green, NumberText null: False
11-21 09:37:12.397 28473 28500 I Unity : Set tile text to: 8, text active: True
11-21 09:37:12.397 28473 28500 I Unity : Set sprite renderer sprite to: TileYellow for color Green (index 3)
11-21 09:37:12.397 28473 28500 I Unity : Tile 0 set to Green 8
11-21 09:37:12.398 28473 28500 I Unity : Tile 0 number text visibility set to: False (faceDown: True)
11-21 09:37:12.398 28473 28500 I Unity : Tile 0 set to face-down
11-21 09:37:12.398 28473 28500 I Unity : Tile 8: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:37:12.398 28473 28500 I Unity : Spawned deck card: Green 8
11-21 09:37:12.398 28473 28500 I Unity : Valid placements changed: 0 positions
11-21 09:37:12.398 28473 28500 I Unity : Highlighted 0 valid placements for Player 0
11-21 09:37:12.398 28473 28500 I Unity : ═══════════════════════════════════════════════════════
11-21 09:37:12.398 28473 28500 I Unity : TURN CHANGE: Player 0 → Player 1
11-21 09:37:12.398 28473 28500 I Unity : Turn #1 | Tiles Remaining: 62 | Discard Pile: 1
11-21 09:37:12.398 28473 28500 I Unity : ═══════════════════════════════════════════════════════
11-21 09:37:12.398 28473 28500 I Unity : Game state changed: Game State: Playing, Turn 1, Player 1, Draw: 62, Discard: 1
11-21 09:37:12.399 28473 28500 I Unity : Updating deck UI with remaining count: 62
11-21 09:37:12.399 28473 28500 I Unity : UpdateRemainingCount called with: 62
11-21 09:37:12.399 28473 28500 I Unity : Set deck count text to: 62
11-21 09:37:12.399 28473 28500 I Unity : Game UI updated
11-21 09:37:12.399 28473 28500 I Unity : Player turn changed to Player 1
11-21 09:37:12.399 28473 28500 I Unity : Player 0 current player status: False
11-21 09:37:12.399 28473 28500 I Unity : Player 1 current player status: True
11-21 09:37:12.399 28473 28500 I Unity : Player 2 current player status: False
11-21 09:37:12.400 28473 28500 I Unity : Player 3 current player status: False
11-21 09:37:12.400 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=False, HasUnplacedTile=False, TestModeAllAI=False
11-21 09:37:12.400 28473 28500 I Unity : UIDiscardDeck interactability set to: False
11-21 09:37:12.400 28473 28500 I Unity : Tile 2: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:12.400 28473 28500 I Unity : Tile 3: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:12.400 28473 28500 I Unity : Tile 11: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:12.400 28473 28500 I Unity : Tile 12: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:12.400 28473 28500 I Unity : Player 1 placed tiles interactivity set to: False
11-21 09:37:12.400 28473 28500 I Unity : Interactability updated for player 1
11-21 09:37:12.400 28473 28500 I Unity : Starting AI turn for Player 1
11-21 09:37:12.400 28473 28500 I Unity : Tile 8: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:12.401 28473 28500 I Unity : ✓ Successfully replaced tile at (2.00, 2.00) with 11
11-21 09:37:12.660 28473 28500 I Unity : Tile 10 animation to (2.00, 1.99, 0.00) complete
11-21 09:37:12.661 28473 28500 I Unity : SetTileData called with: Yellow 14, Color enum: 0
11-21 09:37:12.661 28473 28500 I Unity : Updated _originalSprite to: TileGreen for Yellow
11-21 09:37:12.661 28473 28500 I Unity : Before UpdateVisualRepresentation: _color=Yellow (enum: 0), GameTileSprites=4
11-21 09:37:12.661 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=14, Color=Yellow, NumberText null: False
11-21 09:37:12.661 28473 28500 I Unity : Set tile text to: 14, text active: True
11-21 09:37:12.661 28473 28500 I Unity : Set sprite renderer sprite to: TileGreen for color Yellow (index 0)
11-21 09:37:12.661 28473 28500 I Unity : Tile 10 set to Yellow 14
11-21 09:37:12.662 28473 28500 I Unity : Tile 14: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:37:12.662 28473 28500 I Unity : [UIDiscardDeck] Destroyed collider for discard pile tile 14
11-21 09:37:12.662 28473 28500 I Unity : Tile 14: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:12.662 28473 28500 I Unity : Discard Pile: Tile 14 (index 0) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 3, Text Order: 4
11-21 09:37:12.662 28473 28500 I Unity : UpdateDiscardCount called with: 1
11-21 09:37:12.662 28473 28500 I Unity : Set discard count text to: 1
11-21 09:37:12.662 28473 28500 I Unity : [UIDiscardDeck] Added tile 14 to discard deck (1 total)
11-21 09:37:12.663 28473 28500 I Unity : UpdateDiscardCount called with: 1
11-21 09:37:12.663 28473 28500 I Unity : Set discard count text to: 1
11-21 09:37:12.861 28473 28500 I Unity : Tile 0 animation to (1.05, -5.59, 0.00) complete
11-21 09:37:12.861 28473 28500 I Unity : Tile 10 number text visibility set to: True (faceDown: False)
11-21 09:37:12.862 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=11, Color=Yellow, NumberText null: False
11-21 09:37:12.862 28473 28500 I Unity : Set tile text to: 11, text active: True
11-21 09:37:12.862 28473 28500 I Unity : Set sprite renderer sprite to: TileGreen for color Yellow (index 0)
11-21 09:37:12.862 28473 28500 I Unity : Tile 10 set to face-up
11-21 09:37:12.862 28473 28500 I Unity : Resetting sprite renderer sprite to original: TileGreen for tile Yellow
11-21 09:37:12.862 28473 28500 I Unity : Tile 10 selection set to: False
11-21 09:37:12.862 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=11, Color=Yellow, NumberText null: False
11-21 09:37:12.863 28473 28500 I Unity : Set tile text to: 11, text active: True
11-21 09:37:12.863 28473 28500 I Unity : Set sprite renderer sprite to: TileGreen for color Yellow (index 0)
11-21 09:37:12.863 28473 28500 I Unity : Placed tile 11 on grid cell 10 at (2.00, 2.00)
11-21 09:37:12.863 28473 28500 I Unity : Player 0: Set particle system and all child particle renderers to sorting order 100
11-21 09:37:12.863 28473 28500 I Unity : Player 0: Triggered click particle at (1.05, -5.59, 0.00)
11-21 09:37:12.863 28473 28500 I Unity : Animated deck card placement for Player 0 at (2, 2)
11-21 09:37:12.863 28473 28500 I Unity : SpawnInitialDeckCard called
11-21 09:37:12.864 28473 28500 I Unity : TileManager has 62 tiles remaining, HasTilesRemaining: True
11-21 09:37:12.864 28473 28500 I Unity : All checks passed, calling SpawnDeckCard
11-21 09:37:12.864 28473 28500 I Unity : SpawnDeckCard method called
11-21 09:37:12.864 28473 28500 W Unity : Cannot spawn deck card - one already exists
11-21 09:37:13.397 28473 28500 I Unity : AI Player 1 (DefensiveBlocker) starting turn...
11-21 09:37:14.934 28473 28500 I Unity : Checking replacement: tile 14 replacing 2 at (0,0)
11-21 09:37:14.934 28473 28500 I Unity : Board state - Row 0: [2, 0, 0, 0]
11-21 09:37:14.934 28473 28500 I Unity : Board state - Col 0: [2, 0, 0, 0]
11-21 09:37:14.934 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:14.935 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (0, 1) failed constraints: row=True, col=False
11-21 09:37:14.935 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (0, 2) failed constraints: row=True, col=False
11-21 09:37:14.935 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (0, 3) failed constraints: row=True, col=False
11-21 09:37:14.935 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (1, 0) failed constraints: row=False, col=True
11-21 09:37:14.935 28473 28500 I Unity : Checking replacement: tile 14 replacing 3 at (1,1)
11-21 09:37:14.935 28473 28500 I Unity : Board state - Row 1: [0, 3, 0, 0]
11-21 09:37:14.935 28473 28500 I Unity : Board state - Col 1: [0, 3, 0, 0]
11-21 09:37:14.935 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:14.935 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (1, 2) failed constraints: row=True, col=False
11-21 09:37:14.936 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (1, 3) failed constraints: row=True, col=False
11-21 09:37:14.936 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (2, 0) failed constraints: row=False, col=True
11-21 09:37:14.936 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (2, 1) failed constraints: row=False, col=True
11-21 09:37:14.936 28473 28500 I Unity : Checking replacement: tile 14 replacing 11 at (2,2)
11-21 09:37:14.936 28473 28500 I Unity : Board state - Row 2: [0, 0, 11, 0]
11-21 09:37:14.936 28473 28500 I Unity : Board state - Col 2: [0, 0, 11, 0]
11-21 09:37:14.936 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:14.936 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (2, 3) failed constraints: row=True, col=False
11-21 09:37:14.936 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (3, 0) failed constraints: row=False, col=True
11-21 09:37:14.936 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (3, 1) failed constraints: row=False, col=True
11-21 09:37:14.937 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (3, 2) failed constraints: row=False, col=True
11-21 09:37:14.937 28473 28500 I Unity : Checking replacement: tile 14 replacing 12 at (3,3)
11-21 09:37:14.937 28473 28500 I Unity : Board state - Row 3: [0, 0, 0, 12]
11-21 09:37:14.937 28473 28500 I Unity : Board state - Col 3: [0, 0, 0, 12]
11-21 09:37:14.937 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:14.937 28473 28500 I Unity : AI Player 1 decision: TakeFaceUp - Top discard Yellow 14 has beneficial placement(s): 2 (Score: 0.39)
11-21 09:37:14.937 28473 28500 I Unity : AI Player 1 taking tile 0 from discard pile
11-21 09:37:14.938 28473 28500 I Unity : Took discarded tile: Yellow 14 from index 0
11-21 09:37:14.938 28473 28500 I Unity : Player 1 took discarded tile: Yellow 14 from DiscardPile
11-21 09:37:14.938 28473 28500 I Unity : Tile drawn: Player 1 drew Yellow 14
11-21 09:37:14.939 28473 28500 I Unity : UIGameTile Start: SpriteRenderer=True, NumberText=True
11-21 09:37:14.939 28473 28500 I Unity : SetTileData called with: Yellow 14, Color enum: 0
11-21 09:37:14.940 28473 28500 I Unity : Updated _originalSprite to: TileGreen for Yellow
11-21 09:37:14.940 28473 28500 I Unity : Before UpdateVisualRepresentation: _color=Yellow (enum: 0), GameTileSprites=4
11-21 09:37:14.940 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=14, Color=Yellow, NumberText null: False
11-21 09:37:14.940 28473 28500 I Unity : Set tile text to: 14, text active: True
11-21 09:37:14.940 28473 28500 I Unity : Set sprite renderer sprite to: TileGreen for color Yellow (index 0)
11-21 09:37:14.940 28473 28500 I Unity : Tile 0 set to Yellow 14
11-21 09:37:14.940 28473 28500 I Unity : Tile 0 number text visibility set to: True (faceDown: False)
11-21 09:37:14.940 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=14, Color=Yellow, NumberText null: False
11-21 09:37:14.941 28473 28500 I Unity : Set tile text to: 14, text active: True
11-21 09:37:14.941 28473 28500 I Unity : Set sprite renderer sprite to: TileGreen for color Yellow (index 0)
11-21 09:37:14.941 28473 28500 I Unity : Tile 0 set to face-up
11-21 09:37:14.941 28473 28500 I Unity : Tile 14: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:14.941 28473 28500 I Unity : Created temporary drawn tile Yellow 14 for opponent Player 1
11-21 09:37:14.941 28473 28500 I Unity : UpdateDiscardCount called with: 0
11-21 09:37:14.941 28473 28500 I Unity : Set discard count text to: 0
11-21 09:37:14.941 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=False, HasUnplacedTile=True, TestModeAllAI=False
11-21 09:37:14.942 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:37:14.942 28473 28500 I Unity : UIDiscardDeck interactability set to: False
11-21 09:37:14.942 28473 28500 I Unity : Tile 2: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:14.942 28473 28500 I Unity : Tile 3: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:14.942 28473 28500 I Unity : Tile 11: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:14.942 28473 28500 I Unity : Tile 12: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:14.942 28473 28500 I Unity : Player 1 placed tiles interactivity set to: False
11-21 09:37:14.942 28473 28500 I Unity : Interactability updated for player 1
11-21 09:37:14.942 28473 28500 I Unity : Checking replacement: tile 14 replacing 2 at (0,0)
11-21 09:37:14.942 28473 28500 I Unity : Board state - Row 0: [2, 0, 0, 0]
11-21 09:37:14.943 28473 28500 I Unity : Board state - Col 0: [2, 0, 0, 0]
11-21 09:37:14.943 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:14.943 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (0, 1) failed constraints: row=True, col=False
11-21 09:37:14.943 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (0, 2) failed constraints: row=True, col=False
11-21 09:37:14.943 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (0, 3) failed constraints: row=True, col=False
11-21 09:37:14.943 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (1, 0) failed constraints: row=False, col=True
11-21 09:37:14.943 28473 28500 I Unity : Checking replacement: tile 14 replacing 3 at (1,1)
11-21 09:37:14.943 28473 28500 I Unity : Board state - Row 1: [0, 3, 0, 0]
11-21 09:37:14.943 28473 28500 I Unity : Board state - Col 1: [0, 3, 0, 0]
11-21 09:37:14.943 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:14.944 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (1, 2) failed constraints: row=True, col=False
11-21 09:37:14.944 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (1, 3) failed constraints: row=True, col=False
11-21 09:37:14.944 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (2, 0) failed constraints: row=False, col=True
11-21 09:37:14.944 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (2, 1) failed constraints: row=False, col=True
11-21 09:37:14.944 28473 28500 I Unity : Checking replacement: tile 14 replacing 11 at (2,2)
11-21 09:37:14.944 28473 28500 I Unity : Board state - Row 2: [0, 0, 11, 0]
11-21 09:37:14.944 28473 28500 I Unity : Board state - Col 2: [0, 0, 11, 0]
11-21 09:37:14.944 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:14.944 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (2, 3) failed constraints: row=True, col=False
11-21 09:37:14.944 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (3, 0) failed constraints: row=False, col=True
11-21 09:37:14.945 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (3, 1) failed constraints: row=False, col=True
11-21 09:37:14.945 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (3, 2) failed constraints: row=False, col=True
11-21 09:37:14.945 28473 28500 I Unity : Checking replacement: tile 14 replacing 12 at (3,3)
11-21 09:37:14.945 28473 28500 I Unity : Board state - Row 3: [0, 0, 0, 12]
11-21 09:37:14.945 28473 28500 I Unity : Board state - Col 3: [0, 0, 0, 12]
11-21 09:37:14.945 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:14.945 28473 28500 I Unity : Found 4 valid placements for tile Yellow 14
11-21 09:37:14.945 28473 28500 I Unity : Valid placements changed: 4 positions
11-21 09:37:14.946 28473 28500 I Unity : Highlighted 4 valid placements for Player 1
11-21 09:37:14.946 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (0, 0) already occupied by 2
11-21 09:37:14.946 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (0, 1) failed constraints: row=True, col=False
11-21 09:37:14.946 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (0, 2) failed constraints: row=True, col=False
11-21 09:37:14.946 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (0, 3) failed constraints: row=True, col=False
11-21 09:37:14.946 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (1, 0) failed constraints: row=False, col=True
11-21 09:37:14.946 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (1, 1) already occupied by 3
11-21 09:37:14.946 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (1, 2) failed constraints: row=True, col=False
11-21 09:37:14.946 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (1, 3) failed constraints: row=True, col=False
11-21 09:37:14.947 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (2, 0) failed constraints: row=False, col=True
11-21 09:37:14.947 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (2, 1) failed constraints: row=False, col=True
11-21 09:37:14.947 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (2, 2) already occupied by 11
11-21 09:37:14.947 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (2, 3) failed constraints: row=True, col=False
11-21 09:37:14.947 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (3, 0) failed constraints: row=False, col=True
11-21 09:37:14.947 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (3, 1) failed constraints: row=False, col=True
11-21 09:37:14.947 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (3, 2) failed constraints: row=False, col=True
11-21 09:37:14.947 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (3, 3) already occupied by 12
11-21 09:37:14.947 28473 28500 I Unity : Checking replacement: tile 14 replacing 2 at (0,0)
11-21 09:37:14.948 28473 28500 I Unity : Board state - Row 0: [2, 0, 0, 0]
11-21 09:37:14.948 28473 28500 I Unity : Board state - Col 0: [2, 0, 0, 0]
11-21 09:37:14.948 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:14.948 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (0, 1) failed constraints: row=True, col=False
11-21 09:37:14.948 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (0, 2) failed constraints: row=True, col=False
11-21 09:37:14.948 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (0, 3) failed constraints: row=True, col=False
11-21 09:37:14.948 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (1, 0) failed constraints: row=False, col=True
11-21 09:37:14.948 28473 28500 I Unity : Checking replacement: tile 14 replacing 3 at (1,1)
11-21 09:37:14.948 28473 28500 I Unity : Board state - Row 1: [0, 3, 0, 0]
11-21 09:37:14.948 28473 28500 I Unity : Board state - Col 1: [0, 3, 0, 0]
11-21 09:37:14.948 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:14.949 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (1, 2) failed constraints: row=True, col=False
11-21 09:37:14.949 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (1, 3) failed constraints: row=True, col=False
11-21 09:37:14.949 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (2, 0) failed constraints: row=False, col=True
11-21 09:37:14.949 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (2, 1) failed constraints: row=False, col=True
11-21 09:37:14.949 28473 28500 I Unity : Checking replacement: tile 14 replacing 11 at (2,2)
11-21 09:37:14.949 28473 28500 I Unity : Board state - Row 2: [0, 0, 11, 0]
11-21 09:37:14.949 28473 28500 I Unity : Board state - Col 2: [0, 0, 11, 0]
11-21 09:37:14.949 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:14.949 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (2, 3) failed constraints: row=True, col=False
11-21 09:37:14.950 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (3, 0) failed constraints: row=False, col=True
11-21 09:37:14.950 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (3, 1) failed constraints: row=False, col=True
11-21 09:37:14.950 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (3, 2) failed constraints: row=False, col=True
11-21 09:37:14.950 28473 28500 I Unity : Checking replacement: tile 14 replacing 12 at (3,3)
11-21 09:37:14.950 28473 28500 I Unity : Board state - Row 3: [0, 0, 0, 12]
11-21 09:37:14.950 28473 28500 I Unity : Board state - Col 3: [0, 0, 0, 12]
11-21 09:37:14.950 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:14.950 28473 28500 I Unity : AI Player 1 replacement decision: Replacement chosen (no beneficial empty) | pot=0.39, policy=-0.11
11-21 09:37:14.951 28473 28500 I Unity : AI Player 1 replacing tile at (2, 2)
11-21 09:37:14.951 28473 28500 I Unity : Checking replacement: tile 14 replacing 11 at (2,2)
11-21 09:37:14.951 28473 28500 I Unity : Board state - Row 2: [0, 0, 11, 0]
11-21 09:37:14.951 28473 28500 I Unity : Board state - Col 2: [0, 0, 11, 0]
11-21 09:37:14.951 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:14.951 28473 28500 I Unity : Replacing tile 11 at (2, 2) with Yellow 14
11-21 09:37:14.951 28473 28500 I Unity : Discarded tile: Red 11 (1 tiles in discard pile)
11-21 09:37:14.951 28473 28500 I Unity : Tile discarded: Player 1 discarded Red 11
11-21 09:37:14.952 28473 28500 I Unity : [DISCARD DEBUG] Cached logical discarded tile for player 1: Red 11
11-21 09:37:14.952 28473 28500 I Unity : [PlayerBoard] Player 1 removed tile 11 from (2, 2) | Board now: 3/16 filled
11-21 09:37:14.952 28473 28500 I Unity : [PlayerBoard] Player 1 placed tile 14 at (2, 2) | Board now: 4/16 filled
11-21 09:37:14.952 28473 28500 I Unity : Player 1 placed Yellow 14 with replacement at (2, 2)
11-21 09:37:14.952 28473 28500 I Unity : Player 1 Board (4/16 filled):
11-21 09:37:14.952 28473 28500 I Unity : 02 -- -- --
11-21 09:37:14.952 28473 28500 I Unity : -- 03 -- --
11-21 09:37:14.952 28473 28500 I Unity : -- -- 14 --
11-21 09:37:14.952 28473 28500 I Unity : -- -- -- 12
11-21 09:37:14.953 28473 28500 I Unity : Tile placed: Player 1 placed Yellow 14 at (2, 2)
11-21 09:37:14.953 28473 28500 I Unity : Opponent replacing tile 11 with 14 at (2, 2)
11-21 09:37:14.953 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=False, HasUnplacedTile=True, TestModeAllAI=False
11-21 09:37:14.953 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:37:14.953 28473 28500 I Unity : UIDiscardDeck interactability set to: False
11-21 09:37:14.953 28473 28500 I Unity : Tile 2: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:14.953 28473 28500 I Unity : Tile 3: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:14.954 28473 28500 I Unity : Tile 11: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:14.954 28473 28500 I Unity : Tile 12: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:14.954 28473 28500 I Unity : Player 1 placed tiles interactivity set to: False
11-21 09:37:14.954 28473 28500 I Unity : Interactability updated for player 1
11-21 09:37:14.954 28473 28500 I Unity : Valid placements changed: 0 positions
11-21 09:37:14.954 28473 28500 I Unity : Highlighted 0 valid placements for Player 1
11-21 09:37:14.954 28473 28500 I Unity : ═══════════════════════════════════════════════════════
11-21 09:37:14.954 28473 28500 I Unity : TURN CHANGE: Player 1 → Player 2
11-21 09:37:14.954 28473 28500 I Unity : Turn #1 | Tiles Remaining: 62 | Discard Pile: 1
11-21 09:37:14.954 28473 28500 I Unity : ═══════════════════════════════════════════════════════
11-21 09:37:14.955 28473 28500 I Unity : Game state changed: Game State: Playing, Turn 1, Player 2, Draw: 62, Discard: 1
11-21 09:37:14.955 28473 28500 I Unity : Updating deck UI with remaining count: 62
11-21 09:37:14.955 28473 28500 I Unity : UpdateRemainingCount called with: 62
11-21 09:37:14.955 28473 28500 I Unity : Set deck count text to: 62
11-21 09:37:14.955 28473 28500 I Unity : Game UI updated
11-21 09:37:14.955 28473 28500 I Unity : Player turn changed to Player 2
11-21 09:37:14.955 28473 28500 I Unity : Player 0 current player status: False
11-21 09:37:14.955 28473 28500 I Unity : Player 1 current player status: False
11-21 09:37:14.956 28473 28500 I Unity : Player 2 current player status: True
11-21 09:37:14.956 28473 28500 I Unity : Player 3 current player status: False
11-21 09:37:14.956 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=False, HasUnplacedTile=False, TestModeAllAI=False
11-21 09:37:14.956 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:37:14.956 28473 28500 I Unity : UIDiscardDeck interactability set to: False
11-21 09:37:14.956 28473 28500 I Unity : Tile 13: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:14.956 28473 28500 I Unity : Tile 15: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:14.957 28473 28500 I Unity : Tile 20: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:14.957 28473 28500 I Unity : Tile 20: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:14.957 28473 28500 I Unity : Player 2 placed tiles interactivity set to: False
11-21 09:37:14.957 28473 28500 I Unity : Interactability updated for player 2
11-21 09:37:14.957 28473 28500 I Unity : Starting AI turn for Player 2
11-21 09:37:14.957 28473 28500 I Unity : Tile 8: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:15.235 28473 28500 I Unity : Tile 10 animation to (2.00, 1.99, 0.00) complete
11-21 09:37:15.235 28473 28500 I Unity : SetTileData called with: Red 11, Color enum: 1
11-21 09:37:15.235 28473 28500 I Unity : Updated _originalSprite to: TilePurple for Red
11-21 09:37:15.235 28473 28500 I Unity : Before UpdateVisualRepresentation: _color=Red (enum: 1), GameTileSprites=4
11-21 09:37:15.235 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=11, Color=Red, NumberText null: False
11-21 09:37:15.236 28473 28500 I Unity : Set tile text to: 11, text active: True
11-21 09:37:15.236 28473 28500 I Unity : Set sprite renderer sprite to: TilePurple for color Red (index 1)
11-21 09:37:15.236 28473 28500 I Unity : Tile 10 set to Red 11
11-21 09:37:15.236 28473 28500 I Unity : Tile 11: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:37:15.236 28473 28500 I Unity : [UIDiscardDeck] Destroyed collider for discard pile tile 11
11-21 09:37:15.236 28473 28500 I Unity : Tile 11: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:15.237 28473 28500 I Unity : Discard Pile: Tile 14 (index 0) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 3, Text Order: 4
11-21 09:37:15.237 28473 28500 I Unity : Discard Pile: Tile 11 (index 1) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 5, Text Order: 6
11-21 09:37:15.237 28473 28500 I Unity : UpdateDiscardCount called with: 1
11-21 09:37:15.237 28473 28500 I Unity : Set discard count text to: 1
11-21 09:37:15.237 28473 28500 I Unity : [UIDiscardDeck] Added tile 11 to discard deck (2 total)
11-21 09:37:15.237 28473 28500 I Unity : UpdateDiscardCount called with: 1
11-21 09:37:15.237 28473 28500 I Unity : Set discard count text to: 1
11-21 09:37:15.434 28473 28500 I Unity : Tile 0 animation to (-4.48, 6.27, 0.00) complete
11-21 09:37:15.434 28473 28500 I Unity : Tile 10 number text visibility set to: True (faceDown: False)
11-21 09:37:15.435 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=14, Color=Yellow, NumberText null: False
11-21 09:37:15.435 28473 28500 I Unity : Set tile text to: 14, text active: True
11-21 09:37:15.435 28473 28500 I Unity : Set sprite renderer sprite to: TileGreen for color Yellow (index 0)
11-21 09:37:15.435 28473 28500 I Unity : Tile 10 set to face-up
11-21 09:37:15.435 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=14, Color=Yellow, NumberText null: False
11-21 09:37:15.435 28473 28500 I Unity : Set tile text to: 14, text active: True
11-21 09:37:15.435 28473 28500 I Unity : Set sprite renderer sprite to: TileGreen for color Yellow (index 0)
11-21 09:37:15.436 28473 28500 I Unity : Placed tile 14 on grid cell 10 at (2.00, 2.00)
11-21 09:37:15.436 28473 28500 I Unity : Animated opponent tile placement for Player 1 at (2, 2) (board scale: (0.50, 0.50, 1.00))
11-21 09:37:15.436 28473 28500 I Unity : AI Player 1 turn completed
11-21 09:37:15.436 28473 28500 I Unity : AI turn completed for Player 1
11-21 09:37:15.936 28473 28500 I Unity : AI Player 2 (MethodicalPlanner) starting turn...
11-21 09:37:18.709 28473 28500 I Unity : Checking replacement: tile 11 replacing 13 at (0,0)
11-21 09:37:18.709 28473 28500 I Unity : Board state - Row 0: [13, 0, 0, 0]
11-21 09:37:18.709 28473 28500 I Unity : Board state - Col 0: [13, 0, 0, 0]
11-21 09:37:18.709 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:18.709 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (0, 1) failed constraints: row=False, col=True
11-21 09:37:18.710 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (0, 2) failed constraints: row=False, col=True
11-21 09:37:18.710 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (0, 3) failed constraints: row=False, col=True
11-21 09:37:18.710 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (1, 0) failed constraints: row=True, col=False
11-21 09:37:18.710 28473 28500 I Unity : Checking replacement: tile 11 replacing 15 at (1,1)
11-21 09:37:18.710 28473 28500 I Unity : Board state - Row 1: [0, 15, 0, 0]
11-21 09:37:18.710 28473 28500 I Unity : Board state - Col 1: [0, 15, 0, 0]
11-21 09:37:18.710 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:18.710 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (1, 2) failed constraints: row=False, col=True
11-21 09:37:18.710 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (1, 3) failed constraints: row=False, col=True
11-21 09:37:18.710 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (2, 0) failed constraints: row=True, col=False
11-21 09:37:18.711 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (2, 1) failed constraints: row=True, col=False
11-21 09:37:18.711 28473 28500 I Unity : Checking replacement: tile 11 replacing 20 at (2,2)
11-21 09:37:18.711 28473 28500 I Unity : Board state - Row 2: [0, 0, 20, 0]
11-21 09:37:18.711 28473 28500 I Unity : Board state - Col 2: [0, 0, 20, 0]
11-21 09:37:18.711 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:18.711 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (2, 3) failed constraints: row=False, col=True
11-21 09:37:18.713 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (3, 0) failed constraints: row=True, col=False
11-21 09:37:18.713 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (3, 1) failed constraints: row=True, col=False
11-21 09:37:18.713 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (3, 2) failed constraints: row=True, col=False
11-21 09:37:18.713 28473 28500 I Unity : Checking replacement: tile 11 replacing 20 at (3,3)
11-21 09:37:18.713 28473 28500 I Unity : Board state - Row 3: [0, 0, 0, 20]
11-21 09:37:18.714 28473 28500 I Unity : Board state - Col 3: [0, 0, 0, 20]
11-21 09:37:18.714 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:18.714 28473 28500 I Unity : AI Player 2 decision: TakeFaceUp - Top discard Red 11 has beneficial placement(s): 3 (Score: 0.41)
11-21 09:37:18.714 28473 28500 I Unity : AI Player 2 taking tile 0 from discard pile
11-21 09:37:18.714 28473 28500 I Unity : Took discarded tile: Red 11 from index 0
11-21 09:37:18.714 28473 28500 I Unity : Player 2 took discarded tile: Red 11 from DiscardPile
11-21 09:37:18.715 28473 28500 I Unity : Tile drawn: Player 2 drew Red 11
11-21 09:37:18.716 28473 28500 I Unity : UIGameTile Start: SpriteRenderer=True, NumberText=True
11-21 09:37:18.716 28473 28500 I Unity : SetTileData called with: Red 11, Color enum: 1
11-21 09:37:18.716 28473 28500 I Unity : Updated _originalSprite to: TilePurple for Red
11-21 09:37:18.717 28473 28500 I Unity : Before UpdateVisualRepresentation: _color=Red (enum: 1), GameTileSprites=4
11-21 09:37:18.717 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=11, Color=Red, NumberText null: False
11-21 09:37:18.717 28473 28500 I Unity : Set tile text to: 11, text active: True
11-21 09:37:18.717 28473 28500 I Unity : Set sprite renderer sprite to: TilePurple for color Red (index 1)
11-21 09:37:18.717 28473 28500 I Unity : Tile 0 set to Red 11
11-21 09:37:18.717 28473 28500 I Unity : Tile 0 number text visibility set to: True (faceDown: False)
11-21 09:37:18.717 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=11, Color=Red, NumberText null: False
11-21 09:37:18.718 28473 28500 I Unity : Set tile text to: 11, text active: True
11-21 09:37:18.718 28473 28500 I Unity : Set sprite renderer sprite to: TilePurple for color Red (index 1)
11-21 09:37:18.718 28473 28500 I Unity : Tile 0 set to face-up
11-21 09:37:18.718 28473 28500 I Unity : Tile 11: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:18.718 28473 28500 I Unity : Created temporary drawn tile Red 11 for opponent Player 2
11-21 09:37:18.718 28473 28500 I Unity : UpdateDiscardCount called with: 0
11-21 09:37:18.718 28473 28500 I Unity : Set discard count text to: 0
11-21 09:37:18.719 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=False, HasUnplacedTile=True, TestModeAllAI=False
11-21 09:37:18.719 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:37:18.719 28473 28500 W Unity : Tile 11: SetInteractable(False) - No Collider2D found!
11-21 09:37:18.719 28473 28500 I Unity : UIDiscardDeck interactability set to: False
11-21 09:37:18.719 28473 28500 I Unity : Tile 13: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:18.719 28473 28500 I Unity : Tile 15: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:18.719 28473 28500 I Unity : Tile 20: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:18.719 28473 28500 I Unity : Tile 20: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:18.719 28473 28500 I Unity : Player 2 placed tiles interactivity set to: False
11-21 09:37:18.720 28473 28500 I Unity : Interactability updated for player 2
11-21 09:37:18.720 28473 28500 I Unity : Checking replacement: tile 11 replacing 13 at (0,0)
11-21 09:37:18.720 28473 28500 I Unity : Board state - Row 0: [13, 0, 0, 0]
11-21 09:37:18.720 28473 28500 I Unity : Board state - Col 0: [13, 0, 0, 0]
11-21 09:37:18.720 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:18.720 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (0, 1) failed constraints: row=False, col=True
11-21 09:37:18.720 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (0, 2) failed constraints: row=False, col=True
11-21 09:37:18.720 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (0, 3) failed constraints: row=False, col=True
11-21 09:37:18.720 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (1, 0) failed constraints: row=True, col=False
11-21 09:37:18.721 28473 28500 I Unity : Checking replacement: tile 11 replacing 15 at (1,1)
11-21 09:37:18.721 28473 28500 I Unity : Board state - Row 1: [0, 15, 0, 0]
11-21 09:37:18.721 28473 28500 I Unity : Board state - Col 1: [0, 15, 0, 0]
11-21 09:37:18.721 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:18.721 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (1, 2) failed constraints: row=False, col=True
11-21 09:37:18.721 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (1, 3) failed constraints: row=False, col=True
11-21 09:37:18.722 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (2, 0) failed constraints: row=True, col=False
11-21 09:37:18.722 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (2, 1) failed constraints: row=True, col=False
11-21 09:37:18.722 28473 28500 I Unity : Checking replacement: tile 11 replacing 20 at (2,2)
11-21 09:37:18.722 28473 28500 I Unity : Board state - Row 2: [0, 0, 20, 0]
11-21 09:37:18.722 28473 28500 I Unity : Board state - Col 2: [0, 0, 20, 0]
11-21 09:37:18.722 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:18.722 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (2, 3) failed constraints: row=False, col=True
11-21 09:37:18.722 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (3, 0) failed constraints: row=True, col=False
11-21 09:37:18.723 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (3, 1) failed constraints: row=True, col=False
11-21 09:37:18.723 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (3, 2) failed constraints: row=True, col=False
11-21 09:37:18.723 28473 28500 I Unity : Checking replacement: tile 11 replacing 20 at (3,3)
11-21 09:37:18.723 28473 28500 I Unity : Board state - Row 3: [0, 0, 0, 20]
11-21 09:37:18.723 28473 28500 I Unity : Board state - Col 3: [0, 0, 0, 20]
11-21 09:37:18.723 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:18.723 28473 28500 I Unity : Found 4 valid placements for tile Red 11
11-21 09:37:18.723 28473 28500 I Unity : Valid placements changed: 4 positions
11-21 09:37:18.724 28473 28500 I Unity : Highlighted 4 valid placements for Player 2
11-21 09:37:18.724 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (0, 0) already occupied by 13
11-21 09:37:18.724 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (0, 1) failed constraints: row=False, col=True
11-21 09:37:18.724 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (0, 2) failed constraints: row=False, col=True
11-21 09:37:18.724 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (0, 3) failed constraints: row=False, col=True
11-21 09:37:18.724 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (1, 0) failed constraints: row=True, col=False
11-21 09:37:18.724 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (1, 1) already occupied by 15
11-21 09:37:18.725 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (1, 2) failed constraints: row=False, col=True
11-21 09:37:18.725 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (1, 3) failed constraints: row=False, col=True
11-21 09:37:18.726 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (2, 0) failed constraints: row=True, col=False
11-21 09:37:18.726 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (2, 1) failed constraints: row=True, col=False
11-21 09:37:18.726 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (2, 2) already occupied by 20
11-21 09:37:18.726 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (2, 3) failed constraints: row=False, col=True
11-21 09:37:18.726 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (3, 0) failed constraints: row=True, col=False
11-21 09:37:18.726 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (3, 1) failed constraints: row=True, col=False
11-21 09:37:18.727 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (3, 2) failed constraints: row=True, col=False
11-21 09:37:18.727 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (3, 3) already occupied by 20
11-21 09:37:18.727 28473 28500 I Unity : Checking replacement: tile 11 replacing 13 at (0,0)
11-21 09:37:18.727 28473 28500 I Unity : Board state - Row 0: [13, 0, 0, 0]
11-21 09:37:18.727 28473 28500 I Unity : Board state - Col 0: [13, 0, 0, 0]
11-21 09:37:18.727 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:18.728 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (0, 1) failed constraints: row=False, col=True
11-21 09:37:18.728 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (0, 2) failed constraints: row=False, col=True
11-21 09:37:18.728 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (0, 3) failed constraints: row=False, col=True
11-21 09:37:18.728 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (1, 0) failed constraints: row=True, col=False
11-21 09:37:18.728 28473 28500 I Unity : Checking replacement: tile 11 replacing 15 at (1,1)
11-21 09:37:18.728 28473 28500 I Unity : Board state - Row 1: [0, 15, 0, 0]
11-21 09:37:18.729 28473 28500 I Unity : Board state - Col 1: [0, 15, 0, 0]
11-21 09:37:18.729 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:18.729 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (1, 2) failed constraints: row=False, col=True
11-21 09:37:18.729 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (1, 3) failed constraints: row=False, col=True
11-21 09:37:18.729 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (2, 0) failed constraints: row=True, col=False
11-21 09:37:18.729 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (2, 1) failed constraints: row=True, col=False
11-21 09:37:18.729 28473 28500 I Unity : Checking replacement: tile 11 replacing 20 at (2,2)
11-21 09:37:18.730 28473 28500 I Unity : Board state - Row 2: [0, 0, 20, 0]
11-21 09:37:18.730 28473 28500 I Unity : Board state - Col 2: [0, 0, 20, 0]
11-21 09:37:18.730 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:18.730 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (2, 3) failed constraints: row=False, col=True
11-21 09:37:18.730 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (3, 0) failed constraints: row=True, col=False
11-21 09:37:18.730 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (3, 1) failed constraints: row=True, col=False
11-21 09:37:18.730 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (3, 2) failed constraints: row=True, col=False
11-21 09:37:18.730 28473 28500 I Unity : Checking replacement: tile 11 replacing 20 at (3,3)
11-21 09:37:18.730 28473 28500 I Unity : Board state - Row 3: [0, 0, 0, 20]
11-21 09:37:18.730 28473 28500 I Unity : Board state - Col 3: [0, 0, 0, 20]
11-21 09:37:18.731 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:18.735 28473 28500 I Unity : AI Player 2 replacement decision: Replacement chosen (no beneficial empty) | pot=0.41, policy=-0.09
11-21 09:37:18.735 28473 28500 I Unity : AI Player 2 replacing tile at (2, 2)
11-21 09:37:18.736 28473 28500 I Unity : Checking replacement: tile 11 replacing 20 at (2,2)
11-21 09:37:18.736 28473 28500 I Unity : Board state - Row 2: [0, 0, 20, 0]
11-21 09:37:18.736 28473 28500 I Unity : Board state - Col 2: [0, 0, 20, 0]
11-21 09:37:18.736 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:18.736 28473 28500 I Unity : Replacing tile 20 at (2, 2) with Red 11
11-21 09:37:18.736 28473 28500 I Unity : Discarded tile: Purple 20 (1 tiles in discard pile)
11-21 09:37:18.736 28473 28500 I Unity : Tile discarded: Player 2 discarded Purple 20
11-21 09:37:18.737 28473 28500 I Unity : [DISCARD DEBUG] Cached logical discarded tile for player 2: Purple 20
11-21 09:37:18.737 28473 28500 I Unity : [PlayerBoard] Player 2 removed tile 20 from (2, 2) | Board now: 3/16 filled
11-21 09:37:18.737 28473 28500 I Unity : [PlayerBoard] Player 2 placed tile 11 at (2, 2) | Board now: 4/16 filled
11-21 09:37:18.737 28473 28500 I Unity : Player 2 placed Red 11 with replacement at (2, 2)
11-21 09:37:18.737 28473 28500 I Unity : Player 2 Board (4/16 filled):
11-21 09:37:18.737 28473 28500 I Unity : 13 -- -- --
11-21 09:37:18.737 28473 28500 I Unity : -- 15 -- --
11-21 09:37:18.737 28473 28500 I Unity : -- -- 11 --
11-21 09:37:18.738 28473 28500 I Unity : -- -- -- 20
11-21 09:37:18.738 28473 28500 I Unity : Tile placed: Player 2 placed Red 11 at (2, 2)
11-21 09:37:18.738 28473 28500 I Unity : Opponent replacing tile 20 with 11 at (2, 2)
11-21 09:37:18.738 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=False, HasUnplacedTile=True, TestModeAllAI=False
11-21 09:37:18.738 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:37:18.738 28473 28500 W Unity : Tile 11: SetInteractable(False) - No Collider2D found!
11-21 09:37:18.739 28473 28500 I Unity : UIDiscardDeck interactability set to: False
11-21 09:37:18.739 28473 28500 I Unity : Tile 13: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:18.739 28473 28500 I Unity : Tile 15: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:18.739 28473 28500 I Unity : Tile 20: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:18.739 28473 28500 I Unity : Tile 20: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:18.739 28473 28500 I Unity : Player 2 placed tiles interactivity set to: False
11-21 09:37:18.739 28473 28500 I Unity : Interactability updated for player 2
11-21 09:37:18.739 28473 28500 I Unity : Valid placements changed: 0 positions
11-21 09:37:18.740 28473 28500 I Unity : Highlighted 0 valid placements for Player 2
11-21 09:37:18.740 28473 28500 I Unity : ═══════════════════════════════════════════════════════
11-21 09:37:18.740 28473 28500 I Unity : TURN CHANGE: Player 2 → Player 3
11-21 09:37:18.740 28473 28500 I Unity : Turn #1 | Tiles Remaining: 62 | Discard Pile: 1
11-21 09:37:18.740 28473 28500 I Unity : ═══════════════════════════════════════════════════════
11-21 09:37:18.740 28473 28500 I Unity : Game state changed: Game State: Playing, Turn 1, Player 3, Draw: 62, Discard: 1
11-21 09:37:18.740 28473 28500 I Unity : Updating deck UI with remaining count: 62
11-21 09:37:18.740 28473 28500 I Unity : UpdateRemainingCount called with: 62
11-21 09:37:18.740 28473 28500 I Unity : Set deck count text to: 62
11-21 09:37:18.741 28473 28500 I Unity : Game UI updated
11-21 09:37:18.741 28473 28500 I Unity : Player turn changed to Player 3
11-21 09:37:18.741 28473 28500 I Unity : Player 0 current player status: False
11-21 09:37:18.741 28473 28500 I Unity : Player 1 current player status: False
11-21 09:37:18.741 28473 28500 I Unity : Player 2 current player status: False
11-21 09:37:18.741 28473 28500 I Unity : Player 3 current player status: True
11-21 09:37:18.742 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=False, HasUnplacedTile=False, TestModeAllAI=False
11-21 09:37:18.742 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:37:18.742 28473 28500 W Unity : Tile 11: SetInteractable(False) - No Collider2D found!
11-21 09:37:18.742 28473 28500 I Unity : UIDiscardDeck interactability set to: False
11-21 09:37:18.742 28473 28500 I Unity : Tile 7: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:18.742 28473 28500 I Unity : Tile 10: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:18.742 28473 28500 I Unity : Tile 14: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:18.742 28473 28500 I Unity : Tile 15: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:18.742 28473 28500 I Unity : Player 3 placed tiles interactivity set to: False
11-21 09:37:18.742 28473 28500 I Unity : Interactability updated for player 3
11-21 09:37:18.743 28473 28500 I Unity : Starting AI turn for Player 3
11-21 09:37:18.743 28473 28500 I Unity : Tile 8: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:19.008 28473 28500 I Unity : Tile 10 animation to (2.00, 1.99, 0.00) complete
11-21 09:37:19.008 28473 28500 I Unity : SetTileData called with: Purple 20, Color enum: 2
11-21 09:37:19.008 28473 28500 I Unity : Updated _originalSprite to: TileRed for Purple
11-21 09:37:19.008 28473 28500 I Unity : Before UpdateVisualRepresentation: _color=Purple (enum: 2), GameTileSprites=4
11-21 09:37:19.009 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=20, Color=Purple, NumberText null: False
11-21 09:37:19.009 28473 28500 I Unity : Set tile text to: 20, text active: True
11-21 09:37:19.009 28473 28500 I Unity : Set sprite renderer sprite to: TileRed for color Purple (index 2)
11-21 09:37:19.009 28473 28500 I Unity : Tile 10 set to Purple 20
11-21 09:37:19.009 28473 28500 I Unity : Tile 20: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:37:19.010 28473 28500 I Unity : [UIDiscardDeck] Destroyed collider for discard pile tile 20
11-21 09:37:19.010 28473 28500 I Unity : Tile 20: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:19.010 28473 28500 I Unity : Discard Pile: Tile 14 (index 0) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 3, Text Order: 4
11-21 09:37:19.010 28473 28500 I Unity : Discard Pile: Tile 11 (index 1) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 5, Text Order: 6
11-21 09:37:19.010 28473 28500 I Unity : Discard Pile: Tile 20 (index 2) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 7, Text Order: 8
11-21 09:37:19.010 28473 28500 I Unity : UpdateDiscardCount called with: 1
11-21 09:37:19.010 28473 28500 I Unity : Set discard count text to: 1
11-21 09:37:19.010 28473 28500 I Unity : [UIDiscardDeck] Added tile 20 to discard deck (3 total)
11-21 09:37:19.011 28473 28500 I Unity : UpdateDiscardCount called with: 1
11-21 09:37:19.011 28473 28500 I Unity : Set discard count text to: 1
11-21 09:37:19.210 28473 28500 I Unity : Tile 0 animation to (0.52, 6.27, 0.00) complete
11-21 09:37:19.210 28473 28500 I Unity : Tile 10 number text visibility set to: True (faceDown: False)
11-21 09:37:19.211 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=11, Color=Red, NumberText null: False
11-21 09:37:19.211 28473 28500 I Unity : Set tile text to: 11, text active: True
11-21 09:37:19.211 28473 28500 I Unity : Set sprite renderer sprite to: TilePurple for color Red (index 1)
11-21 09:37:19.211 28473 28500 I Unity : Tile 10 set to face-up
11-21 09:37:19.211 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=11, Color=Red, NumberText null: False
11-21 09:37:19.211 28473 28500 I Unity : Set tile text to: 11, text active: True
11-21 09:37:19.212 28473 28500 I Unity : Set sprite renderer sprite to: TilePurple for color Red (index 1)
11-21 09:37:19.212 28473 28500 I Unity : Placed tile 11 on grid cell 10 at (2.00, 2.00)
11-21 09:37:19.212 28473 28500 I Unity : Animated opponent tile placement for Player 2 at (2, 2) (board scale: (0.50, 0.50, 1.00))
11-21 09:37:19.212 28473 28500 I Unity : AI Player 2 turn completed
11-21 09:37:19.212 28473 28500 I Unity : AI turn completed for Player 2
11-21 09:37:19.710 28473 28500 I Unity : AI Player 3 (MethodicalPlanner) starting turn...
11-21 09:37:22.448 28473 28500 I Unity : Checking replacement: tile 20 replacing 7 at (0,0)
11-21 09:37:22.448 28473 28500 I Unity : Board state - Row 0: [7, 0, 0, 0]
11-21 09:37:22.448 28473 28500 I Unity : Board state - Col 0: [7, 0, 0, 0]
11-21 09:37:22.448 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:22.448 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 20 at (0, 1) failed constraints: row=True, col=False
11-21 09:37:22.449 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 20 at (0, 2) failed constraints: row=True, col=False
11-21 09:37:22.449 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 20 at (0, 3) failed constraints: row=True, col=False
11-21 09:37:22.449 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 20 at (1, 0) failed constraints: row=False, col=True
11-21 09:37:22.449 28473 28500 I Unity : Checking replacement: tile 20 replacing 10 at (1,1)
11-21 09:37:22.449 28473 28500 I Unity : Board state - Row 1: [0, 10, 0, 0]
11-21 09:37:22.449 28473 28500 I Unity : Board state - Col 1: [0, 10, 0, 0]
11-21 09:37:22.449 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:22.449 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 20 at (1, 2) failed constraints: row=True, col=False
11-21 09:37:22.449 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 20 at (1, 3) failed constraints: row=True, col=False
11-21 09:37:22.449 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 20 at (2, 0) failed constraints: row=False, col=True
11-21 09:37:22.450 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 20 at (2, 1) failed constraints: row=False, col=True
11-21 09:37:22.450 28473 28500 I Unity : Checking replacement: tile 20 replacing 14 at (2,2)
11-21 09:37:22.450 28473 28500 I Unity : Board state - Row 2: [0, 0, 14, 0]
11-21 09:37:22.450 28473 28500 I Unity : Board state - Col 2: [0, 0, 14, 0]
11-21 09:37:22.450 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:22.450 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 20 at (2, 3) failed constraints: row=True, col=False
11-21 09:37:22.450 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 20 at (3, 0) failed constraints: row=False, col=True
11-21 09:37:22.450 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 20 at (3, 1) failed constraints: row=False, col=True
11-21 09:37:22.450 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 20 at (3, 2) failed constraints: row=False, col=True
11-21 09:37:22.450 28473 28500 I Unity : Checking replacement: tile 20 replacing 15 at (3,3)
11-21 09:37:22.450 28473 28500 I Unity : Board state - Row 3: [0, 0, 0, 15]
11-21 09:37:22.451 28473 28500 I Unity : Board state - Col 3: [0, 0, 0, 15]
11-21 09:37:22.451 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:22.451 28473 28500 I Unity : AI Player 3 decision: TakeFaceUp - Top discard Purple 20 has beneficial placement(s): 1 (Score: 0.43)
11-21 09:37:22.451 28473 28500 I Unity : AI Player 3 taking tile 0 from discard pile
11-21 09:37:22.451 28473 28500 I Unity : Took discarded tile: Purple 20 from index 0
11-21 09:37:22.452 28473 28500 I Unity : Player 3 took discarded tile: Purple 20 from DiscardPile
11-21 09:37:22.452 28473 28500 I Unity : Tile drawn: Player 3 drew Purple 20
11-21 09:37:22.453 28473 28500 I Unity : UIGameTile Start: SpriteRenderer=True, NumberText=True
11-21 09:37:22.453 28473 28500 I Unity : SetTileData called with: Purple 20, Color enum: 2
11-21 09:37:22.453 28473 28500 I Unity : Updated _originalSprite to: TileRed for Purple
11-21 09:37:22.454 28473 28500 I Unity : Before UpdateVisualRepresentation: _color=Purple (enum: 2), GameTileSprites=4
11-21 09:37:22.454 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=20, Color=Purple, NumberText null: False
11-21 09:37:22.454 28473 28500 I Unity : Set tile text to: 20, text active: True
11-21 09:37:22.454 28473 28500 I Unity : Set sprite renderer sprite to: TileRed for color Purple (index 2)
11-21 09:37:22.454 28473 28500 I Unity : Tile 0 set to Purple 20
11-21 09:37:22.454 28473 28500 I Unity : Tile 0 number text visibility set to: True (faceDown: False)
11-21 09:37:22.454 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=20, Color=Purple, NumberText null: False
11-21 09:37:22.454 28473 28500 I Unity : Set tile text to: 20, text active: True
11-21 09:37:22.455 28473 28500 I Unity : Set sprite renderer sprite to: TileRed for color Purple (index 2)
11-21 09:37:22.455 28473 28500 I Unity : Tile 0 set to face-up
11-21 09:37:22.455 28473 28500 I Unity : Tile 20: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:22.455 28473 28500 I Unity : Created temporary drawn tile Purple 20 for opponent Player 3
11-21 09:37:22.455 28473 28500 I Unity : UpdateDiscardCount called with: 0
11-21 09:37:22.455 28473 28500 I Unity : Set discard count text to: 0
11-21 09:37:22.455 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=False, HasUnplacedTile=True, TestModeAllAI=False
11-21 09:37:22.456 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:37:22.456 28473 28500 W Unity : Tile 11: SetInteractable(False) - No Collider2D found!
11-21 09:37:22.456 28473 28500 W Unity : Tile 20: SetInteractable(False) - No Collider2D found!
11-21 09:37:22.456 28473 28500 I Unity : UIDiscardDeck interactability set to: False
11-21 09:37:22.456 28473 28500 I Unity : Tile 7: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:22.456 28473 28500 I Unity : Tile 10: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:22.456 28473 28500 I Unity : Tile 14: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:22.456 28473 28500 I Unity : Tile 15: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:22.456 28473 28500 I Unity : Player 3 placed tiles interactivity set to: False
11-21 09:37:22.456 28473 28500 I Unity : Interactability updated for player 3
11-21 09:37:22.456 28473 28500 I Unity : Checking replacement: tile 20 replacing 7 at (0,0)
11-21 09:37:22.457 28473 28500 I Unity : Board state - Row 0: [7, 0, 0, 0]
11-21 09:37:22.457 28473 28500 I Unity : Board state - Col 0: [7, 0, 0, 0]
11-21 09:37:22.457 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:22.457 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 20 at (0, 1) failed constraints: row=True, col=False
11-21 09:37:22.457 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 20 at (0, 2) failed constraints: row=True, col=False
11-21 09:37:22.457 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 20 at (0, 3) failed constraints: row=True, col=False
11-21 09:37:22.457 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 20 at (1, 0) failed constraints: row=False, col=True
11-21 09:37:22.457 28473 28500 I Unity : Checking replacement: tile 20 replacing 10 at (1,1)
11-21 09:37:22.457 28473 28500 I Unity : Board state - Row 1: [0, 10, 0, 0]
11-21 09:37:22.457 28473 28500 I Unity : Board state - Col 1: [0, 10, 0, 0]
11-21 09:37:22.458 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:22.458 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 20 at (1, 2) failed constraints: row=True, col=False
11-21 09:37:22.458 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 20 at (1, 3) failed constraints: row=True, col=False
11-21 09:37:22.458 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 20 at (2, 0) failed constraints: row=False, col=True
11-21 09:37:22.458 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 20 at (2, 1) failed constraints: row=False, col=True
11-21 09:37:22.458 28473 28500 I Unity : Checking replacement: tile 20 replacing 14 at (2,2)
11-21 09:37:22.458 28473 28500 I Unity : Board state - Row 2: [0, 0, 14, 0]
11-21 09:37:22.458 28473 28500 I Unity : Board state - Col 2: [0, 0, 14, 0]
11-21 09:37:22.458 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:22.458 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 20 at (2, 3) failed constraints: row=True, col=False
11-21 09:37:22.458 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 20 at (3, 0) failed constraints: row=False, col=True
11-21 09:37:22.459 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 20 at (3, 1) failed constraints: row=False, col=True
11-21 09:37:22.459 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 20 at (3, 2) failed constraints: row=False, col=True
11-21 09:37:22.459 28473 28500 I Unity : Checking replacement: tile 20 replacing 15 at (3,3)
11-21 09:37:22.459 28473 28500 I Unity : Board state - Row 3: [0, 0, 0, 15]
11-21 09:37:22.459 28473 28500 I Unity : Board state - Col 3: [0, 0, 0, 15]
11-21 09:37:22.459 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:22.459 28473 28500 I Unity : Found 4 valid placements for tile Purple 20
11-21 09:37:22.459 28473 28500 I Unity : Valid placements changed: 4 positions
11-21 09:37:22.459 28473 28500 I Unity : Highlighted 4 valid placements for Player 3
11-21 09:37:22.460 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (0, 0) already occupied by 7
11-21 09:37:22.460 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 20 at (0, 1) failed constraints: row=True, col=False
11-21 09:37:22.460 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 20 at (0, 2) failed constraints: row=True, col=False
11-21 09:37:22.460 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 20 at (0, 3) failed constraints: row=True, col=False
11-21 09:37:22.460 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 20 at (1, 0) failed constraints: row=False, col=True
11-21 09:37:22.460 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (1, 1) already occupied by 10
11-21 09:37:22.460 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 20 at (1, 2) failed constraints: row=True, col=False
11-21 09:37:22.460 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 20 at (1, 3) failed constraints: row=True, col=False
11-21 09:37:22.460 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 20 at (2, 0) failed constraints: row=False, col=True
11-21 09:37:22.460 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 20 at (2, 1) failed constraints: row=False, col=True
11-21 09:37:22.461 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (2, 2) already occupied by 14
11-21 09:37:22.461 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 20 at (2, 3) failed constraints: row=True, col=False
11-21 09:37:22.461 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 20 at (3, 0) failed constraints: row=False, col=True
11-21 09:37:22.461 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 20 at (3, 1) failed constraints: row=False, col=True
11-21 09:37:22.461 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 20 at (3, 2) failed constraints: row=False, col=True
11-21 09:37:22.461 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (3, 3) already occupied by 15
11-21 09:37:22.461 28473 28500 I Unity : Checking replacement: tile 20 replacing 7 at (0,0)
11-21 09:37:22.461 28473 28500 I Unity : Board state - Row 0: [7, 0, 0, 0]
11-21 09:37:22.461 28473 28500 I Unity : Board state - Col 0: [7, 0, 0, 0]
11-21 09:37:22.461 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:22.462 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 20 at (0, 1) failed constraints: row=True, col=False
11-21 09:37:22.462 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 20 at (0, 2) failed constraints: row=True, col=False
11-21 09:37:22.462 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 20 at (0, 3) failed constraints: row=True, col=False
11-21 09:37:22.462 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 20 at (1, 0) failed constraints: row=False, col=True
11-21 09:37:22.462 28473 28500 I Unity : Checking replacement: tile 20 replacing 10 at (1,1)
11-21 09:37:22.462 28473 28500 I Unity : Board state - Row 1: [0, 10, 0, 0]
11-21 09:37:22.462 28473 28500 I Unity : Board state - Col 1: [0, 10, 0, 0]
11-21 09:37:22.462 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:22.462 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 20 at (1, 2) failed constraints: row=True, col=False
11-21 09:37:22.462 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 20 at (1, 3) failed constraints: row=True, col=False
11-21 09:37:22.462 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 20 at (2, 0) failed constraints: row=False, col=True
11-21 09:37:22.463 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 20 at (2, 1) failed constraints: row=False, col=True
11-21 09:37:22.463 28473 28500 I Unity : Checking replacement: tile 20 replacing 14 at (2,2)
11-21 09:37:22.463 28473 28500 I Unity : Board state - Row 2: [0, 0, 14, 0]
11-21 09:37:22.463 28473 28500 I Unity : Board state - Col 2: [0, 0, 14, 0]
11-21 09:37:22.463 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:22.463 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 20 at (2, 3) failed constraints: row=True, col=False
11-21 09:37:22.463 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 20 at (3, 0) failed constraints: row=False, col=True
11-21 09:37:22.463 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 20 at (3, 1) failed constraints: row=False, col=True
11-21 09:37:22.463 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 20 at (3, 2) failed constraints: row=False, col=True
11-21 09:37:22.463 28473 28500 I Unity : Checking replacement: tile 20 replacing 15 at (3,3)
11-21 09:37:22.464 28473 28500 I Unity : Board state - Row 3: [0, 0, 0, 15]
11-21 09:37:22.464 28473 28500 I Unity : Board state - Col 3: [0, 0, 0, 15]
11-21 09:37:22.464 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:22.464 28473 28500 I Unity : AI Player 3 replacement decision: Replacement chosen (no beneficial empty) | pot=0.43, policy=-0.07
11-21 09:37:22.464 28473 28500 I Unity : AI Player 3 replacing tile at (3, 3)
11-21 09:37:22.464 28473 28500 I Unity : Checking replacement: tile 20 replacing 15 at (3,3)
11-21 09:37:22.464 28473 28500 I Unity : Board state - Row 3: [0, 0, 0, 15]
11-21 09:37:22.464 28473 28500 I Unity : Board state - Col 3: [0, 0, 0, 15]
11-21 09:37:22.465 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:22.465 28473 28500 I Unity : Replacing tile 15 at (3, 3) with Purple 20
11-21 09:37:22.465 28473 28500 I Unity : Discarded tile: Green 15 (1 tiles in discard pile)
11-21 09:37:22.465 28473 28500 I Unity : Tile discarded: Player 3 discarded Green 15
11-21 09:37:22.465 28473 28500 I Unity : [DISCARD DEBUG] Cached logical discarded tile for player 3: Green 15
11-21 09:37:22.465 28473 28500 I Unity : [PlayerBoard] Player 3 removed tile 15 from (3, 3) | Board now: 3/16 filled
11-21 09:37:22.465 28473 28500 I Unity : [PlayerBoard] Player 3 placed tile 20 at (3, 3) | Board now: 4/16 filled
11-21 09:37:22.465 28473 28500 I Unity : Player 3 placed Purple 20 with replacement at (3, 3)
11-21 09:37:22.466 28473 28500 I Unity : Player 3 Board (4/16 filled):
11-21 09:37:22.466 28473 28500 I Unity : 07 -- -- --
11-21 09:37:22.466 28473 28500 I Unity : -- 10 -- --
11-21 09:37:22.466 28473 28500 I Unity : -- -- 14 --
11-21 09:37:22.466 28473 28500 I Unity : -- -- -- 20
11-21 09:37:22.466 28473 28500 I Unity : Tile placed: Player 3 placed Purple 20 at (3, 3)
11-21 09:37:22.466 28473 28500 I Unity : Opponent replacing tile 15 with 20 at (3, 3)
11-21 09:37:22.466 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=False, HasUnplacedTile=True, TestModeAllAI=False
11-21 09:37:22.467 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:37:22.467 28473 28500 W Unity : Tile 11: SetInteractable(False) - No Collider2D found!
11-21 09:37:22.467 28473 28500 W Unity : Tile 20: SetInteractable(False) - No Collider2D found!
11-21 09:37:22.467 28473 28500 I Unity : UIDiscardDeck interactability set to: False
11-21 09:37:22.467 28473 28500 I Unity : Tile 7: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:22.467 28473 28500 I Unity : Tile 10: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:22.467 28473 28500 I Unity : Tile 14: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:22.467 28473 28500 I Unity : Tile 15: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:22.467 28473 28500 I Unity : Player 3 placed tiles interactivity set to: False
11-21 09:37:22.467 28473 28500 I Unity : Interactability updated for player 3
11-21 09:37:22.468 28473 28500 I Unity : Valid placements changed: 0 positions
11-21 09:37:22.468 28473 28500 I Unity : Highlighted 0 valid placements for Player 3
11-21 09:37:22.468 28473 28500 I Unity : ═══════════════════════════════════════════════════════
11-21 09:37:22.468 28473 28500 I Unity : TURN CHANGE: Player 3 → Player 0
11-21 09:37:22.468 28473 28500 I Unity : Turn #2 | Tiles Remaining: 62 | Discard Pile: 1
11-21 09:37:22.468 28473 28500 I Unity : ═══════════════════════════════════════════════════════
11-21 09:37:22.468 28473 28500 I Unity : Game state changed: Game State: Playing, Turn 2, Player 0, Draw: 62, Discard: 1
11-21 09:37:22.468 28473 28500 I Unity : Updating deck UI with remaining count: 62
11-21 09:37:22.468 28473 28500 I Unity : UpdateRemainingCount called with: 62
11-21 09:37:22.469 28473 28500 I Unity : Set deck count text to: 62
11-21 09:37:22.469 28473 28500 I Unity : Game UI updated
11-21 09:37:22.469 28473 28500 I Unity : Player turn changed to Player 0
11-21 09:37:22.469 28473 28500 I Unity : Player 0 current player status: True
11-21 09:37:22.469 28473 28500 I Unity : Player 1 current player status: False
11-21 09:37:22.469 28473 28500 I Unity : Player 2 current player status: False
11-21 09:37:22.470 28473 28500 I Unity : Player 3 current player status: False
11-21 09:37:22.470 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=True, HasUnplacedTile=False, TestModeAllAI=False
11-21 09:37:22.470 28473 28500 W Unity : Tile 14: SetInteractable(True) - No Collider2D found!
11-21 09:37:22.470 28473 28500 W Unity : Tile 11: SetInteractable(True) - No Collider2D found!
11-21 09:37:22.470 28473 28500 W Unity : Tile 20: SetInteractable(True) - No Collider2D found!
11-21 09:37:22.470 28473 28500 I Unity : UIDiscardDeck interactability set to: True
11-21 09:37:22.470 28473 28500 I Unity : Tile 7: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:22.470 28473 28500 I Unity : Tile 7: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:22.470 28473 28500 I Unity : Tile 11: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:22.470 28473 28500 I Unity : Tile 14: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:22.471 28473 28500 I Unity : Player 0 placed tiles interactivity set to: False
11-21 09:37:22.471 28473 28500 I Unity : Interactability updated for player 0
11-21 09:37:22.471 28473 28500 I Unity : Tile 8: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:37:22.751 28473 28500 I Unity : Tile 15 animation to (2.00, 1.99, 0.00) complete
11-21 09:37:22.751 28473 28500 I Unity : SetTileData called with: Green 15, Color enum: 3
11-21 09:37:22.752 28473 28500 I Unity : Updated _originalSprite to: TileYellow for Green
11-21 09:37:22.752 28473 28500 I Unity : Before UpdateVisualRepresentation: _color=Green (enum: 3), GameTileSprites=4
11-21 09:37:22.752 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=15, Color=Green, NumberText null: False
11-21 09:37:22.752 28473 28500 I Unity : Set tile text to: 15, text active: True
11-21 09:37:22.752 28473 28500 I Unity : Set sprite renderer sprite to: TileYellow for color Green (index 3)
11-21 09:37:22.752 28473 28500 I Unity : Tile 15 set to Green 15
11-21 09:37:22.753 28473 28500 I Unity : Tile 15: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:37:22.753 28473 28500 I Unity : [UIDiscardDeck] Destroyed collider for discard pile tile 15
11-21 09:37:22.753 28473 28500 I Unity : Tile 15: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:22.753 28473 28500 I Unity : Discard Pile: Tile 14 (index 0) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 3, Text Order: 4
11-21 09:37:22.753 28473 28500 I Unity : Discard Pile: Tile 11 (index 1) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 5, Text Order: 6
11-21 09:37:22.753 28473 28500 I Unity : Discard Pile: Tile 20 (index 2) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 7, Text Order: 8
11-21 09:37:22.753 28473 28500 I Unity : Discard Pile: Tile 15 (index 3) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 9, Text Order: 10
11-21 09:37:22.754 28473 28500 I Unity : UpdateDiscardCount called with: 1
11-21 09:37:22.754 28473 28500 I Unity : Set discard count text to: 1
11-21 09:37:22.754 28473 28500 I Unity : [UIDiscardDeck] Added tile 15 to discard deck (4 total)
11-21 09:37:22.754 28473 28500 I Unity : UpdateDiscardCount called with: 1
11-21 09:37:22.754 28473 28500 I Unity : Set discard count text to: 1
11-21 09:37:22.952 28473 28500 I Unity : Tile 0 animation to (6.58, 5.22, 0.00) complete
11-21 09:37:22.952 28473 28500 I Unity : Tile 15 number text visibility set to: True (faceDown: False)
11-21 09:37:22.952 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=20, Color=Purple, NumberText null: False
11-21 09:37:22.953 28473 28500 I Unity : Set tile text to: 20, text active: True
11-21 09:37:22.953 28473 28500 I Unity : Set sprite renderer sprite to: TileRed for color Purple (index 2)
11-21 09:37:22.953 28473 28500 I Unity : Tile 15 set to face-up
11-21 09:37:22.953 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=20, Color=Purple, NumberText null: False
11-21 09:37:22.953 28473 28500 I Unity : Set tile text to: 20, text active: True
11-21 09:37:22.953 28473 28500 I Unity : Set sprite renderer sprite to: TileRed for color Purple (index 2)
11-21 09:37:22.953 28473 28500 I Unity : Placed tile 20 on grid cell 15 at (3.00, 3.00)
11-21 09:37:22.953 28473 28500 I Unity : Animated opponent tile placement for Player 3 at (3, 3) (board scale: (0.50, 0.50, 1.00))
11-21 09:37:22.954 28473 28500 I Unity : AI Player 3 turn completed
11-21 09:37:22.954 28473 28500 I Unity : AI turn completed for Player 3
11-21 09:37:24.653 28473 28500 I Unity : Interacting with discard deck
11-21 09:37:24.653 28473 28500 I Unity : Checking replacement: tile 15 replacing 7 at (0,0)
11-21 09:37:24.653 28473 28500 I Unity : Board state - Row 0: [7, 0, 0, 0]
11-21 09:37:24.653 28473 28500 I Unity : Board state - Col 0: [7, 0, 0, 0]
11-21 09:37:24.653 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:24.653 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (0, 1) failed constraints: row=True, col=False
11-21 09:37:24.653 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (0, 2) failed constraints: row=True, col=False
11-21 09:37:24.653 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (0, 3) failed constraints: row=True, col=False
11-21 09:37:24.654 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (1, 0) failed constraints: row=False, col=True
11-21 09:37:24.654 28473 28500 I Unity : Checking replacement: tile 15 replacing 7 at (1,1)
11-21 09:37:24.654 28473 28500 I Unity : Board state - Row 1: [0, 7, 0, 0]
11-21 09:37:24.654 28473 28500 I Unity : Board state - Col 1: [0, 7, 0, 0]
11-21 09:37:24.654 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:24.654 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (1, 2) failed constraints: row=True, col=False
11-21 09:37:24.654 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (1, 3) failed constraints: row=True, col=False
11-21 09:37:24.654 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (2, 0) failed constraints: row=False, col=True
11-21 09:37:24.654 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (2, 1) failed constraints: row=False, col=True
11-21 09:37:24.654 28473 28500 I Unity : Checking replacement: tile 15 replacing 11 at (2,2)
11-21 09:37:24.654 28473 28500 I Unity : Board state - Row 2: [0, 0, 11, 0]
11-21 09:37:24.654 28473 28500 I Unity : Board state - Col 2: [0, 0, 11, 0]
11-21 09:37:24.655 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:24.655 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (2, 3) failed constraints: row=True, col=False
11-21 09:37:24.655 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (3, 0) failed constraints: row=False, col=True
11-21 09:37:24.655 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (3, 1) failed constraints: row=False, col=True
11-21 09:37:24.655 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (3, 2) failed constraints: row=False, col=True
11-21 09:37:24.655 28473 28500 I Unity : Checking replacement: tile 15 replacing 14 at (3,3)
11-21 09:37:24.655 28473 28500 I Unity : Board state - Row 3: [0, 0, 0, 14]
11-21 09:37:24.655 28473 28500 I Unity : Board state - Col 3: [0, 0, 0, 14]
11-21 09:37:24.655 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:24.655 28473 28500 I Unity : Tile 15 has 4 valid placements - allowing player to take it
11-21 09:37:24.656 28473 28500 I Unity : Took discarded tile: Green 15 from index 0
11-21 09:37:24.656 28473 28500 I Unity : Player 0 took discarded tile: Green 15 from DiscardPile
11-21 09:37:24.656 28473 28500 I Unity : Tile drawn: Player 0 drew Green 15
11-21 09:37:24.656 28473 28500 I Unity : UpdateDiscardCount called with: 0
11-21 09:37:24.656 28473 28500 I Unity : Set discard count text to: 0
11-21 09:37:24.656 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=True, HasUnplacedTile=True, TestModeAllAI=False
11-21 09:37:24.656 28473 28500 W Unity : Tile 14: SetInteractable(True) - No Collider2D found!
11-21 09:37:24.656 28473 28500 W Unity : Tile 11: SetInteractable(True) - No Collider2D found!
11-21 09:37:24.656 28473 28500 W Unity : Tile 20: SetInteractable(True) - No Collider2D found!
11-21 09:37:24.657 28473 28500 W Unity : Tile 15: SetInteractable(True) - No Collider2D found!
11-21 09:37:24.657 28473 28500 I Unity : UIDiscardDeck interactability set to: True
11-21 09:37:24.657 28473 28500 I Unity : Tile 7: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:37:24.657 28473 28500 I Unity : Tile 7: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:37:24.657 28473 28500 I Unity : Tile 11: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:37:24.657 28473 28500 I Unity : Tile 14: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:37:24.657 28473 28500 I Unity : Player 0 placed tiles interactivity set to: True
11-21 09:37:24.657 28473 28500 I Unity : Interactability updated for player 0
11-21 09:37:24.657 28473 28500 I Unity : Checking replacement: tile 15 replacing 7 at (0,0)
11-21 09:37:24.657 28473 28500 I Unity : Board state - Row 0: [7, 0, 0, 0]
11-21 09:37:24.658 28473 28500 I Unity : Board state - Col 0: [7, 0, 0, 0]
11-21 09:37:24.658 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:24.658 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (0, 1) failed constraints: row=True, col=False
11-21 09:37:24.658 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (0, 2) failed constraints: row=True, col=False
11-21 09:37:24.658 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (0, 3) failed constraints: row=True, col=False
11-21 09:37:24.658 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (1, 0) failed constraints: row=False, col=True
11-21 09:37:24.658 28473 28500 I Unity : Checking replacement: tile 15 replacing 7 at (1,1)
11-21 09:37:24.658 28473 28500 I Unity : Board state - Row 1: [0, 7, 0, 0]
11-21 09:37:24.658 28473 28500 I Unity : Board state - Col 1: [0, 7, 0, 0]
11-21 09:37:24.658 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:24.658 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (1, 2) failed constraints: row=True, col=False
11-21 09:37:24.658 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (1, 3) failed constraints: row=True, col=False
11-21 09:37:24.658 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (2, 0) failed constraints: row=False, col=True
11-21 09:37:24.659 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (2, 1) failed constraints: row=False, col=True
11-21 09:37:24.659 28473 28500 I Unity : Checking replacement: tile 15 replacing 11 at (2,2)
11-21 09:37:24.659 28473 28500 I Unity : Board state - Row 2: [0, 0, 11, 0]
11-21 09:37:24.659 28473 28500 I Unity : Board state - Col 2: [0, 0, 11, 0]
11-21 09:37:24.659 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:24.659 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (2, 3) failed constraints: row=True, col=False
11-21 09:37:24.659 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (3, 0) failed constraints: row=False, col=True
11-21 09:37:24.659 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (3, 1) failed constraints: row=False, col=True
11-21 09:37:24.659 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (3, 2) failed constraints: row=False, col=True
11-21 09:37:24.659 28473 28500 I Unity : Checking replacement: tile 15 replacing 14 at (3,3)
11-21 09:37:24.659 28473 28500 I Unity : Board state - Row 3: [0, 0, 0, 14]
11-21 09:37:24.660 28473 28500 I Unity : Board state - Col 3: [0, 0, 0, 14]
11-21 09:37:24.660 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:24.660 28473 28500 I Unity : Found 4 valid placements for tile Green 15
11-21 09:37:24.660 28473 28500 I Unity : Valid placements changed: 4 positions
11-21 09:37:24.660 28473 28500 I Unity : Highlighted 4 valid placements for Player 0
11-21 09:37:24.660 28473 28500 I Unity : [DISCARD DEBUG] Selected tile from discard pile: Number=15, TileData=Green 15, UniqueID=Green_15_60839057
11-21 09:37:24.660 28473 28500 I Unity : Tile 15 selection set to: True
11-21 09:37:24.660 28473 28500 I Unity : Discard Pile: Tile 14 (index 0) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 3, Text Order: 4
11-21 09:37:24.661 28473 28500 I Unity : Discard Pile: Tile 11 (index 1) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 5, Text Order: 6
11-21 09:37:24.661 28473 28500 I Unity : Discard Pile: Tile 20 (index 2) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 7, Text Order: 8
11-21 09:37:24.661 28473 28500 I Unity : UpdateDiscardCount called with: 0
11-21 09:37:24.661 28473 28500 I Unity : Set discard count text to: 0
11-21 09:37:24.661 28473 28500 I Unity : Removed selected tile 15 from visual discard list (index 3)
11-21 09:37:25.352 28473 28500 I Unity : Interacting with tile 15 (Number: 14)
11-21 09:37:25.352 28473 28500 I Unity : Forwarding placed tile click to parent cell for replacement at (3.00, 3.00)
11-21 09:37:25.352 28473 28500 I Unity : Interacting with grid cell 15 at position (3.00, 3.00)
11-21 09:37:25.352 28473 28500 I Unity : HandleTilePlacement: Attempting to place tile 15 at grid position (3.00, 3.00)
11-21 09:37:25.352 28473 28500 I Unity : HandleTilePlacement: Converted to board coordinates - row=3, col=3
11-21 09:37:25.352 28473 28500 I Unity : Cell at (3.00, 3.00) is occupied by tile 14 - attempting tile replacement
11-21 09:37:25.352 28473 28500 I Unity : Checking replacement: tile 15 replacing 14 at (3,3)
11-21 09:37:25.352 28473 28500 I Unity : Board state - Row 3: [0, 0, 0, 14]
11-21 09:37:25.352 28473 28500 I Unity : Board state - Col 3: [0, 0, 0, 14]
11-21 09:37:25.352 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:25.353 28473 28500 I Unity : Replacing tile 14 at (3, 3) with Green 15
11-21 09:37:25.353 28473 28500 I Unity : Discarded tile: Yellow 14 (1 tiles in discard pile)
11-21 09:37:25.353 28473 28500 I Unity : Tile discarded: Player 0 discarded Yellow 14
11-21 09:37:25.353 28473 28500 I Unity : [DISCARD DEBUG] Cached logical discarded tile for player 0: Yellow 14
11-21 09:37:25.353 28473 28500 I Unity : [PlayerBoard] Player 0 removed tile 14 from (3, 3) | Board now: 3/16 filled
11-21 09:37:25.353 28473 28500 I Unity : [PlayerBoard] Player 0 placed tile 15 at (3, 3) | Board now: 4/16 filled
11-21 09:37:25.353 28473 28500 I Unity : Player 0 placed Green 15 with replacement at (3, 3)
11-21 09:37:25.353 28473 28500 I Unity : Player 0 Board (4/16 filled):
11-21 09:37:25.354 28473 28500 I Unity : 07 -- -- --
11-21 09:37:25.354 28473 28500 I Unity : -- 07 -- --
11-21 09:37:25.354 28473 28500 I Unity : -- -- 11 --
11-21 09:37:25.354 28473 28500 I Unity : -- -- -- 15
11-21 09:37:25.354 28473 28500 I Unity : Tile placed: Player 0 placed Green 15 at (3, 3)
11-21 09:37:25.354 28473 28500 I Unity : [DISCARD DEBUG] selectedFromDiscard: NOT NULL, CurrentTileSource=DiscardPile
11-21 09:37:25.354 28473 28500 I Unity : [DISCARD DEBUG] selectedFromDiscard.TileData: NOT NULL
11-21 09:37:25.354 28473 28500 I Unity : [DISCARD DEBUG] BEFORE RESYNC - visual TileData: Green 15, UniqueID: Green_15_60839057
11-21 09:37:25.354 28473 28500 I Unity : [DISCARD DEBUG] logic TileData: Green 15, UniqueID: Green_15_60839057
11-21 09:37:25.355 28473 28500 I Unity : [UIDiscardDeck] Clearing selected discard tile reference for tile 15
11-21 09:37:25.355 28473 28500 I Unity : Resetting sprite renderer sprite to original: TileYellow for tile Green
11-21 09:37:25.355 28473 28500 I Unity : Tile 15 selection set to: False
11-21 09:37:25.355 28473 28500 I Unity : Tile 15 number text visibility set to: True (faceDown: False)
11-21 09:37:25.355 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=15, Color=Green, NumberText null: False
11-21 09:37:25.355 28473 28500 I Unity : Set tile text to: 15, text active: True
11-21 09:37:25.355 28473 28500 I Unity : Set sprite renderer sprite to: TileYellow for color Green (index 3)
11-21 09:37:25.355 28473 28500 I Unity : Tile 15 set to face-up
11-21 09:37:25.356 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=True, HasUnplacedTile=True, TestModeAllAI=False
11-21 09:37:25.356 28473 28500 W Unity : Tile 14: SetInteractable(True) - No Collider2D found!
11-21 09:37:25.356 28473 28500 W Unity : Tile 11: SetInteractable(True) - No Collider2D found!
11-21 09:37:25.356 28473 28500 W Unity : Tile 20: SetInteractable(True) - No Collider2D found!
11-21 09:37:25.356 28473 28500 I Unity : UIDiscardDeck interactability set to: True
11-21 09:37:25.356 28473 28500 I Unity : Tile 7: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:37:25.356 28473 28500 I Unity : Tile 7: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:37:25.356 28473 28500 I Unity : Tile 11: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:37:25.357 28473 28500 I Unity : Tile 14: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:37:25.357 28473 28500 I Unity : Player 0 placed tiles interactivity set to: True
11-21 09:37:25.357 28473 28500 I Unity : Interactability updated for player 0
11-21 09:37:25.357 28473 28500 I Unity : Valid placements changed: 0 positions
11-21 09:37:25.357 28473 28500 I Unity : Highlighted 0 valid placements for Player 0
11-21 09:37:25.357 28473 28500 I Unity : ═══════════════════════════════════════════════════════
11-21 09:37:25.357 28473 28500 I Unity : TURN CHANGE: Player 0 → Player 1
11-21 09:37:25.357 28473 28500 I Unity : Turn #2 | Tiles Remaining: 62 | Discard Pile: 1
11-21 09:37:25.357 28473 28500 I Unity : ═══════════════════════════════════════════════════════
11-21 09:37:25.358 28473 28500 I Unity : Game state changed: Game State: Playing, Turn 2, Player 1, Draw: 62, Discard: 1
11-21 09:37:25.358 28473 28500 I Unity : Updating deck UI with remaining count: 62
11-21 09:37:25.358 28473 28500 I Unity : UpdateRemainingCount called with: 62
11-21 09:37:25.358 28473 28500 I Unity : Set deck count text to: 62
11-21 09:37:25.358 28473 28500 I Unity : Game UI updated
11-21 09:37:25.358 28473 28500 I Unity : Player turn changed to Player 1
11-21 09:37:25.358 28473 28500 I Unity : Player 0 current player status: False
11-21 09:37:25.359 28473 28500 I Unity : Player 1 current player status: True
11-21 09:37:25.359 28473 28500 I Unity : Player 2 current player status: False
11-21 09:37:25.359 28473 28500 I Unity : Player 3 current player status: False
11-21 09:37:25.359 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=False, HasUnplacedTile=False, TestModeAllAI=False
11-21 09:37:25.359 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:37:25.359 28473 28500 W Unity : Tile 11: SetInteractable(False) - No Collider2D found!
11-21 09:37:25.359 28473 28500 W Unity : Tile 20: SetInteractable(False) - No Collider2D found!
11-21 09:37:25.359 28473 28500 I Unity : UIDiscardDeck interactability set to: False
11-21 09:37:25.359 28473 28500 I Unity : Tile 2: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:25.359 28473 28500 I Unity : Tile 3: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:25.360 28473 28500 I Unity : Tile 14: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:25.360 28473 28500 I Unity : Tile 12: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:25.360 28473 28500 I Unity : Player 1 placed tiles interactivity set to: False
11-21 09:37:25.360 28473 28500 I Unity : Interactability updated for player 1
11-21 09:37:25.360 28473 28500 I Unity : Starting AI turn for Player 1
11-21 09:37:25.360 28473 28500 I Unity : Tile 8: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:25.360 28473 28500 I Unity : ✓ Successfully replaced tile at (3.00, 3.00) with 15
11-21 09:37:25.621 28473 28500 I Unity : Tile 15 animation to (2.00, 1.99, 0.00) complete
11-21 09:37:25.621 28473 28500 I Unity : SetTileData called with: Yellow 14, Color enum: 0
11-21 09:37:25.621 28473 28500 I Unity : Updated _originalSprite to: TileGreen for Yellow
11-21 09:37:25.621 28473 28500 I Unity : Before UpdateVisualRepresentation: _color=Yellow (enum: 0), GameTileSprites=4
11-21 09:37:25.621 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=14, Color=Yellow, NumberText null: False
11-21 09:37:25.621 28473 28500 I Unity : Set tile text to: 14, text active: True
11-21 09:37:25.622 28473 28500 I Unity : Set sprite renderer sprite to: TileGreen for color Yellow (index 0)
11-21 09:37:25.622 28473 28500 I Unity : Tile 15 set to Yellow 14
11-21 09:37:25.622 28473 28500 I Unity : Tile 14: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:37:25.622 28473 28500 I Unity : [UIDiscardDeck] Destroyed collider for discard pile tile 14
11-21 09:37:25.622 28473 28500 I Unity : Tile 14: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:25.622 28473 28500 I Unity : Discard Pile: Tile 14 (index 0) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 3, Text Order: 4
11-21 09:37:25.622 28473 28500 I Unity : Discard Pile: Tile 11 (index 1) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 5, Text Order: 6
11-21 09:37:25.623 28473 28500 I Unity : Discard Pile: Tile 20 (index 2) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 7, Text Order: 8
11-21 09:37:25.623 28473 28500 I Unity : Discard Pile: Tile 14 (index 3) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 9, Text Order: 10
11-21 09:37:25.623 28473 28500 I Unity : UpdateDiscardCount called with: 1
11-21 09:37:25.623 28473 28500 I Unity : Set discard count text to: 1
11-21 09:37:25.623 28473 28500 I Unity : [UIDiscardDeck] Added tile 14 to discard deck (4 total)
11-21 09:37:25.623 28473 28500 I Unity : UpdateDiscardCount called with: 1
11-21 09:37:25.623 28473 28500 I Unity : Set discard count text to: 1
11-21 09:37:25.820 28473 28500 I Unity : Tile 15 animation to (3.15, -7.69, 0.00) complete
11-21 09:37:25.820 28473 28500 I Unity : Tile 15: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:37:25.820 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=15, Color=Green, NumberText null: False
11-21 09:37:25.820 28473 28500 I Unity : Set tile text to: 15, text active: True
11-21 09:37:25.821 28473 28500 I Unity : Set sprite renderer sprite to: TileYellow for color Green (index 3)
11-21 09:37:25.821 28473 28500 I Unity : Player 0: Set particle system and all child particle renderers to sorting order 100
11-21 09:37:25.821 28473 28500 I Unity : Player 0: Triggered click particle at (3.15, -7.69, 0.00)
11-21 09:37:25.821 28473 28500 I Unity : Animated discard tile placement for Player 0 at (3, 3)
11-21 09:37:26.357 28473 28500 I Unity : AI Player 1 (DefensiveBlocker) starting turn...
11-21 09:37:27.762 28473 28500 I Unity : Checking replacement: tile 14 replacing 2 at (0,0)
11-21 09:37:27.762 28473 28500 I Unity : Board state - Row 0: [2, 0, 0, 0]
11-21 09:37:27.762 28473 28500 I Unity : Board state - Col 0: [2, 0, 0, 0]
11-21 09:37:27.762 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:27.763 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (0, 1) failed constraints: row=True, col=False
11-21 09:37:27.763 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (0, 2) failed constraints: row=True, col=False
11-21 09:37:27.763 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (0, 3) failed constraints: row=True, col=False
11-21 09:37:27.763 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (1, 0) failed constraints: row=False, col=True
11-21 09:37:27.763 28473 28500 I Unity : Checking replacement: tile 14 replacing 3 at (1,1)
11-21 09:37:27.763 28473 28500 I Unity : Board state - Row 1: [0, 3, 0, 0]
11-21 09:37:27.763 28473 28500 I Unity : Board state - Col 1: [0, 3, 0, 0]
11-21 09:37:27.763 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:27.764 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (1, 2) failed constraints: row=True, col=False
11-21 09:37:27.764 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (1, 3) failed constraints: row=True, col=False
11-21 09:37:27.764 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (2, 0) failed constraints: row=False, col=True
11-21 09:37:27.764 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (2, 1) failed constraints: row=False, col=True
11-21 09:37:27.764 28473 28500 I Unity : Checking replacement: tile 14 replacing 14 at (2,2)
11-21 09:37:27.764 28473 28500 I Unity : Board state - Row 2: [0, 0, 14, 0]
11-21 09:37:27.764 28473 28500 I Unity : Board state - Col 2: [0, 0, 14, 0]
11-21 09:37:27.764 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:27.764 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (2, 3) failed constraints: row=False, col=False
11-21 09:37:27.764 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (3, 0) failed constraints: row=False, col=True
11-21 09:37:27.765 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (3, 1) failed constraints: row=False, col=True
11-21 09:37:27.765 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (3, 2) failed constraints: row=False, col=False
11-21 09:37:27.765 28473 28500 I Unity : Checking replacement: tile 14 replacing 12 at (3,3)
11-21 09:37:27.765 28473 28500 I Unity : Board state - Row 3: [0, 0, 0, 12]
11-21 09:37:27.765 28473 28500 I Unity : Board state - Col 3: [0, 0, 0, 12]
11-21 09:37:27.765 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:27.765 28473 28500 I Unity : AI Player 1 decision: TakeFaceUp - Top discard Yellow 14 has beneficial placement(s): 1 (Score: 0.00)
11-21 09:37:27.765 28473 28500 I Unity : AI Player 1 taking tile 0 from discard pile
11-21 09:37:27.766 28473 28500 I Unity : Took discarded tile: Yellow 14 from index 0
11-21 09:37:27.766 28473 28500 I Unity : Player 1 took discarded tile: Yellow 14 from DiscardPile
11-21 09:37:27.766 28473 28500 I Unity : Tile drawn: Player 1 drew Yellow 14
11-21 09:37:27.767 28473 28500 I Unity : UIGameTile Start: SpriteRenderer=True, NumberText=True
11-21 09:37:27.768 28473 28500 I Unity : SetTileData called with: Yellow 14, Color enum: 0
11-21 09:37:27.768 28473 28500 I Unity : Updated _originalSprite to: TileGreen for Yellow
11-21 09:37:27.768 28473 28500 I Unity : Before UpdateVisualRepresentation: _color=Yellow (enum: 0), GameTileSprites=4
11-21 09:37:27.768 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=14, Color=Yellow, NumberText null: False
11-21 09:37:27.768 28473 28500 I Unity : Set tile text to: 14, text active: True
11-21 09:37:27.768 28473 28500 I Unity : Set sprite renderer sprite to: TileGreen for color Yellow (index 0)
11-21 09:37:27.768 28473 28500 I Unity : Tile 0 set to Yellow 14
11-21 09:37:27.769 28473 28500 I Unity : Tile 0 number text visibility set to: True (faceDown: False)
11-21 09:37:27.769 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=14, Color=Yellow, NumberText null: False
11-21 09:37:27.769 28473 28500 I Unity : Set tile text to: 14, text active: True
11-21 09:37:27.769 28473 28500 I Unity : Set sprite renderer sprite to: TileGreen for color Yellow (index 0)
11-21 09:37:27.769 28473 28500 I Unity : Tile 0 set to face-up
11-21 09:37:27.769 28473 28500 I Unity : Tile 14: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:27.769 28473 28500 I Unity : Created temporary drawn tile Yellow 14 for opponent Player 1
11-21 09:37:27.769 28473 28500 I Unity : UpdateDiscardCount called with: 0
11-21 09:37:27.770 28473 28500 I Unity : Set discard count text to: 0
11-21 09:37:27.770 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=False, HasUnplacedTile=True, TestModeAllAI=False
11-21 09:37:27.770 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:37:27.770 28473 28500 W Unity : Tile 11: SetInteractable(False) - No Collider2D found!
11-21 09:37:27.770 28473 28500 W Unity : Tile 20: SetInteractable(False) - No Collider2D found!
11-21 09:37:27.770 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:37:27.770 28473 28500 I Unity : UIDiscardDeck interactability set to: False
11-21 09:37:27.770 28473 28500 I Unity : Tile 2: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:27.770 28473 28500 I Unity : Tile 3: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:27.770 28473 28500 I Unity : Tile 14: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:27.771 28473 28500 I Unity : Tile 12: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:27.771 28473 28500 I Unity : Player 1 placed tiles interactivity set to: False
11-21 09:37:27.771 28473 28500 I Unity : Interactability updated for player 1
11-21 09:37:27.771 28473 28500 I Unity : Checking replacement: tile 14 replacing 2 at (0,0)
11-21 09:37:27.771 28473 28500 I Unity : Board state - Row 0: [2, 0, 0, 0]
11-21 09:37:27.771 28473 28500 I Unity : Board state - Col 0: [2, 0, 0, 0]
11-21 09:37:27.771 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:27.771 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (0, 1) failed constraints: row=True, col=False
11-21 09:37:27.771 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (0, 2) failed constraints: row=True, col=False
11-21 09:37:27.771 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (0, 3) failed constraints: row=True, col=False
11-21 09:37:27.772 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (1, 0) failed constraints: row=False, col=True
11-21 09:37:27.772 28473 28500 I Unity : Checking replacement: tile 14 replacing 3 at (1,1)
11-21 09:37:27.772 28473 28500 I Unity : Board state - Row 1: [0, 3, 0, 0]
11-21 09:37:27.772 28473 28500 I Unity : Board state - Col 1: [0, 3, 0, 0]
11-21 09:37:27.772 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:27.772 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (1, 2) failed constraints: row=True, col=False
11-21 09:37:27.772 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (1, 3) failed constraints: row=True, col=False
11-21 09:37:27.772 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (2, 0) failed constraints: row=False, col=True
11-21 09:37:27.772 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (2, 1) failed constraints: row=False, col=True
11-21 09:37:27.772 28473 28500 I Unity : Checking replacement: tile 14 replacing 14 at (2,2)
11-21 09:37:27.773 28473 28500 I Unity : Board state - Row 2: [0, 0, 14, 0]
11-21 09:37:27.773 28473 28500 I Unity : Board state - Col 2: [0, 0, 14, 0]
11-21 09:37:27.773 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:27.773 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (2, 3) failed constraints: row=False, col=False
11-21 09:37:27.773 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (3, 0) failed constraints: row=False, col=True
11-21 09:37:27.773 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (3, 1) failed constraints: row=False, col=True
11-21 09:37:27.773 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (3, 2) failed constraints: row=False, col=False
11-21 09:37:27.773 28473 28500 I Unity : Checking replacement: tile 14 replacing 12 at (3,3)
11-21 09:37:27.773 28473 28500 I Unity : Board state - Row 3: [0, 0, 0, 12]
11-21 09:37:27.773 28473 28500 I Unity : Board state - Col 3: [0, 0, 0, 12]
11-21 09:37:27.773 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:27.774 28473 28500 I Unity : Found 4 valid placements for tile Yellow 14
11-21 09:37:27.774 28473 28500 I Unity : Valid placements changed: 4 positions
11-21 09:37:27.774 28473 28500 I Unity : Highlighted 4 valid placements for Player 1
11-21 09:37:27.774 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (0, 0) already occupied by 2
11-21 09:37:27.774 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (0, 1) failed constraints: row=True, col=False
11-21 09:37:27.774 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (0, 2) failed constraints: row=True, col=False
11-21 09:37:27.774 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (0, 3) failed constraints: row=True, col=False
11-21 09:37:27.774 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (1, 0) failed constraints: row=False, col=True
11-21 09:37:27.775 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (1, 1) already occupied by 3
11-21 09:37:27.775 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (1, 2) failed constraints: row=True, col=False
11-21 09:37:27.775 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (1, 3) failed constraints: row=True, col=False
11-21 09:37:27.775 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (2, 0) failed constraints: row=False, col=True
11-21 09:37:27.775 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (2, 1) failed constraints: row=False, col=True
11-21 09:37:27.775 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (2, 2) already occupied by 14
11-21 09:37:27.775 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (2, 3) failed constraints: row=False, col=False
11-21 09:37:27.775 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (3, 0) failed constraints: row=False, col=True
11-21 09:37:27.775 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (3, 1) failed constraints: row=False, col=True
11-21 09:37:27.775 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (3, 2) failed constraints: row=False, col=False
11-21 09:37:27.776 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (3, 3) already occupied by 12
11-21 09:37:27.776 28473 28500 I Unity : Checking replacement: tile 14 replacing 2 at (0,0)
11-21 09:37:27.776 28473 28500 I Unity : Board state - Row 0: [2, 0, 0, 0]
11-21 09:37:27.776 28473 28500 I Unity : Board state - Col 0: [2, 0, 0, 0]
11-21 09:37:27.776 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:27.776 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (0, 1) failed constraints: row=True, col=False
11-21 09:37:27.776 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (0, 2) failed constraints: row=True, col=False
11-21 09:37:27.776 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (0, 3) failed constraints: row=True, col=False
11-21 09:37:27.776 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (1, 0) failed constraints: row=False, col=True
11-21 09:37:27.776 28473 28500 I Unity : Checking replacement: tile 14 replacing 3 at (1,1)
11-21 09:37:27.777 28473 28500 I Unity : Board state - Row 1: [0, 3, 0, 0]
11-21 09:37:27.777 28473 28500 I Unity : Board state - Col 1: [0, 3, 0, 0]
11-21 09:37:27.777 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:27.777 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (1, 2) failed constraints: row=True, col=False
11-21 09:37:27.777 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (1, 3) failed constraints: row=True, col=False
11-21 09:37:27.777 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (2, 0) failed constraints: row=False, col=True
11-21 09:37:27.777 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (2, 1) failed constraints: row=False, col=True
11-21 09:37:27.777 28473 28500 I Unity : Checking replacement: tile 14 replacing 14 at (2,2)
11-21 09:37:27.777 28473 28500 I Unity : Board state - Row 2: [0, 0, 14, 0]
11-21 09:37:27.777 28473 28500 I Unity : Board state - Col 2: [0, 0, 14, 0]
11-21 09:37:27.777 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:27.778 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (2, 3) failed constraints: row=False, col=False
11-21 09:37:27.778 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (3, 0) failed constraints: row=False, col=True
11-21 09:37:27.778 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (3, 1) failed constraints: row=False, col=True
11-21 09:37:27.778 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (3, 2) failed constraints: row=False, col=False
11-21 09:37:27.778 28473 28500 I Unity : Checking replacement: tile 14 replacing 12 at (3,3)
11-21 09:37:27.778 28473 28500 I Unity : Board state - Row 3: [0, 0, 0, 12]
11-21 09:37:27.778 28473 28500 I Unity : Board state - Col 3: [0, 0, 0, 12]
11-21 09:37:27.778 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:27.778 28473 28500 I Unity : AI Player 1 replacement decision: Replacement chosen (no beneficial empty) | pot=0.00, policy=-0.50
11-21 09:37:27.779 28473 28500 I Unity : AI Player 1 replacing tile at (3, 3)
11-21 09:37:27.779 28473 28500 I Unity : Checking replacement: tile 14 replacing 12 at (3,3)
11-21 09:37:27.779 28473 28500 I Unity : Board state - Row 3: [0, 0, 0, 12]
11-21 09:37:27.779 28473 28500 I Unity : Board state - Col 3: [0, 0, 0, 12]
11-21 09:37:27.779 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:27.779 28473 28500 I Unity : Replacing tile 12 at (3, 3) with Yellow 14
11-21 09:37:27.779 28473 28500 I Unity : Discarded tile: Red 12 (1 tiles in discard pile)
11-21 09:37:27.780 28473 28500 I Unity : Tile discarded: Player 1 discarded Red 12
11-21 09:37:27.780 28473 28500 I Unity : [DISCARD DEBUG] Cached logical discarded tile for player 1: Red 12
11-21 09:37:27.780 28473 28500 I Unity : [PlayerBoard] Player 1 removed tile 12 from (3, 3) | Board now: 3/16 filled
11-21 09:37:27.780 28473 28500 I Unity : [PlayerBoard] Player 1 placed tile 14 at (3, 3) | Board now: 4/16 filled
11-21 09:37:27.780 28473 28500 I Unity : Player 1 placed Yellow 14 with replacement at (3, 3)
11-21 09:37:27.780 28473 28500 I Unity : Player 1 Board (4/16 filled):
11-21 09:37:27.780 28473 28500 I Unity : 02 -- -- --
11-21 09:37:27.780 28473 28500 I Unity : -- 03 -- --
11-21 09:37:27.780 28473 28500 I Unity : -- -- 14 --
11-21 09:37:27.780 28473 28500 I Unity : -- -- -- 14
11-21 09:37:27.781 28473 28500 I Unity : Tile placed: Player 1 placed Yellow 14 at (3, 3)
11-21 09:37:27.781 28473 28500 I Unity : Opponent replacing tile 12 with 14 at (3, 3)
11-21 09:37:27.781 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=False, HasUnplacedTile=True, TestModeAllAI=False
11-21 09:37:27.781 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:37:27.781 28473 28500 W Unity : Tile 11: SetInteractable(False) - No Collider2D found!
11-21 09:37:27.781 28473 28500 W Unity : Tile 20: SetInteractable(False) - No Collider2D found!
11-21 09:37:27.781 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:37:27.781 28473 28500 I Unity : UIDiscardDeck interactability set to: False
11-21 09:37:27.782 28473 28500 I Unity : Tile 2: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:27.782 28473 28500 I Unity : Tile 3: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:27.782 28473 28500 I Unity : Tile 14: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:27.782 28473 28500 I Unity : Tile 12: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:27.782 28473 28500 I Unity : Player 1 placed tiles interactivity set to: False
11-21 09:37:27.782 28473 28500 I Unity : Interactability updated for player 1
11-21 09:37:27.782 28473 28500 I Unity : Valid placements changed: 0 positions
11-21 09:37:27.782 28473 28500 I Unity : Highlighted 0 valid placements for Player 1
11-21 09:37:27.782 28473 28500 I Unity : ═══════════════════════════════════════════════════════
11-21 09:37:27.782 28473 28500 I Unity : TURN CHANGE: Player 1 → Player 2
11-21 09:37:27.783 28473 28500 I Unity : Turn #2 | Tiles Remaining: 62 | Discard Pile: 1
11-21 09:37:27.783 28473 28500 I Unity : ═══════════════════════════════════════════════════════
11-21 09:37:27.783 28473 28500 I Unity : Game state changed: Game State: Playing, Turn 2, Player 2, Draw: 62, Discard: 1
11-21 09:37:27.783 28473 28500 I Unity : Updating deck UI with remaining count: 62
11-21 09:37:27.783 28473 28500 I Unity : UpdateRemainingCount called with: 62
11-21 09:37:27.783 28473 28500 I Unity : Set deck count text to: 62
11-21 09:37:27.783 28473 28500 I Unity : Game UI updated
11-21 09:37:27.783 28473 28500 I Unity : Player turn changed to Player 2
11-21 09:37:27.783 28473 28500 I Unity : Player 0 current player status: False
11-21 09:37:27.784 28473 28500 I Unity : Player 1 current player status: False
11-21 09:37:27.784 28473 28500 I Unity : Player 2 current player status: True
11-21 09:37:27.784 28473 28500 I Unity : Player 3 current player status: False
11-21 09:37:27.784 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=False, HasUnplacedTile=False, TestModeAllAI=False
11-21 09:37:27.784 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:37:27.784 28473 28500 W Unity : Tile 11: SetInteractable(False) - No Collider2D found!
11-21 09:37:27.784 28473 28500 W Unity : Tile 20: SetInteractable(False) - No Collider2D found!
11-21 09:37:27.785 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:37:27.785 28473 28500 I Unity : UIDiscardDeck interactability set to: False
11-21 09:37:27.785 28473 28500 I Unity : Tile 13: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:27.785 28473 28500 I Unity : Tile 15: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:27.785 28473 28500 I Unity : Tile 11: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:27.785 28473 28500 I Unity : Tile 20: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:27.785 28473 28500 I Unity : Player 2 placed tiles interactivity set to: False
11-21 09:37:27.785 28473 28500 I Unity : Interactability updated for player 2
11-21 09:37:27.785 28473 28500 I Unity : Starting AI turn for Player 2
11-21 09:37:27.786 28473 28500 I Unity : Tile 8: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:28.059 28473 28500 I Unity : Tile 15 animation to (2.00, 1.99, 0.00) complete
11-21 09:37:28.059 28473 28500 I Unity : SetTileData called with: Red 12, Color enum: 1
11-21 09:37:28.059 28473 28500 I Unity : Updated _originalSprite to: TilePurple for Red
11-21 09:37:28.059 28473 28500 I Unity : Before UpdateVisualRepresentation: _color=Red (enum: 1), GameTileSprites=4
11-21 09:37:28.060 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=12, Color=Red, NumberText null: False
11-21 09:37:28.060 28473 28500 I Unity : Set tile text to: 12, text active: True
11-21 09:37:28.060 28473 28500 I Unity : Set sprite renderer sprite to: TilePurple for color Red (index 1)
11-21 09:37:28.060 28473 28500 I Unity : Tile 15 set to Red 12
11-21 09:37:28.060 28473 28500 I Unity : Tile 12: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:37:28.061 28473 28500 I Unity : [UIDiscardDeck] Destroyed collider for discard pile tile 12
11-21 09:37:28.061 28473 28500 I Unity : Tile 12: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:28.061 28473 28500 I Unity : Discard Pile: Tile 14 (index 0) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 3, Text Order: 4
11-21 09:37:28.061 28473 28500 I Unity : Discard Pile: Tile 11 (index 1) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 5, Text Order: 6
11-21 09:37:28.061 28473 28500 I Unity : Discard Pile: Tile 20 (index 2) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 7, Text Order: 8
11-21 09:37:28.061 28473 28500 I Unity : Discard Pile: Tile 14 (index 3) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 9, Text Order: 10
11-21 09:37:28.061 28473 28500 I Unity : Discard Pile: Tile 12 (index 4) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 11, Text Order: 12
11-21 09:37:28.061 28473 28500 I Unity : UpdateDiscardCount called with: 1
11-21 09:37:28.062 28473 28500 I Unity : Set discard count text to: 1
11-21 09:37:28.062 28473 28500 I Unity : [UIDiscardDeck] Added tile 12 to discard deck (5 total)
11-21 09:37:28.062 28473 28500 I Unity : UpdateDiscardCount called with: 1
11-21 09:37:28.062 28473 28500 I Unity : Set discard count text to: 1
11-21 09:37:28.263 28473 28500 I Unity : Tile 0 animation to (-3.43, 5.22, 0.00) complete
11-21 09:37:28.263 28473 28500 I Unity : Tile 15 number text visibility set to: True (faceDown: False)
11-21 09:37:28.263 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=14, Color=Yellow, NumberText null: False
11-21 09:37:28.264 28473 28500 I Unity : Set tile text to: 14, text active: True
11-21 09:37:28.264 28473 28500 I Unity : Set sprite renderer sprite to: TileGreen for color Yellow (index 0)
11-21 09:37:28.264 28473 28500 I Unity : Tile 15 set to face-up
11-21 09:37:28.264 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=14, Color=Yellow, NumberText null: False
11-21 09:37:28.264 28473 28500 I Unity : Set tile text to: 14, text active: True
11-21 09:37:28.264 28473 28500 I Unity : Set sprite renderer sprite to: TileGreen for color Yellow (index 0)
11-21 09:37:28.264 28473 28500 I Unity : Placed tile 14 on grid cell 15 at (3.00, 3.00)
11-21 09:37:28.265 28473 28500 I Unity : Animated opponent tile placement for Player 1 at (3, 3) (board scale: (0.50, 0.50, 1.00))
11-21 09:37:28.265 28473 28500 I Unity : AI Player 1 turn completed
11-21 09:37:28.265 28473 28500 I Unity : AI turn completed for Player 1
11-21 09:37:28.762 28473 28500 I Unity : AI Player 2 (MethodicalPlanner) starting turn...
11-21 09:37:31.702 28473 28500 I Unity : Checking replacement: tile 12 replacing 13 at (0,0)
11-21 09:37:31.702 28473 28500 I Unity : Board state - Row 0: [13, 0, 0, 0]
11-21 09:37:31.702 28473 28500 I Unity : Board state - Col 0: [13, 0, 0, 0]
11-21 09:37:31.702 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:31.703 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (0, 1) failed constraints: row=False, col=True
11-21 09:37:31.703 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (0, 2) failed constraints: row=False, col=False
11-21 09:37:31.703 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (0, 3) failed constraints: row=False, col=True
11-21 09:37:31.703 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (1, 0) failed constraints: row=True, col=False
11-21 09:37:31.703 28473 28500 I Unity : Checking replacement: tile 12 replacing 15 at (1,1)
11-21 09:37:31.703 28473 28500 I Unity : Board state - Row 1: [0, 15, 0, 0]
11-21 09:37:31.703 28473 28500 I Unity : Board state - Col 1: [0, 15, 0, 0]
11-21 09:37:31.703 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:31.704 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (1, 2) failed constraints: row=False, col=False
11-21 09:37:31.704 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (1, 3) failed constraints: row=False, col=True
11-21 09:37:31.704 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (2, 0) failed constraints: row=False, col=False
11-21 09:37:31.704 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (2, 1) failed constraints: row=False, col=False
11-21 09:37:31.704 28473 28500 I Unity : Checking replacement: tile 12 replacing 11 at (2,2)
11-21 09:37:31.704 28473 28500 I Unity : Board state - Row 2: [0, 0, 11, 0]
11-21 09:37:31.704 28473 28500 I Unity : Board state - Col 2: [0, 0, 11, 0]
11-21 09:37:31.704 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:31.704 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (2, 3) is VALID
11-21 09:37:31.704 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (3, 0) failed constraints: row=True, col=False
11-21 09:37:31.704 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (3, 1) failed constraints: row=True, col=False
11-21 09:37:31.705 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (3, 2) is VALID
11-21 09:37:31.705 28473 28500 I Unity : Checking replacement: tile 12 replacing 20 at (3,3)
11-21 09:37:31.705 28473 28500 I Unity : Board state - Row 3: [0, 0, 0, 20]
11-21 09:37:31.705 28473 28500 I Unity : Board state - Col 3: [0, 0, 0, 20]
11-21 09:37:31.705 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:31.705 28473 28500 I Unity : AI Player 2 decision: TakeFaceUp - Top discard Red 12 has beneficial placement(s): 5 (Score: 0.92)
11-21 09:37:31.706 28473 28500 I Unity : AI Player 2 taking tile 0 from discard pile
11-21 09:37:31.706 28473 28500 I Unity : Took discarded tile: Red 12 from index 0
11-21 09:37:31.706 28473 28500 I Unity : Player 2 took discarded tile: Red 12 from DiscardPile
11-21 09:37:31.706 28473 28500 I Unity : Tile drawn: Player 2 drew Red 12
11-21 09:37:31.708 28473 28500 I Unity : UIGameTile Start: SpriteRenderer=True, NumberText=True
11-21 09:37:31.708 28473 28500 I Unity : SetTileData called with: Red 12, Color enum: 1
11-21 09:37:31.708 28473 28500 I Unity : Updated _originalSprite to: TilePurple for Red
11-21 09:37:31.708 28473 28500 I Unity : Before UpdateVisualRepresentation: _color=Red (enum: 1), GameTileSprites=4
11-21 09:37:31.708 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=12, Color=Red, NumberText null: False
11-21 09:37:31.708 28473 28500 I Unity : Set tile text to: 12, text active: True
11-21 09:37:31.709 28473 28500 I Unity : Set sprite renderer sprite to: TilePurple for color Red (index 1)
11-21 09:37:31.709 28473 28500 I Unity : Tile 0 set to Red 12
11-21 09:37:31.709 28473 28500 I Unity : Tile 0 number text visibility set to: True (faceDown: False)
11-21 09:37:31.709 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=12, Color=Red, NumberText null: False
11-21 09:37:31.709 28473 28500 I Unity : Set tile text to: 12, text active: True
11-21 09:37:31.709 28473 28500 I Unity : Set sprite renderer sprite to: TilePurple for color Red (index 1)
11-21 09:37:31.709 28473 28500 I Unity : Tile 0 set to face-up
11-21 09:37:31.709 28473 28500 I Unity : Tile 12: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:31.710 28473 28500 I Unity : Created temporary drawn tile Red 12 for opponent Player 2
11-21 09:37:31.710 28473 28500 I Unity : UpdateDiscardCount called with: 0
11-21 09:37:31.710 28473 28500 I Unity : Set discard count text to: 0
11-21 09:37:31.710 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=False, HasUnplacedTile=True, TestModeAllAI=False
11-21 09:37:31.710 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:37:31.710 28473 28500 W Unity : Tile 11: SetInteractable(False) - No Collider2D found!
11-21 09:37:31.710 28473 28500 W Unity : Tile 20: SetInteractable(False) - No Collider2D found!
11-21 09:37:31.710 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:37:31.710 28473 28500 W Unity : Tile 12: SetInteractable(False) - No Collider2D found!
11-21 09:37:31.710 28473 28500 I Unity : UIDiscardDeck interactability set to: False
11-21 09:37:31.711 28473 28500 I Unity : Tile 13: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:31.711 28473 28500 I Unity : Tile 15: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:31.711 28473 28500 I Unity : Tile 11: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:31.711 28473 28500 I Unity : Tile 20: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:31.711 28473 28500 I Unity : Player 2 placed tiles interactivity set to: False
11-21 09:37:31.711 28473 28500 I Unity : Interactability updated for player 2
11-21 09:37:31.711 28473 28500 I Unity : Checking replacement: tile 12 replacing 13 at (0,0)
11-21 09:37:31.711 28473 28500 I Unity : Board state - Row 0: [13, 0, 0, 0]
11-21 09:37:31.711 28473 28500 I Unity : Board state - Col 0: [13, 0, 0, 0]
11-21 09:37:31.712 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:31.712 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (0, 1) failed constraints: row=False, col=True
11-21 09:37:31.715 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (0, 2) failed constraints: row=False, col=False
11-21 09:37:31.715 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (0, 3) failed constraints: row=False, col=True
11-21 09:37:31.715 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (1, 0) failed constraints: row=True, col=False
11-21 09:37:31.715 28473 28500 I Unity : Checking replacement: tile 12 replacing 15 at (1,1)
11-21 09:37:31.715 28473 28500 I Unity : Board state - Row 1: [0, 15, 0, 0]
11-21 09:37:31.715 28473 28500 I Unity : Board state - Col 1: [0, 15, 0, 0]
11-21 09:37:31.715 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:31.715 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (1, 2) failed constraints: row=False, col=False
11-21 09:37:31.715 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (1, 3) failed constraints: row=False, col=True
11-21 09:37:31.716 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (2, 0) failed constraints: row=False, col=False
11-21 09:37:31.716 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (2, 1) failed constraints: row=False, col=False
11-21 09:37:31.716 28473 28500 I Unity : Checking replacement: tile 12 replacing 11 at (2,2)
11-21 09:37:31.716 28473 28500 I Unity : Board state - Row 2: [0, 0, 11, 0]
11-21 09:37:31.716 28473 28500 I Unity : Board state - Col 2: [0, 0, 11, 0]
11-21 09:37:31.716 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:31.716 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (2, 3) is VALID
11-21 09:37:31.716 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (3, 0) failed constraints: row=True, col=False
11-21 09:37:31.716 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (3, 1) failed constraints: row=True, col=False
11-21 09:37:31.716 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (3, 2) is VALID
11-21 09:37:31.717 28473 28500 I Unity : Checking replacement: tile 12 replacing 20 at (3,3)
11-21 09:37:31.717 28473 28500 I Unity : Board state - Row 3: [0, 0, 0, 20]
11-21 09:37:31.717 28473 28500 I Unity : Board state - Col 3: [0, 0, 0, 20]
11-21 09:37:31.717 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:31.717 28473 28500 I Unity : Found 6 valid placements for tile Red 12
11-21 09:37:31.717 28473 28500 I Unity : Valid placements changed: 6 positions
11-21 09:37:31.717 28473 28500 I Unity : Highlighted 6 valid placements for Player 2
11-21 09:37:31.718 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (0, 0) already occupied by 13
11-21 09:37:31.718 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (0, 1) failed constraints: row=False, col=True
11-21 09:37:31.718 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (0, 2) failed constraints: row=False, col=False
11-21 09:37:31.718 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (0, 3) failed constraints: row=False, col=True
11-21 09:37:31.718 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (1, 0) failed constraints: row=True, col=False
11-21 09:37:31.718 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (1, 1) already occupied by 15
11-21 09:37:31.718 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (1, 2) failed constraints: row=False, col=False
11-21 09:37:31.718 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (1, 3) failed constraints: row=False, col=True
11-21 09:37:31.718 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (2, 0) failed constraints: row=False, col=False
11-21 09:37:31.719 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (2, 1) failed constraints: row=False, col=False
11-21 09:37:31.719 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (2, 2) already occupied by 11
11-21 09:37:31.719 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (2, 3) is VALID
11-21 09:37:31.719 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (3, 0) failed constraints: row=True, col=False
11-21 09:37:31.719 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (3, 1) failed constraints: row=True, col=False
11-21 09:37:31.719 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (3, 2) is VALID
11-21 09:37:31.719 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (3, 3) already occupied by 20
11-21 09:37:31.719 28473 28500 I Unity : Checking replacement: tile 12 replacing 13 at (0,0)
11-21 09:37:31.720 28473 28500 I Unity : Board state - Row 0: [13, 0, 0, 0]
11-21 09:37:31.720 28473 28500 I Unity : Board state - Col 0: [13, 0, 0, 0]
11-21 09:37:31.720 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:31.720 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (0, 1) failed constraints: row=False, col=True
11-21 09:37:31.720 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (0, 2) failed constraints: row=False, col=False
11-21 09:37:31.720 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (0, 3) failed constraints: row=False, col=True
11-21 09:37:31.720 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (1, 0) failed constraints: row=True, col=False
11-21 09:37:31.720 28473 28500 I Unity : Checking replacement: tile 12 replacing 15 at (1,1)
11-21 09:37:31.721 28473 28500 I Unity : Board state - Row 1: [0, 15, 0, 0]
11-21 09:37:31.721 28473 28500 I Unity : Board state - Col 1: [0, 15, 0, 0]
11-21 09:37:31.721 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:31.721 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (1, 2) failed constraints: row=False, col=False
11-21 09:37:31.721 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (1, 3) failed constraints: row=False, col=True
11-21 09:37:31.721 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (2, 0) failed constraints: row=False, col=False
11-21 09:37:31.721 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (2, 1) failed constraints: row=False, col=False
11-21 09:37:31.721 28473 28500 I Unity : Checking replacement: tile 12 replacing 11 at (2,2)
11-21 09:37:31.721 28473 28500 I Unity : Board state - Row 2: [0, 0, 11, 0]
11-21 09:37:31.721 28473 28500 I Unity : Board state - Col 2: [0, 0, 11, 0]
11-21 09:37:31.722 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:31.722 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (2, 3) is VALID
11-21 09:37:31.722 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (3, 0) failed constraints: row=True, col=False
11-21 09:37:31.722 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (3, 1) failed constraints: row=True, col=False
11-21 09:37:31.722 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (3, 2) is VALID
11-21 09:37:31.722 28473 28500 I Unity : Checking replacement: tile 12 replacing 20 at (3,3)
11-21 09:37:31.722 28473 28500 I Unity : Board state - Row 3: [0, 0, 0, 20]
11-21 09:37:31.722 28473 28500 I Unity : Board state - Col 3: [0, 0, 0, 20]
11-21 09:37:31.722 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:31.723 28473 28500 I Unity : Prefer empty-cell over replacement | emptyPolicy=1.92, replPolicy=-0.42, penalty=0.50
11-21 09:37:31.723 28473 28500 I Unity : Chose empty-cell placement over replacement | emptyScore=1.92, replaceScore=-0.42
11-21 09:37:31.723 28473 28500 I Unity : AI Player 2 placing tile at (3, 2)
11-21 09:37:31.723 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (2, 3) is VALID
11-21 09:37:31.723 28473 28500 I Unity : [PlayerBoard] Player 2 placed tile 12 at (2, 3) | Board now: 5/16 filled
11-21 09:37:31.724 28473 28500 I Unity : [PLACEMENT] ✓ Player 2 placed Red 12 at (2, 3) | Board: 5/16 filled | Remaining draw: 62
11-21 09:37:31.725 28473 28500 I Unity : Player 2 Board (5/16 filled):
11-21 09:37:31.725 28473 28500 I Unity : 13 -- -- --
11-21 09:37:31.725 28473 28500 I Unity : -- 15 -- --
11-21 09:37:31.725 28473 28500 I Unity : -- -- 11 12
11-21 09:37:31.725 28473 28500 I Unity : -- -- -- 20
11-21 09:37:31.725 28473 28500 I Unity : Tile placed: Player 2 placed Red 12 at (2, 3)
11-21 09:37:31.725 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=False, HasUnplacedTile=True, TestModeAllAI=False
11-21 09:37:31.725 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:37:31.726 28473 28500 W Unity : Tile 11: SetInteractable(False) - No Collider2D found!
11-21 09:37:31.726 28473 28500 W Unity : Tile 20: SetInteractable(False) - No Collider2D found!
11-21 09:37:31.726 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:37:31.726 28473 28500 W Unity : Tile 12: SetInteractable(False) - No Collider2D found!
11-21 09:37:31.726 28473 28500 I Unity : UIDiscardDeck interactability set to: False
11-21 09:37:31.726 28473 28500 I Unity : Tile 13: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:31.726 28473 28500 I Unity : Tile 15: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:31.727 28473 28500 I Unity : Tile 11: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:31.727 28473 28500 I Unity : Tile 20: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:31.728 28473 28500 I Unity : Player 2 placed tiles interactivity set to: False
11-21 09:37:31.728 28473 28500 I Unity : Interactability updated for player 2
11-21 09:37:31.728 28473 28500 I Unity : Valid placements changed: 0 positions
11-21 09:37:31.728 28473 28500 I Unity : Highlighted 0 valid placements for Player 2
11-21 09:37:31.728 28473 28500 I Unity : ═══════════════════════════════════════════════════════
11-21 09:37:31.728 28473 28500 I Unity : TURN CHANGE: Player 2 → Player 3
11-21 09:37:31.728 28473 28500 I Unity : Turn #2 | Tiles Remaining: 62 | Discard Pile: 0
11-21 09:37:31.728 28473 28500 I Unity : ═══════════════════════════════════════════════════════
11-21 09:37:31.729 28473 28500 I Unity : Game state changed: Game State: Playing, Turn 2, Player 3, Draw: 62, Discard: 0
11-21 09:37:31.729 28473 28500 I Unity : Updating deck UI with remaining count: 62
11-21 09:37:31.729 28473 28500 I Unity : UpdateRemainingCount called with: 62
11-21 09:37:31.729 28473 28500 I Unity : Set deck count text to: 62
11-21 09:37:31.729 28473 28500 I Unity : Game UI updated
11-21 09:37:31.729 28473 28500 I Unity : Player turn changed to Player 3
11-21 09:37:31.729 28473 28500 I Unity : Player 0 current player status: False
11-21 09:37:31.729 28473 28500 I Unity : Player 1 current player status: False
11-21 09:37:31.730 28473 28500 I Unity : Player 2 current player status: False
11-21 09:37:31.730 28473 28500 I Unity : Player 3 current player status: True
11-21 09:37:31.731 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=False, HasUnplacedTile=False, TestModeAllAI=False
11-21 09:37:31.731 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:37:31.731 28473 28500 W Unity : Tile 11: SetInteractable(False) - No Collider2D found!
11-21 09:37:31.731 28473 28500 W Unity : Tile 20: SetInteractable(False) - No Collider2D found!
11-21 09:37:31.732 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:37:31.735 28473 28500 W Unity : Tile 12: SetInteractable(False) - No Collider2D found!
11-21 09:37:31.736 28473 28500 I Unity : UIDiscardDeck interactability set to: False
11-21 09:37:31.736 28473 28500 I Unity : Tile 7: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:31.736 28473 28500 I Unity : Tile 10: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:31.736 28473 28500 I Unity : Tile 14: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:31.736 28473 28500 I Unity : Tile 20: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:31.736 28473 28500 I Unity : Player 3 placed tiles interactivity set to: False
11-21 09:37:31.736 28473 28500 I Unity : Interactability updated for player 3
11-21 09:37:31.736 28473 28500 I Unity : Starting AI turn for Player 3
11-21 09:37:31.737 28473 28500 I Unity : Tile 8: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:32.203 28473 28500 I Unity : Tile 0 animation to (1.58, 6.27, 0.00) complete
11-21 09:37:32.203 28473 28500 I Unity : Tile 11 number text visibility set to: True (faceDown: False)
11-21 09:37:32.203 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=12, Color=Red, NumberText null: False
11-21 09:37:32.204 28473 28500 I Unity : Set tile text to: 12, text active: True
11-21 09:37:32.204 28473 28500 I Unity : Set sprite renderer sprite to: TilePurple for color Red (index 1)
11-21 09:37:32.204 28473 28500 I Unity : Tile 11 set to face-up
11-21 09:37:32.204 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=12, Color=Red, NumberText null: False
11-21 09:37:32.204 28473 28500 I Unity : Set tile text to: 12, text active: True
11-21 09:37:32.204 28473 28500 I Unity : Set sprite renderer sprite to: TilePurple for color Red (index 1)
11-21 09:37:32.204 28473 28500 I Unity : Placed tile 12 on grid cell 11 at (3.00, 2.00)
11-21 09:37:32.204 28473 28500 I Unity : Animated opponent tile placement for Player 2 at (3, 2) (board scale: (0.50, 0.50, 1.00))
11-21 09:37:32.205 28473 28500 I Unity : AI Player 2 turn completed
11-21 09:37:32.205 28473 28500 I Unity : AI turn completed for Player 2
11-21 09:37:32.703 28473 28500 I Unity : AI Player 3 (MethodicalPlanner) starting turn...
11-21 09:37:36.175 28473 28500 I Unity : AI Player 3 decision: DrawFaceDown - Draw face-down tile - unknown potential (Score: 1.00)
11-21 09:37:36.176 28473 28500 I Unity : AI Player 3 drawing from face-down pile
11-21 09:37:36.176 28473 28500 I Unity : Drew tile: Purple 11 (61 tiles remaining)
11-21 09:37:36.176 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (0, 0) already occupied by 7
11-21 09:37:36.176 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (0, 1) failed constraints: row=True, col=False
11-21 09:37:36.176 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (0, 2) is VALID
11-21 09:37:36.176 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (0, 3) is VALID
11-21 09:37:36.176 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (1, 0) failed constraints: row=False, col=True
11-21 09:37:36.176 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (1, 1) already occupied by 10
11-21 09:37:36.176 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (1, 2) is VALID
11-21 09:37:36.177 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (1, 3) is VALID
11-21 09:37:36.177 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (2, 0) is VALID
11-21 09:37:36.177 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (2, 1) is VALID
11-21 09:37:36.177 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (2, 2) already occupied by 14
11-21 09:37:36.177 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (2, 3) failed constraints: row=False, col=True
11-21 09:37:36.177 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (3, 0) is VALID
11-21 09:37:36.177 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (3, 1) is VALID
11-21 09:37:36.177 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (3, 2) failed constraints: row=True, col=False
11-21 09:37:36.177 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (3, 3) already occupied by 20
11-21 09:37:36.178 28473 28500 I Unity : → Player 3 drew tile: Purple 11 from DrawPile | Valid placements: 8
11-21 09:37:36.178 28473 28500 I Unity : Tile drawn: Player 3 drew Purple 11
11-21 09:37:36.179 28473 28500 I Unity : UIGameTile Start: SpriteRenderer=True, NumberText=True
11-21 09:37:36.179 28473 28500 I Unity : SetTileData called with: Purple 11, Color enum: 2
11-21 09:37:36.179 28473 28500 I Unity : Updated _originalSprite to: TileRed for Purple
11-21 09:37:36.179 28473 28500 I Unity : Before UpdateVisualRepresentation: _color=Purple (enum: 2), GameTileSprites=4
11-21 09:37:36.180 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=11, Color=Purple, NumberText null: False
11-21 09:37:36.180 28473 28500 I Unity : Set tile text to: 11, text active: True
11-21 09:37:36.180 28473 28500 I Unity : Set sprite renderer sprite to: TileRed for color Purple (index 2)
11-21 09:37:36.180 28473 28500 I Unity : Tile 0 set to Purple 11
11-21 09:37:36.180 28473 28500 I Unity : Tile 0 number text visibility set to: True (faceDown: False)
11-21 09:37:36.181 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=11, Color=Purple, NumberText null: False
11-21 09:37:36.181 28473 28500 I Unity : Set tile text to: 11, text active: True
11-21 09:37:36.181 28473 28500 I Unity : Set sprite renderer sprite to: TileRed for color Purple (index 2)
11-21 09:37:36.181 28473 28500 I Unity : Tile 0 set to face-up
11-21 09:37:36.181 28473 28500 I Unity : Tile 11: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:36.181 28473 28500 I Unity : Created temporary drawn tile Purple 11 for opponent Player 3
11-21 09:37:36.181 28473 28500 I Unity : UpdateDiscardCount called with: 0
11-21 09:37:36.181 28473 28500 I Unity : Set discard count text to: 0
11-21 09:37:36.181 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=False, HasUnplacedTile=True, TestModeAllAI=False
11-21 09:37:36.182 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:37:36.182 28473 28500 W Unity : Tile 11: SetInteractable(False) - No Collider2D found!
11-21 09:37:36.182 28473 28500 W Unity : Tile 20: SetInteractable(False) - No Collider2D found!
11-21 09:37:36.182 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:37:36.182 28473 28500 W Unity : Tile 12: SetInteractable(False) - No Collider2D found!
11-21 09:37:36.182 28473 28500 I Unity : UIDiscardDeck interactability set to: False
11-21 09:37:36.182 28473 28500 I Unity : Tile 7: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:36.182 28473 28500 I Unity : Tile 10: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:36.182 28473 28500 I Unity : Tile 14: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:36.182 28473 28500 I Unity : Tile 20: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:36.182 28473 28500 I Unity : Player 3 placed tiles interactivity set to: False
11-21 09:37:36.183 28473 28500 I Unity : Interactability updated for player 3
11-21 09:37:36.183 28473 28500 I Unity : Checking replacement: tile 11 replacing 7 at (0,0)
11-21 09:37:36.183 28473 28500 I Unity : Board state - Row 0: [7, 0, 0, 0]
11-21 09:37:36.183 28473 28500 I Unity : Board state - Col 0: [7, 0, 0, 0]
11-21 09:37:36.183 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:36.183 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (0, 1) failed constraints: row=True, col=False
11-21 09:37:36.183 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (0, 2) is VALID
11-21 09:37:36.183 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (0, 3) is VALID
11-21 09:37:36.183 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (1, 0) failed constraints: row=False, col=True
11-21 09:37:36.183 28473 28500 I Unity : Checking replacement: tile 11 replacing 10 at (1,1)
11-21 09:37:36.184 28473 28500 I Unity : Board state - Row 1: [0, 10, 0, 0]
11-21 09:37:36.184 28473 28500 I Unity : Board state - Col 1: [0, 10, 0, 0]
11-21 09:37:36.184 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:36.184 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (1, 2) is VALID
11-21 09:37:36.184 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (1, 3) is VALID
11-21 09:37:36.184 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (2, 0) is VALID
11-21 09:37:36.184 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (2, 1) is VALID
11-21 09:37:36.184 28473 28500 I Unity : Checking replacement: tile 11 replacing 14 at (2,2)
11-21 09:37:36.184 28473 28500 I Unity : Board state - Row 2: [0, 0, 14, 0]
11-21 09:37:36.184 28473 28500 I Unity : Board state - Col 2: [0, 0, 14, 0]
11-21 09:37:36.184 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:36.185 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (2, 3) failed constraints: row=False, col=True
11-21 09:37:36.185 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (3, 0) is VALID
11-21 09:37:36.185 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (3, 1) is VALID
11-21 09:37:36.185 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (3, 2) failed constraints: row=True, col=False
11-21 09:37:36.185 28473 28500 I Unity : Checking replacement: tile 11 replacing 20 at (3,3)
11-21 09:37:36.185 28473 28500 I Unity : Board state - Row 3: [0, 0, 0, 20]
11-21 09:37:36.185 28473 28500 I Unity : Board state - Col 3: [0, 0, 0, 20]
11-21 09:37:36.185 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:36.185 28473 28500 I Unity : Found 12 valid placements for tile Purple 11
11-21 09:37:36.185 28473 28500 I Unity : Valid placements changed: 12 positions
11-21 09:37:36.186 28473 28500 I Unity : Highlighted 12 valid placements for Player 3
11-21 09:37:37.182 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (0, 0) already occupied by 7
11-21 09:37:37.182 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (0, 1) failed constraints: row=True, col=False
11-21 09:37:37.182 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (0, 2) is VALID
11-21 09:37:37.182 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (0, 3) is VALID
11-21 09:37:37.182 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (1, 0) failed constraints: row=False, col=True
11-21 09:37:37.182 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (1, 1) already occupied by 10
11-21 09:37:37.183 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (1, 2) is VALID
11-21 09:37:37.183 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (1, 3) is VALID
11-21 09:37:37.183 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (2, 0) is VALID
11-21 09:37:37.183 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (2, 1) is VALID
11-21 09:37:37.183 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (2, 2) already occupied by 14
11-21 09:37:37.183 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (2, 3) failed constraints: row=False, col=True
11-21 09:37:37.183 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (3, 0) is VALID
11-21 09:37:37.183 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (3, 1) is VALID
11-21 09:37:37.183 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (3, 2) failed constraints: row=True, col=False
11-21 09:37:37.184 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (3, 3) already occupied by 20
11-21 09:37:37.184 28473 28500 I Unity : Checking replacement: tile 11 replacing 7 at (0,0)
11-21 09:37:37.184 28473 28500 I Unity : Board state - Row 0: [7, 0, 0, 0]
11-21 09:37:37.184 28473 28500 I Unity : Board state - Col 0: [7, 0, 0, 0]
11-21 09:37:37.184 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:37.184 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (0, 1) failed constraints: row=True, col=False
11-21 09:37:37.184 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (0, 2) is VALID
11-21 09:37:37.184 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (0, 3) is VALID
11-21 09:37:37.184 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (1, 0) failed constraints: row=False, col=True
11-21 09:37:37.184 28473 28500 I Unity : Checking replacement: tile 11 replacing 10 at (1,1)
11-21 09:37:37.185 28473 28500 I Unity : Board state - Row 1: [0, 10, 0, 0]
11-21 09:37:37.185 28473 28500 I Unity : Board state - Col 1: [0, 10, 0, 0]
11-21 09:37:37.185 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:37.185 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (1, 2) is VALID
11-21 09:37:37.185 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (1, 3) is VALID
11-21 09:37:37.185 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (2, 0) is VALID
11-21 09:37:37.185 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (2, 1) is VALID
11-21 09:37:37.185 28473 28500 I Unity : Checking replacement: tile 11 replacing 14 at (2,2)
11-21 09:37:37.185 28473 28500 I Unity : Board state - Row 2: [0, 0, 14, 0]
11-21 09:37:37.185 28473 28500 I Unity : Board state - Col 2: [0, 0, 14, 0]
11-21 09:37:37.185 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:37.186 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (2, 3) failed constraints: row=False, col=True
11-21 09:37:37.186 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (3, 0) is VALID
11-21 09:37:37.186 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (3, 1) is VALID
11-21 09:37:37.186 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (3, 2) failed constraints: row=True, col=False
11-21 09:37:37.186 28473 28500 I Unity : Checking replacement: tile 11 replacing 20 at (3,3)
11-21 09:37:37.186 28473 28500 I Unity : Board state - Row 3: [0, 0, 0, 20]
11-21 09:37:37.186 28473 28500 I Unity : Board state - Col 3: [0, 0, 0, 20]
11-21 09:37:37.186 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:37.187 28473 28500 I Unity : AI Player 3 placing tile at (1, 2)
11-21 09:37:37.187 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 11 at (2, 1) is VALID
11-21 09:37:37.187 28473 28500 I Unity : [PlayerBoard] Player 3 placed tile 11 at (2, 1) | Board now: 5/16 filled
11-21 09:37:37.187 28473 28500 I Unity : [PLACEMENT] ✓ Player 3 placed Purple 11 at (2, 1) | Board: 5/16 filled | Remaining draw: 61
11-21 09:37:37.187 28473 28500 I Unity : Player 3 Board (5/16 filled):
11-21 09:37:37.187 28473 28500 I Unity : 07 -- -- --
11-21 09:37:37.187 28473 28500 I Unity : -- 10 -- --
11-21 09:37:37.187 28473 28500 I Unity : -- 11 14 --
11-21 09:37:37.188 28473 28500 I Unity : -- -- -- 20
11-21 09:37:37.188 28473 28500 I Unity : Tile placed: Player 3 placed Purple 11 at (2, 1)
11-21 09:37:37.188 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=False, HasUnplacedTile=True, TestModeAllAI=False
11-21 09:37:37.188 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:37:37.188 28473 28500 W Unity : Tile 11: SetInteractable(False) - No Collider2D found!
11-21 09:37:37.188 28473 28500 W Unity : Tile 20: SetInteractable(False) - No Collider2D found!
11-21 09:37:37.188 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:37:37.189 28473 28500 W Unity : Tile 12: SetInteractable(False) - No Collider2D found!
11-21 09:37:37.189 28473 28500 I Unity : UIDiscardDeck interactability set to: False
11-21 09:37:37.189 28473 28500 I Unity : Tile 7: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:37.189 28473 28500 I Unity : Tile 10: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:37.189 28473 28500 I Unity : Tile 14: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:37.189 28473 28500 I Unity : Tile 20: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:37.189 28473 28500 I Unity : Player 3 placed tiles interactivity set to: False
11-21 09:37:37.189 28473 28500 I Unity : Interactability updated for player 3
11-21 09:37:37.189 28473 28500 I Unity : Valid placements changed: 0 positions
11-21 09:37:37.190 28473 28500 I Unity : Highlighted 0 valid placements for Player 3
11-21 09:37:37.190 28473 28500 I Unity : ═══════════════════════════════════════════════════════
11-21 09:37:37.190 28473 28500 I Unity : TURN CHANGE: Player 3 → Player 0
11-21 09:37:37.190 28473 28500 I Unity : Turn #3 | Tiles Remaining: 61 | Discard Pile: 0
11-21 09:37:37.190 28473 28500 I Unity : ═══════════════════════════════════════════════════════
11-21 09:37:37.190 28473 28500 I Unity : Game state changed: Game State: Playing, Turn 3, Player 0, Draw: 61, Discard: 0
11-21 09:37:37.190 28473 28500 I Unity : Updating deck UI with remaining count: 61
11-21 09:37:37.190 28473 28500 I Unity : UpdateRemainingCount called with: 61
11-21 09:37:37.191 28473 28500 I Unity : Set deck count text to: 61
11-21 09:37:37.191 28473 28500 I Unity : Game UI updated
11-21 09:37:37.191 28473 28500 I Unity : Player turn changed to Player 0
11-21 09:37:37.191 28473 28500 I Unity : Player 0 current player status: True
11-21 09:37:37.192 28473 28500 I Unity : Player 1 current player status: False
11-21 09:37:37.192 28473 28500 I Unity : Player 2 current player status: False
11-21 09:37:37.192 28473 28500 I Unity : Player 3 current player status: False
11-21 09:37:37.192 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=True, HasUnplacedTile=False, TestModeAllAI=False
11-21 09:37:37.192 28473 28500 W Unity : Tile 14: SetInteractable(True) - No Collider2D found!
11-21 09:37:37.192 28473 28500 W Unity : Tile 11: SetInteractable(True) - No Collider2D found!
11-21 09:37:37.192 28473 28500 W Unity : Tile 20: SetInteractable(True) - No Collider2D found!
11-21 09:37:37.192 28473 28500 W Unity : Tile 14: SetInteractable(True) - No Collider2D found!
11-21 09:37:37.193 28473 28500 W Unity : Tile 12: SetInteractable(True) - No Collider2D found!
11-21 09:37:37.193 28473 28500 I Unity : UIDiscardDeck interactability set to: True
11-21 09:37:37.193 28473 28500 I Unity : Tile 7: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:37.193 28473 28500 I Unity : Tile 7: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:37.193 28473 28500 I Unity : Tile 11: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:37.193 28473 28500 I Unity : Tile 15: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:37.193 28473 28500 I Unity : Player 0 placed tiles interactivity set to: False
11-21 09:37:37.193 28473 28500 I Unity : Interactability updated for player 0
11-21 09:37:37.193 28473 28500 I Unity : Tile 8: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:37:37.683 28473 28500 I Unity : Tile 0 animation to (4.48, 6.27, 0.00) complete
11-21 09:37:37.683 28473 28500 I Unity : Tile 9 number text visibility set to: True (faceDown: False)
11-21 09:37:37.684 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=11, Color=Purple, NumberText null: False
11-21 09:37:37.684 28473 28500 I Unity : Set tile text to: 11, text active: True
11-21 09:37:37.684 28473 28500 I Unity : Set sprite renderer sprite to: TileRed for color Purple (index 2)
11-21 09:37:37.684 28473 28500 I Unity : Tile 9 set to face-up
11-21 09:37:37.684 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=11, Color=Purple, NumberText null: False
11-21 09:37:37.684 28473 28500 I Unity : Set tile text to: 11, text active: True
11-21 09:37:37.684 28473 28500 I Unity : Set sprite renderer sprite to: TileRed for color Purple (index 2)
11-21 09:37:37.685 28473 28500 I Unity : Placed tile 11 on grid cell 9 at (1.00, 2.00)
11-21 09:37:37.685 28473 28500 I Unity : Animated opponent tile placement for Player 3 at (1, 2) (board scale: (0.50, 0.50, 1.00))
11-21 09:37:37.685 28473 28500 I Unity : AI Player 3 turn completed
11-21 09:37:37.685 28473 28500 I Unity : AI turn completed for Player 3
11-21 09:37:39.885 28473 28500 I Unity : Interacting with discard deck
11-21 09:37:39.885 28473 28500 I Unity : Checking replacement: tile 12 replacing 7 at (0,0)
11-21 09:37:39.885 28473 28500 I Unity : Board state - Row 0: [7, 0, 0, 0]
11-21 09:37:39.885 28473 28500 I Unity : Board state - Col 0: [7, 0, 0, 0]
11-21 09:37:39.885 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:39.885 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (0, 1) failed constraints: row=True, col=False
11-21 09:37:39.885 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (0, 2) failed constraints: row=True, col=False
11-21 09:37:39.885 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (0, 3) is VALID
11-21 09:37:39.886 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (1, 0) failed constraints: row=False, col=True
11-21 09:37:39.886 28473 28500 I Unity : Checking replacement: tile 12 replacing 7 at (1,1)
11-21 09:37:39.886 28473 28500 I Unity : Board state - Row 1: [0, 7, 0, 0]
11-21 09:37:39.886 28473 28500 I Unity : Board state - Col 1: [0, 7, 0, 0]
11-21 09:37:39.886 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:39.887 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (1, 2) failed constraints: row=True, col=False
11-21 09:37:39.887 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (1, 3) is VALID
11-21 09:37:39.887 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (2, 0) failed constraints: row=False, col=True
11-21 09:37:39.887 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (2, 1) failed constraints: row=False, col=True
11-21 09:37:39.887 28473 28500 I Unity : Checking replacement: tile 12 replacing 11 at (2,2)
11-21 09:37:39.887 28473 28500 I Unity : Board state - Row 2: [0, 0, 11, 0]
11-21 09:37:39.887 28473 28500 I Unity : Board state - Col 2: [0, 0, 11, 0]
11-21 09:37:39.887 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:39.887 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (2, 3) is VALID
11-21 09:37:39.888 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (3, 0) is VALID
11-21 09:37:39.888 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (3, 1) is VALID
11-21 09:37:39.888 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (3, 2) is VALID
11-21 09:37:39.888 28473 28500 I Unity : Checking replacement: tile 12 replacing 15 at (3,3)
11-21 09:37:39.888 28473 28500 I Unity : Board state - Row 3: [0, 0, 0, 15]
11-21 09:37:39.888 28473 28500 I Unity : Board state - Col 3: [0, 0, 0, 15]
11-21 09:37:39.888 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:39.888 28473 28500 I Unity : Tile 12 has 10 valid placements - allowing player to take it
11-21 09:37:39.888 28473 28500 W Unity : TileManager reports discard pile is empty - cannot take tile
11-21 09:37:41.226 28473 28500 I Unity : Interacting with discard deck
11-21 09:37:41.226 28473 28500 I Unity : Checking replacement: tile 12 replacing 7 at (0,0)
11-21 09:37:41.226 28473 28500 I Unity : Board state - Row 0: [7, 0, 0, 0]
11-21 09:37:41.226 28473 28500 I Unity : Board state - Col 0: [7, 0, 0, 0]
11-21 09:37:41.226 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:41.226 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (0, 1) failed constraints: row=True, col=False
11-21 09:37:41.226 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (0, 2) failed constraints: row=True, col=False
11-21 09:37:41.226 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (0, 3) is VALID
11-21 09:37:41.227 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (1, 0) failed constraints: row=False, col=True
11-21 09:37:41.227 28473 28500 I Unity : Checking replacement: tile 12 replacing 7 at (1,1)
11-21 09:37:41.227 28473 28500 I Unity : Board state - Row 1: [0, 7, 0, 0]
11-21 09:37:41.227 28473 28500 I Unity : Board state - Col 1: [0, 7, 0, 0]
11-21 09:37:41.227 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:41.227 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (1, 2) failed constraints: row=True, col=False
11-21 09:37:41.227 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (1, 3) is VALID
11-21 09:37:41.227 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (2, 0) failed constraints: row=False, col=True
11-21 09:37:41.227 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (2, 1) failed constraints: row=False, col=True
11-21 09:37:41.227 28473 28500 I Unity : Checking replacement: tile 12 replacing 11 at (2,2)
11-21 09:37:41.227 28473 28500 I Unity : Board state - Row 2: [0, 0, 11, 0]
11-21 09:37:41.227 28473 28500 I Unity : Board state - Col 2: [0, 0, 11, 0]
11-21 09:37:41.228 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:41.228 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (2, 3) is VALID
11-21 09:37:41.228 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (3, 0) is VALID
11-21 09:37:41.228 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (3, 1) is VALID
11-21 09:37:41.228 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (3, 2) is VALID
11-21 09:37:41.228 28473 28500 I Unity : Checking replacement: tile 12 replacing 15 at (3,3)
11-21 09:37:41.228 28473 28500 I Unity : Board state - Row 3: [0, 0, 0, 15]
11-21 09:37:41.228 28473 28500 I Unity : Board state - Col 3: [0, 0, 0, 15]
11-21 09:37:41.228 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:41.228 28473 28500 I Unity : Tile 12 has 10 valid placements - allowing player to take it
11-21 09:37:41.228 28473 28500 W Unity : TileManager reports discard pile is empty - cannot take tile
11-21 09:37:41.758 28473 28500 I Unity : Interacting with grid cell 11 at position (3.00, 2.00)
11-21 09:37:41.758 28473 28500 I Unity : Grid cell 11 is not a valid placement target. IsValidPlacement: False, HasUnplacedTile: False
11-21 09:37:41.988 28473 28500 I Unity : Interacting with grid cell 11 at position (3.00, 2.00)
11-21 09:37:41.989 28473 28500 I Unity : Grid cell 11 is not a valid placement target. IsValidPlacement: False, HasUnplacedTile: False
11-21 09:37:44.732 28473 28500 I Unity : Interacting with discard deck
11-21 09:37:44.732 28473 28500 I Unity : Checking replacement: tile 12 replacing 7 at (0,0)
11-21 09:37:44.732 28473 28500 I Unity : Board state - Row 0: [7, 0, 0, 0]
11-21 09:37:44.732 28473 28500 I Unity : Board state - Col 0: [7, 0, 0, 0]
11-21 09:37:44.732 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:44.732 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (0, 1) failed constraints: row=True, col=False
11-21 09:37:44.732 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (0, 2) failed constraints: row=True, col=False
11-21 09:37:44.732 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (0, 3) is VALID
11-21 09:37:44.732 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (1, 0) failed constraints: row=False, col=True
11-21 09:37:44.733 28473 28500 I Unity : Checking replacement: tile 12 replacing 7 at (1,1)
11-21 09:37:44.733 28473 28500 I Unity : Board state - Row 1: [0, 7, 0, 0]
11-21 09:37:44.733 28473 28500 I Unity : Board state - Col 1: [0, 7, 0, 0]
11-21 09:37:44.733 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:44.733 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (1, 2) failed constraints: row=True, col=False
11-21 09:37:44.733 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (1, 3) is VALID
11-21 09:37:44.733 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (2, 0) failed constraints: row=False, col=True
11-21 09:37:44.733 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (2, 1) failed constraints: row=False, col=True
11-21 09:37:44.733 28473 28500 I Unity : Checking replacement: tile 12 replacing 11 at (2,2)
11-21 09:37:44.733 28473 28500 I Unity : Board state - Row 2: [0, 0, 11, 0]
11-21 09:37:44.733 28473 28500 I Unity : Board state - Col 2: [0, 0, 11, 0]
11-21 09:37:44.733 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:44.733 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (2, 3) is VALID
11-21 09:37:44.734 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (3, 0) is VALID
11-21 09:37:44.734 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (3, 1) is VALID
11-21 09:37:44.734 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (3, 2) is VALID
11-21 09:37:44.734 28473 28500 I Unity : Checking replacement: tile 12 replacing 15 at (3,3)
11-21 09:37:44.734 28473 28500 I Unity : Board state - Row 3: [0, 0, 0, 15]
11-21 09:37:44.734 28473 28500 I Unity : Board state - Col 3: [0, 0, 0, 15]
11-21 09:37:44.734 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:44.734 28473 28500 I Unity : Tile 12 has 10 valid placements - allowing player to take it
11-21 09:37:44.734 28473 28500 W Unity : TileManager reports discard pile is empty - cannot take tile
11-21 09:37:44.960 28473 28500 I Unity : Interacting with discard deck
11-21 09:37:44.960 28473 28500 I Unity : Checking replacement: tile 12 replacing 7 at (0,0)
11-21 09:37:44.960 28473 28500 I Unity : Board state - Row 0: [7, 0, 0, 0]
11-21 09:37:44.960 28473 28500 I Unity : Board state - Col 0: [7, 0, 0, 0]
11-21 09:37:44.960 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:44.960 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (0, 1) failed constraints: row=True, col=False
11-21 09:37:44.960 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (0, 2) failed constraints: row=True, col=False
11-21 09:37:44.960 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (0, 3) is VALID
11-21 09:37:44.960 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (1, 0) failed constraints: row=False, col=True
11-21 09:37:44.960 28473 28500 I Unity : Checking replacement: tile 12 replacing 7 at (1,1)
11-21 09:37:44.960 28473 28500 I Unity : Board state - Row 1: [0, 7, 0, 0]
11-21 09:37:44.960 28473 28500 I Unity : Board state - Col 1: [0, 7, 0, 0]
11-21 09:37:44.960 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:44.960 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (1, 2) failed constraints: row=True, col=False
11-21 09:37:44.961 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (1, 3) is VALID
11-21 09:37:44.961 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (2, 0) failed constraints: row=False, col=True
11-21 09:37:44.961 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (2, 1) failed constraints: row=False, col=True
11-21 09:37:44.961 28473 28500 I Unity : Checking replacement: tile 12 replacing 11 at (2,2)
11-21 09:37:44.961 28473 28500 I Unity : Board state - Row 2: [0, 0, 11, 0]
11-21 09:37:44.961 28473 28500 I Unity : Board state - Col 2: [0, 0, 11, 0]
11-21 09:37:44.961 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:44.961 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (2, 3) is VALID
11-21 09:37:44.961 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (3, 0) is VALID
11-21 09:37:44.961 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (3, 1) is VALID
11-21 09:37:44.961 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (3, 2) is VALID
11-21 09:37:44.961 28473 28500 I Unity : Checking replacement: tile 12 replacing 15 at (3,3)
11-21 09:37:44.961 28473 28500 I Unity : Board state - Row 3: [0, 0, 0, 15]
11-21 09:37:44.961 28473 28500 I Unity : Board state - Col 3: [0, 0, 0, 15]
11-21 09:37:44.961 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:44.961 28473 28500 I Unity : Tile 12 has 10 valid placements - allowing player to take it
11-21 09:37:44.961 28473 28500 W Unity : TileManager reports discard pile is empty - cannot take tile
11-21 09:37:45.161 28473 28500 I Unity : Interacting with discard deck
11-21 09:37:45.161 28473 28500 I Unity : Checking replacement: tile 12 replacing 7 at (0,0)
11-21 09:37:45.162 28473 28500 I Unity : Board state - Row 0: [7, 0, 0, 0]
11-21 09:37:45.162 28473 28500 I Unity : Board state - Col 0: [7, 0, 0, 0]
11-21 09:37:45.162 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:45.162 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (0, 1) failed constraints: row=True, col=False
11-21 09:37:45.162 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (0, 2) failed constraints: row=True, col=False
11-21 09:37:45.162 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (0, 3) is VALID
11-21 09:37:45.162 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (1, 0) failed constraints: row=False, col=True
11-21 09:37:45.162 28473 28500 I Unity : Checking replacement: tile 12 replacing 7 at (1,1)
11-21 09:37:45.162 28473 28500 I Unity : Board state - Row 1: [0, 7, 0, 0]
11-21 09:37:45.162 28473 28500 I Unity : Board state - Col 1: [0, 7, 0, 0]
11-21 09:37:45.162 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:45.162 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (1, 2) failed constraints: row=True, col=False
11-21 09:37:45.163 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (1, 3) is VALID
11-21 09:37:45.163 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (2, 0) failed constraints: row=False, col=True
11-21 09:37:45.163 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (2, 1) failed constraints: row=False, col=True
11-21 09:37:45.163 28473 28500 I Unity : Checking replacement: tile 12 replacing 11 at (2,2)
11-21 09:37:45.163 28473 28500 I Unity : Board state - Row 2: [0, 0, 11, 0]
11-21 09:37:45.163 28473 28500 I Unity : Board state - Col 2: [0, 0, 11, 0]
11-21 09:37:45.163 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:45.163 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (2, 3) is VALID
11-21 09:37:45.163 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (3, 0) is VALID
11-21 09:37:45.163 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (3, 1) is VALID
11-21 09:37:45.163 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (3, 2) is VALID
11-21 09:37:45.163 28473 28500 I Unity : Checking replacement: tile 12 replacing 15 at (3,3)
11-21 09:37:45.164 28473 28500 I Unity : Board state - Row 3: [0, 0, 0, 15]
11-21 09:37:45.164 28473 28500 I Unity : Board state - Col 3: [0, 0, 0, 15]
11-21 09:37:45.164 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:45.164 28473 28500 I Unity : Tile 12 has 10 valid placements - allowing player to take it
11-21 09:37:45.164 28473 28500 W Unity : TileManager reports discard pile is empty - cannot take tile
11-21 09:37:45.364 28473 28500 I Unity : Interacting with discard deck
11-21 09:37:45.364 28473 28500 I Unity : Checking replacement: tile 12 replacing 7 at (0,0)
11-21 09:37:45.364 28473 28500 I Unity : Board state - Row 0: [7, 0, 0, 0]
11-21 09:37:45.364 28473 28500 I Unity : Board state - Col 0: [7, 0, 0, 0]
11-21 09:37:45.364 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:45.364 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (0, 1) failed constraints: row=True, col=False
11-21 09:37:45.365 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (0, 2) failed constraints: row=True, col=False
11-21 09:37:45.365 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (0, 3) is VALID
11-21 09:37:45.365 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (1, 0) failed constraints: row=False, col=True
11-21 09:37:45.365 28473 28500 I Unity : Checking replacement: tile 12 replacing 7 at (1,1)
11-21 09:37:45.365 28473 28500 I Unity : Board state - Row 1: [0, 7, 0, 0]
11-21 09:37:45.365 28473 28500 I Unity : Board state - Col 1: [0, 7, 0, 0]
11-21 09:37:45.365 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:45.365 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (1, 2) failed constraints: row=True, col=False
11-21 09:37:45.365 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (1, 3) is VALID
11-21 09:37:45.365 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (2, 0) failed constraints: row=False, col=True
11-21 09:37:45.365 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (2, 1) failed constraints: row=False, col=True
11-21 09:37:45.365 28473 28500 I Unity : Checking replacement: tile 12 replacing 11 at (2,2)
11-21 09:37:45.366 28473 28500 I Unity : Board state - Row 2: [0, 0, 11, 0]
11-21 09:37:45.366 28473 28500 I Unity : Board state - Col 2: [0, 0, 11, 0]
11-21 09:37:45.366 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:45.366 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (2, 3) is VALID
11-21 09:37:45.366 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (3, 0) is VALID
11-21 09:37:45.366 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (3, 1) is VALID
11-21 09:37:45.366 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (3, 2) is VALID
11-21 09:37:45.366 28473 28500 I Unity : Checking replacement: tile 12 replacing 15 at (3,3)
11-21 09:37:45.366 28473 28500 I Unity : Board state - Row 3: [0, 0, 0, 15]
11-21 09:37:45.366 28473 28500 I Unity : Board state - Col 3: [0, 0, 0, 15]
11-21 09:37:45.366 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:45.366 28473 28500 I Unity : Tile 12 has 10 valid placements - allowing player to take it
11-21 09:37:45.366 28473 28500 W Unity : TileManager reports discard pile is empty - cannot take tile
11-21 09:37:45.629 28473 28500 I Unity : Interacting with discard deck
11-21 09:37:45.629 28473 28500 I Unity : Checking replacement: tile 12 replacing 7 at (0,0)
11-21 09:37:45.629 28473 28500 I Unity : Board state - Row 0: [7, 0, 0, 0]
11-21 09:37:45.629 28473 28500 I Unity : Board state - Col 0: [7, 0, 0, 0]
11-21 09:37:45.629 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:45.629 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (0, 1) failed constraints: row=True, col=False
11-21 09:37:45.629 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (0, 2) failed constraints: row=True, col=False
11-21 09:37:45.629 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (0, 3) is VALID
11-21 09:37:45.630 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (1, 0) failed constraints: row=False, col=True
11-21 09:37:45.630 28473 28500 I Unity : Checking replacement: tile 12 replacing 7 at (1,1)
11-21 09:37:45.630 28473 28500 I Unity : Board state - Row 1: [0, 7, 0, 0]
11-21 09:37:45.630 28473 28500 I Unity : Board state - Col 1: [0, 7, 0, 0]
11-21 09:37:45.630 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:45.630 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (1, 2) failed constraints: row=True, col=False
11-21 09:37:45.630 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (1, 3) is VALID
11-21 09:37:45.630 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (2, 0) failed constraints: row=False, col=True
11-21 09:37:45.630 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (2, 1) failed constraints: row=False, col=True
11-21 09:37:45.630 28473 28500 I Unity : Checking replacement: tile 12 replacing 11 at (2,2)
11-21 09:37:45.630 28473 28500 I Unity : Board state - Row 2: [0, 0, 11, 0]
11-21 09:37:45.630 28473 28500 I Unity : Board state - Col 2: [0, 0, 11, 0]
11-21 09:37:45.631 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:45.631 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (2, 3) is VALID
11-21 09:37:45.631 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (3, 0) is VALID
11-21 09:37:45.631 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (3, 1) is VALID
11-21 09:37:45.631 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (3, 2) is VALID
11-21 09:37:45.631 28473 28500 I Unity : Checking replacement: tile 12 replacing 15 at (3,3)
11-21 09:37:45.631 28473 28500 I Unity : Board state - Row 3: [0, 0, 0, 15]
11-21 09:37:45.631 28473 28500 I Unity : Board state - Col 3: [0, 0, 0, 15]
11-21 09:37:45.631 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:45.631 28473 28500 I Unity : Tile 12 has 10 valid placements - allowing player to take it
11-21 09:37:45.631 28473 28500 W Unity : TileManager reports discard pile is empty - cannot take tile
11-21 09:37:45.864 28473 28500 I Unity : Interacting with discard deck
11-21 09:37:45.864 28473 28500 I Unity : Checking replacement: tile 12 replacing 7 at (0,0)
11-21 09:37:45.864 28473 28500 I Unity : Board state - Row 0: [7, 0, 0, 0]
11-21 09:37:45.864 28473 28500 I Unity : Board state - Col 0: [7, 0, 0, 0]
11-21 09:37:45.864 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:45.865 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (0, 1) failed constraints: row=True, col=False
11-21 09:37:45.865 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (0, 2) failed constraints: row=True, col=False
11-21 09:37:45.865 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (0, 3) is VALID
11-21 09:37:45.865 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (1, 0) failed constraints: row=False, col=True
11-21 09:37:45.865 28473 28500 I Unity : Checking replacement: tile 12 replacing 7 at (1,1)
11-21 09:37:45.865 28473 28500 I Unity : Board state - Row 1: [0, 7, 0, 0]
11-21 09:37:45.865 28473 28500 I Unity : Board state - Col 1: [0, 7, 0, 0]
11-21 09:37:45.865 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:45.865 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (1, 2) failed constraints: row=True, col=False
11-21 09:37:45.865 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (1, 3) is VALID
11-21 09:37:45.865 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (2, 0) failed constraints: row=False, col=True
11-21 09:37:45.865 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (2, 1) failed constraints: row=False, col=True
11-21 09:37:45.866 28473 28500 I Unity : Checking replacement: tile 12 replacing 11 at (2,2)
11-21 09:37:45.866 28473 28500 I Unity : Board state - Row 2: [0, 0, 11, 0]
11-21 09:37:45.866 28473 28500 I Unity : Board state - Col 2: [0, 0, 11, 0]
11-21 09:37:45.866 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:45.866 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (2, 3) is VALID
11-21 09:37:45.866 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (3, 0) is VALID
11-21 09:37:45.866 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (3, 1) is VALID
11-21 09:37:45.866 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (3, 2) is VALID
11-21 09:37:45.866 28473 28500 I Unity : Checking replacement: tile 12 replacing 15 at (3,3)
11-21 09:37:45.866 28473 28500 I Unity : Board state - Row 3: [0, 0, 0, 15]
11-21 09:37:45.866 28473 28500 I Unity : Board state - Col 3: [0, 0, 0, 15]
11-21 09:37:45.866 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:45.866 28473 28500 I Unity : Tile 12 has 10 valid placements - allowing player to take it
11-21 09:37:45.867 28473 28500 W Unity : TileManager reports discard pile is empty - cannot take tile
11-21 09:37:46.064 28473 28500 I Unity : Interacting with discard deck
11-21 09:37:46.064 28473 28500 I Unity : Checking replacement: tile 12 replacing 7 at (0,0)
11-21 09:37:46.064 28473 28500 I Unity : Board state - Row 0: [7, 0, 0, 0]
11-21 09:37:46.065 28473 28500 I Unity : Board state - Col 0: [7, 0, 0, 0]
11-21 09:37:46.065 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:46.065 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (0, 1) failed constraints: row=True, col=False
11-21 09:37:46.065 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (0, 2) failed constraints: row=True, col=False
11-21 09:37:46.065 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (0, 3) is VALID
11-21 09:37:46.065 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (1, 0) failed constraints: row=False, col=True
11-21 09:37:46.065 28473 28500 I Unity : Checking replacement: tile 12 replacing 7 at (1,1)
11-21 09:37:46.065 28473 28500 I Unity : Board state - Row 1: [0, 7, 0, 0]
11-21 09:37:46.065 28473 28500 I Unity : Board state - Col 1: [0, 7, 0, 0]
11-21 09:37:46.065 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:46.065 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (1, 2) failed constraints: row=True, col=False
11-21 09:37:46.065 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (1, 3) is VALID
11-21 09:37:46.065 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (2, 0) failed constraints: row=False, col=True
11-21 09:37:46.065 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (2, 1) failed constraints: row=False, col=True
11-21 09:37:46.065 28473 28500 I Unity : Checking replacement: tile 12 replacing 11 at (2,2)
11-21 09:37:46.066 28473 28500 I Unity : Board state - Row 2: [0, 0, 11, 0]
11-21 09:37:46.066 28473 28500 I Unity : Board state - Col 2: [0, 0, 11, 0]
11-21 09:37:46.066 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:46.066 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (2, 3) is VALID
11-21 09:37:46.066 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (3, 0) is VALID
11-21 09:37:46.066 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (3, 1) is VALID
11-21 09:37:46.066 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (3, 2) is VALID
11-21 09:37:46.066 28473 28500 I Unity : Checking replacement: tile 12 replacing 15 at (3,3)
11-21 09:37:46.066 28473 28500 I Unity : Board state - Row 3: [0, 0, 0, 15]
11-21 09:37:46.066 28473 28500 I Unity : Board state - Col 3: [0, 0, 0, 15]
11-21 09:37:46.066 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:46.066 28473 28500 I Unity : Tile 12 has 10 valid placements - allowing player to take it
11-21 09:37:46.066 28473 28500 W Unity : TileManager reports discard pile is empty - cannot take tile
11-21 09:37:46.965 28473 28500 I Unity : Interacting with discard deck
11-21 09:37:46.966 28473 28500 I Unity : Checking replacement: tile 12 replacing 7 at (0,0)
11-21 09:37:46.966 28473 28500 I Unity : Board state - Row 0: [7, 0, 0, 0]
11-21 09:37:46.966 28473 28500 I Unity : Board state - Col 0: [7, 0, 0, 0]
11-21 09:37:46.966 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:46.966 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (0, 1) failed constraints: row=True, col=False
11-21 09:37:46.966 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (0, 2) failed constraints: row=True, col=False
11-21 09:37:46.966 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (0, 3) is VALID
11-21 09:37:46.966 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (1, 0) failed constraints: row=False, col=True
11-21 09:37:46.966 28473 28500 I Unity : Checking replacement: tile 12 replacing 7 at (1,1)
11-21 09:37:46.966 28473 28500 I Unity : Board state - Row 1: [0, 7, 0, 0]
11-21 09:37:46.966 28473 28500 I Unity : Board state - Col 1: [0, 7, 0, 0]
11-21 09:37:46.966 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:46.967 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (1, 2) failed constraints: row=True, col=False
11-21 09:37:46.967 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (1, 3) is VALID
11-21 09:37:46.967 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (2, 0) failed constraints: row=False, col=True
11-21 09:37:46.967 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (2, 1) failed constraints: row=False, col=True
11-21 09:37:46.967 28473 28500 I Unity : Checking replacement: tile 12 replacing 11 at (2,2)
11-21 09:37:46.967 28473 28500 I Unity : Board state - Row 2: [0, 0, 11, 0]
11-21 09:37:46.967 28473 28500 I Unity : Board state - Col 2: [0, 0, 11, 0]
11-21 09:37:46.967 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:46.967 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (2, 3) is VALID
11-21 09:37:46.967 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (3, 0) is VALID
11-21 09:37:46.967 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (3, 1) is VALID
11-21 09:37:46.967 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (3, 2) is VALID
11-21 09:37:46.967 28473 28500 I Unity : Checking replacement: tile 12 replacing 15 at (3,3)
11-21 09:37:46.968 28473 28500 I Unity : Board state - Row 3: [0, 0, 0, 15]
11-21 09:37:46.968 28473 28500 I Unity : Board state - Col 3: [0, 0, 0, 15]
11-21 09:37:46.968 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:46.968 28473 28500 I Unity : Tile 12 has 10 valid placements - allowing player to take it
11-21 09:37:46.968 28473 28500 W Unity : TileManager reports discard pile is empty - cannot take tile
11-21 09:37:50.741 28473 28500 I Unity : Interacting with tile 0 (Number: 8)
11-21 09:37:50.742 28473 28500 I Unity : Player clicked deck card: Green 8
11-21 09:37:50.742 28473 28500 I Unity : SelectDeckCard called. HasUnplacedTile: False, CurrentPlayerTile:
11-21 09:37:50.742 28473 28500 I Unity : Tile 0 number text visibility set to: True (faceDown: False)
11-21 09:37:50.742 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=8, Color=Green, NumberText null: False
11-21 09:37:50.743 28473 28500 I Unity : Set tile text to: 8, text active: True
11-21 09:37:50.743 28473 28500 I Unity : Set sprite renderer sprite to: TileYellow for color Green (index 3)
11-21 09:37:50.743 28473 28500 I Unity : Tile 0 set to face-up
11-21 09:37:50.743 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=8, Color=Green, NumberText null: False
11-21 09:37:50.743 28473 28500 I Unity : Set tile text to: 8, text active: True
11-21 09:37:50.743 28473 28500 I Unity : Set sprite renderer sprite to: TileYellow for color Green (index 3)
11-21 09:37:50.743 28473 28500 I Unity : Tile 0 selection set to: True
11-21 09:37:50.743 28473 28500 I Unity : About to set current player tile. Current HasUnplacedTile: False
11-21 09:37:50.744 28473 28500 I Unity : SetCurrentPlayerTile called with tile: Green 8, current HasUnplacedTile: False
11-21 09:37:50.744 28473 28500 I Unity : Set current player tile to: Green 8 from DrawPile, HasUnplacedTile is now: True
11-21 09:37:50.744 28473 28500 I Unity : Tile drawn: Player 0 drew Green 8
11-21 09:37:50.744 28473 28500 I Unity : UpdateDiscardCount called with: 0
11-21 09:37:50.744 28473 28500 I Unity : Set discard count text to: 0
11-21 09:37:50.744 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=True, HasUnplacedTile=True, TestModeAllAI=False
11-21 09:37:50.744 28473 28500 W Unity : Tile 14: SetInteractable(True) - No Collider2D found!
11-21 09:37:50.744 28473 28500 W Unity : Tile 11: SetInteractable(True) - No Collider2D found!
11-21 09:37:50.744 28473 28500 W Unity : Tile 20: SetInteractable(True) - No Collider2D found!
11-21 09:37:50.744 28473 28500 W Unity : Tile 14: SetInteractable(True) - No Collider2D found!
11-21 09:37:50.745 28473 28500 W Unity : Tile 12: SetInteractable(True) - No Collider2D found!
11-21 09:37:50.745 28473 28500 I Unity : UIDiscardDeck interactability set to: True
11-21 09:37:50.745 28473 28500 I Unity : Tile 7: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:37:50.745 28473 28500 I Unity : Tile 7: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:37:50.745 28473 28500 I Unity : Tile 11: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:37:50.745 28473 28500 I Unity : Tile 15: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:37:50.745 28473 28500 I Unity : Player 0 placed tiles interactivity set to: True
11-21 09:37:50.745 28473 28500 I Unity : Interactability updated for player 0
11-21 09:37:50.745 28473 28500 I Unity : Checking replacement: tile 8 replacing 7 at (0,0)
11-21 09:37:50.746 28473 28500 I Unity : Board state - Row 0: [7, 0, 0, 0]
11-21 09:37:50.746 28473 28500 I Unity : Board state - Col 0: [7, 0, 0, 0]
11-21 09:37:50.746 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:50.746 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 8 at (0, 1) failed constraints: row=True, col=False
11-21 09:37:50.746 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 8 at (0, 2) is VALID
11-21 09:37:50.746 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 8 at (0, 3) is VALID
11-21 09:37:50.746 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 8 at (1, 0) failed constraints: row=False, col=True
11-21 09:37:50.746 28473 28500 I Unity : Checking replacement: tile 8 replacing 7 at (1,1)
11-21 09:37:50.746 28473 28500 I Unity : Board state - Row 1: [0, 7, 0, 0]
11-21 09:37:50.746 28473 28500 I Unity : Board state - Col 1: [0, 7, 0, 0]
11-21 09:37:50.746 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:50.746 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 8 at (1, 2) is VALID
11-21 09:37:50.747 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 8 at (1, 3) is VALID
11-21 09:37:50.747 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 8 at (2, 0) is VALID
11-21 09:37:50.747 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 8 at (2, 1) is VALID
11-21 09:37:50.747 28473 28500 I Unity : Checking replacement: tile 8 replacing 11 at (2,2)
11-21 09:37:50.747 28473 28500 I Unity : Board state - Row 2: [0, 0, 11, 0]
11-21 09:37:50.747 28473 28500 I Unity : Board state - Col 2: [0, 0, 11, 0]
11-21 09:37:50.747 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:50.747 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 8 at (2, 3) failed constraints: row=False, col=True
11-21 09:37:50.747 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 8 at (3, 0) is VALID
11-21 09:37:50.747 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 8 at (3, 1) is VALID
11-21 09:37:50.747 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 8 at (3, 2) failed constraints: row=True, col=False
11-21 09:37:50.748 28473 28500 I Unity : Checking replacement: tile 8 replacing 15 at (3,3)
11-21 09:37:50.748 28473 28500 I Unity : Board state - Row 3: [0, 0, 0, 15]
11-21 09:37:50.748 28473 28500 I Unity : Board state - Col 3: [0, 0, 0, 15]
11-21 09:37:50.748 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:50.748 28473 28500 I Unity : Found 12 valid placements for tile Green 8
11-21 09:37:50.748 28473 28500 I Unity : Valid placements changed: 12 positions
11-21 09:37:50.748 28473 28500 I Unity : Highlighted 12 valid placements for Player 0
11-21 09:37:50.748 28473 28500 I Unity : After setting current player tile. HasUnplacedTile: True
11-21 09:37:50.749 28473 28500 I Unity : Deck card selected: Green 8
11-21 09:37:53.080 28473 28500 I Unity : Interacting with grid cell 6 at position (2.00, 1.00)
11-21 09:37:53.080 28473 28500 I Unity : HandleTilePlacement: Attempting to place tile 8 at grid position (2.00, 1.00)
11-21 09:37:53.081 28473 28500 I Unity : HandleTilePlacement: Converted to board coordinates - row=1, col=2
11-21 09:37:53.081 28473 28500 I Unity : Cell at (2.00, 1.00) is empty - using normal placement
11-21 09:37:53.081 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 8 at (1, 2) is VALID
11-21 09:37:53.081 28473 28500 I Unity : Placement validation passed - calling GameManager.PlaceTile(1, 2)
11-21 09:37:53.081 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 8 at (1, 2) is VALID
11-21 09:37:53.081 28473 28500 I Unity : [PlayerBoard] Player 0 placed tile 08 at (1, 2) | Board now: 5/16 filled
11-21 09:37:53.081 28473 28500 I Unity : [PLACEMENT] ✓ Player 0 placed Green 8 at (1, 2) | Board: 5/16 filled | Remaining draw: 61
11-21 09:37:53.081 28473 28500 I Unity : Player 0 Board (5/16 filled):
11-21 09:37:53.081 28473 28500 I Unity : 07 -- -- --
11-21 09:37:53.081 28473 28500 I Unity : -- 07 08 --
11-21 09:37:53.081 28473 28500 I Unity : -- -- 11 --
11-21 09:37:53.081 28473 28500 I Unity : -- -- -- 15
11-21 09:37:53.081 28473 28500 I Unity : Tile placed: Player 0 placed Green 8 at (1, 2)
11-21 09:37:53.082 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=True, HasUnplacedTile=True, TestModeAllAI=False
11-21 09:37:53.082 28473 28500 W Unity : Tile 14: SetInteractable(True) - No Collider2D found!
11-21 09:37:53.082 28473 28500 W Unity : Tile 11: SetInteractable(True) - No Collider2D found!
11-21 09:37:53.082 28473 28500 W Unity : Tile 20: SetInteractable(True) - No Collider2D found!
11-21 09:37:53.082 28473 28500 W Unity : Tile 14: SetInteractable(True) - No Collider2D found!
11-21 09:37:53.082 28473 28500 W Unity : Tile 12: SetInteractable(True) - No Collider2D found!
11-21 09:37:53.082 28473 28500 I Unity : UIDiscardDeck interactability set to: True
11-21 09:37:53.082 28473 28500 I Unity : Tile 7: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:37:53.082 28473 28500 I Unity : Tile 7: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:37:53.082 28473 28500 I Unity : Tile 11: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:37:53.082 28473 28500 I Unity : Tile 15: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:37:53.082 28473 28500 I Unity : Player 0 placed tiles interactivity set to: True
11-21 09:37:53.082 28473 28500 I Unity : Interactability updated for player 0
11-21 09:37:53.083 28473 28500 I Unity : Deck card Green 8 was placed, ready for next card
11-21 09:37:53.083 28473 28500 I Unity : Auto-spawning deck card after tile placement (playerIndex: 0)
11-21 09:37:53.083 28473 28500 I Unity : SpawnDeckCard method called
11-21 09:37:53.083 28473 28500 I Unity : All checks passed, attempting to draw tile through GameManager
11-21 09:37:53.083 28473 28500 I Unity : Drew tile: Purple 16 (60 tiles remaining)
11-21 09:37:53.083 28473 28500 I Unity : Drew tile for deck card: Purple 16
11-21 09:37:53.083 28473 28500 I Unity : UpdateRemainingCount called with: 60
11-21 09:37:53.083 28473 28500 I Unity : Set deck count text to: 60
11-21 09:37:53.084 28473 28500 I Unity : UIGameTile Start: SpriteRenderer=True, NumberText=True
11-21 09:37:53.085 28473 28500 I Unity : SetTileData called with: Purple 16, Color enum: 2
11-21 09:37:53.085 28473 28500 I Unity : Updated _originalSprite to: TileRed for Purple
11-21 09:37:53.085 28473 28500 I Unity : Before UpdateVisualRepresentation: _color=Purple (enum: 2), GameTileSprites=4
11-21 09:37:53.085 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=16, Color=Purple, NumberText null: False
11-21 09:37:53.085 28473 28500 I Unity : Set tile text to: 16, text active: True
11-21 09:37:53.085 28473 28500 I Unity : Set sprite renderer sprite to: TileRed for color Purple (index 2)
11-21 09:37:53.085 28473 28500 I Unity : Tile 0 set to Purple 16
11-21 09:37:53.086 28473 28500 I Unity : Tile 0 number text visibility set to: False (faceDown: True)
11-21 09:37:53.086 28473 28500 I Unity : Tile 0 set to face-down
11-21 09:37:53.086 28473 28500 I Unity : Tile 16: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:37:53.086 28473 28500 I Unity : Spawned deck card: Purple 16
11-21 09:37:53.086 28473 28500 I Unity : Valid placements changed: 0 positions
11-21 09:37:53.086 28473 28500 I Unity : Highlighted 0 valid placements for Player 0
11-21 09:37:53.086 28473 28500 I Unity : ═══════════════════════════════════════════════════════
11-21 09:37:53.086 28473 28500 I Unity : TURN CHANGE: Player 0 → Player 1
11-21 09:37:53.086 28473 28500 I Unity : Turn #3 | Tiles Remaining: 60 | Discard Pile: 0
11-21 09:37:53.086 28473 28500 I Unity : ═══════════════════════════════════════════════════════
11-21 09:37:53.086 28473 28500 I Unity : Game state changed: Game State: Playing, Turn 3, Player 1, Draw: 60, Discard: 0
11-21 09:37:53.087 28473 28500 I Unity : Updating deck UI with remaining count: 60
11-21 09:37:53.087 28473 28500 I Unity : UpdateRemainingCount called with: 60
11-21 09:37:53.087 28473 28500 I Unity : Set deck count text to: 60
11-21 09:37:53.087 28473 28500 I Unity : Game UI updated
11-21 09:37:53.087 28473 28500 I Unity : Player turn changed to Player 1
11-21 09:37:53.087 28473 28500 I Unity : Player 0 current player status: False
11-21 09:37:53.087 28473 28500 I Unity : Player 1 current player status: True
11-21 09:37:53.087 28473 28500 I Unity : Player 2 current player status: False
11-21 09:37:53.088 28473 28500 I Unity : Player 3 current player status: False
11-21 09:37:53.088 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=False, HasUnplacedTile=False, TestModeAllAI=False
11-21 09:37:53.088 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:37:53.088 28473 28500 W Unity : Tile 11: SetInteractable(False) - No Collider2D found!
11-21 09:37:53.088 28473 28500 W Unity : Tile 20: SetInteractable(False) - No Collider2D found!
11-21 09:37:53.088 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:37:53.088 28473 28500 W Unity : Tile 12: SetInteractable(False) - No Collider2D found!
11-21 09:37:53.088 28473 28500 I Unity : UIDiscardDeck interactability set to: False
11-21 09:37:53.088 28473 28500 I Unity : Tile 2: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:53.088 28473 28500 I Unity : Tile 3: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:53.088 28473 28500 I Unity : Tile 14: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:53.088 28473 28500 I Unity : Tile 14: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:53.089 28473 28500 I Unity : Player 1 placed tiles interactivity set to: False
11-21 09:37:53.089 28473 28500 I Unity : Interactability updated for player 1
11-21 09:37:53.089 28473 28500 I Unity : Starting AI turn for Player 1
11-21 09:37:53.089 28473 28500 I Unity : Tile 16: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:53.089 28473 28500 I Unity : ✓ Successfully placed tile 8 at (2.00, 1.00)
11-21 09:37:53.549 28473 28500 I Unity : Tile 0 animation to (1.05, -3.49, 0.00) complete
11-21 09:37:53.549 28473 28500 I Unity : Tile 6 number text visibility set to: True (faceDown: False)
11-21 09:37:53.550 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=8, Color=Green, NumberText null: False
11-21 09:37:53.550 28473 28500 I Unity : Set tile text to: 8, text active: True
11-21 09:37:53.550 28473 28500 I Unity : Set sprite renderer sprite to: TileYellow for color Green (index 3)
11-21 09:37:53.550 28473 28500 I Unity : Tile 6 set to face-up
11-21 09:37:53.550 28473 28500 I Unity : Resetting sprite renderer sprite to original: TileYellow for tile Green
11-21 09:37:53.550 28473 28500 I Unity : Tile 6 selection set to: False
11-21 09:37:53.550 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=8, Color=Green, NumberText null: False
11-21 09:37:53.550 28473 28500 I Unity : Set tile text to: 8, text active: True
11-21 09:37:53.551 28473 28500 I Unity : Set sprite renderer sprite to: TileYellow for color Green (index 3)
11-21 09:37:53.551 28473 28500 I Unity : Placed tile 8 on grid cell 6 at (2.00, 1.00)
11-21 09:37:53.551 28473 28500 I Unity : Player 0: Set particle system and all child particle renderers to sorting order 100
11-21 09:37:53.551 28473 28500 I Unity : Player 0: Triggered click particle at (1.05, -3.49, 0.00)
11-21 09:37:53.551 28473 28500 I Unity : Animated deck card placement for Player 0 at (2, 1)
11-21 09:37:53.551 28473 28500 I Unity : SpawnInitialDeckCard called
11-21 09:37:53.552 28473 28500 I Unity : TileManager has 60 tiles remaining, HasTilesRemaining: True
11-21 09:37:53.552 28473 28500 I Unity : All checks passed, calling SpawnDeckCard
11-21 09:37:53.552 28473 28500 I Unity : SpawnDeckCard method called
11-21 09:37:53.552 28473 28500 W Unity : Cannot spawn deck card - one already exists
11-21 09:37:54.086 28473 28500 I Unity : AI Player 1 (DefensiveBlocker) starting turn...
11-21 09:37:55.522 28473 28500 I Unity : AI Player 1 decision: DrawFaceDown - Draw face-down tile - unknown potential (Score: 1.00)
11-21 09:37:55.522 28473 28500 I Unity : AI Player 1 drawing from face-down pile
11-21 09:37:55.522 28473 28500 I Unity : Drew tile: Red 12 (59 tiles remaining)
11-21 09:37:55.522 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (0, 0) already occupied by 2
11-21 09:37:55.522 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (0, 1) failed constraints: row=True, col=False
11-21 09:37:55.522 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (0, 2) is VALID
11-21 09:37:55.522 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (0, 3) is VALID
11-21 09:37:55.522 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (1, 0) failed constraints: row=False, col=True
11-21 09:37:55.523 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (1, 1) already occupied by 3
11-21 09:37:55.523 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (1, 2) is VALID
11-21 09:37:55.523 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (1, 3) is VALID
11-21 09:37:55.523 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (2, 0) is VALID
11-21 09:37:55.523 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (2, 1) is VALID
11-21 09:37:55.523 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (2, 2) already occupied by 14
11-21 09:37:55.523 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (2, 3) failed constraints: row=False, col=True
11-21 09:37:55.523 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (3, 0) is VALID
11-21 09:37:55.523 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (3, 1) is VALID
11-21 09:37:55.524 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (3, 2) failed constraints: row=True, col=False
11-21 09:37:55.524 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (3, 3) already occupied by 14
11-21 09:37:55.524 28473 28500 I Unity : → Player 1 drew tile: Red 12 from DrawPile | Valid placements: 8
11-21 09:37:55.524 28473 28500 I Unity : Tile drawn: Player 1 drew Red 12
11-21 09:37:55.525 28473 28500 I Unity : UIGameTile Start: SpriteRenderer=True, NumberText=True
11-21 09:37:55.526 28473 28500 I Unity : SetTileData called with: Red 12, Color enum: 1
11-21 09:37:55.526 28473 28500 I Unity : Updated _originalSprite to: TilePurple for Red
11-21 09:37:55.526 28473 28500 I Unity : Before UpdateVisualRepresentation: _color=Red (enum: 1), GameTileSprites=4
11-21 09:37:55.526 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=12, Color=Red, NumberText null: False
11-21 09:37:55.526 28473 28500 I Unity : Set tile text to: 12, text active: True
11-21 09:37:55.526 28473 28500 I Unity : Set sprite renderer sprite to: TilePurple for color Red (index 1)
11-21 09:37:55.527 28473 28500 I Unity : Tile 0 set to Red 12
11-21 09:37:55.527 28473 28500 I Unity : Tile 0 number text visibility set to: True (faceDown: False)
11-21 09:37:55.527 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=12, Color=Red, NumberText null: False
11-21 09:37:55.527 28473 28500 I Unity : Set tile text to: 12, text active: True
11-21 09:37:55.527 28473 28500 I Unity : Set sprite renderer sprite to: TilePurple for color Red (index 1)
11-21 09:37:55.527 28473 28500 I Unity : Tile 0 set to face-up
11-21 09:37:55.527 28473 28500 I Unity : Tile 12: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:55.527 28473 28500 I Unity : Created temporary drawn tile Red 12 for opponent Player 1
11-21 09:37:55.528 28473 28500 I Unity : UpdateDiscardCount called with: 0
11-21 09:37:55.528 28473 28500 I Unity : Set discard count text to: 0
11-21 09:37:55.528 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=False, HasUnplacedTile=True, TestModeAllAI=False
11-21 09:37:55.528 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:37:55.528 28473 28500 W Unity : Tile 11: SetInteractable(False) - No Collider2D found!
11-21 09:37:55.528 28473 28500 W Unity : Tile 20: SetInteractable(False) - No Collider2D found!
11-21 09:37:55.528 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:37:55.528 28473 28500 W Unity : Tile 12: SetInteractable(False) - No Collider2D found!
11-21 09:37:55.528 28473 28500 I Unity : UIDiscardDeck interactability set to: False
11-21 09:37:55.528 28473 28500 I Unity : Tile 2: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:55.529 28473 28500 I Unity : Tile 3: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:55.529 28473 28500 I Unity : Tile 14: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:55.529 28473 28500 I Unity : Tile 14: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:55.529 28473 28500 I Unity : Player 1 placed tiles interactivity set to: False
11-21 09:37:55.529 28473 28500 I Unity : Interactability updated for player 1
11-21 09:37:55.529 28473 28500 I Unity : Checking replacement: tile 12 replacing 2 at (0,0)
11-21 09:37:55.529 28473 28500 I Unity : Board state - Row 0: [2, 0, 0, 0]
11-21 09:37:55.529 28473 28500 I Unity : Board state - Col 0: [2, 0, 0, 0]
11-21 09:37:55.529 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:55.529 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (0, 1) failed constraints: row=True, col=False
11-21 09:37:55.530 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (0, 2) is VALID
11-21 09:37:55.530 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (0, 3) is VALID
11-21 09:37:55.530 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (1, 0) failed constraints: row=False, col=True
11-21 09:37:55.530 28473 28500 I Unity : Checking replacement: tile 12 replacing 3 at (1,1)
11-21 09:37:55.530 28473 28500 I Unity : Board state - Row 1: [0, 3, 0, 0]
11-21 09:37:55.530 28473 28500 I Unity : Board state - Col 1: [0, 3, 0, 0]
11-21 09:37:55.530 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:55.530 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (1, 2) is VALID
11-21 09:37:55.530 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (1, 3) is VALID
11-21 09:37:55.530 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (2, 0) is VALID
11-21 09:37:55.530 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (2, 1) is VALID
11-21 09:37:55.531 28473 28500 I Unity : Checking replacement: tile 12 replacing 14 at (2,2)
11-21 09:37:55.531 28473 28500 I Unity : Board state - Row 2: [0, 0, 14, 0]
11-21 09:37:55.531 28473 28500 I Unity : Board state - Col 2: [0, 0, 14, 0]
11-21 09:37:55.531 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:55.531 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (2, 3) failed constraints: row=False, col=True
11-21 09:37:55.531 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (3, 0) is VALID
11-21 09:37:55.531 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (3, 1) is VALID
11-21 09:37:55.531 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (3, 2) failed constraints: row=True, col=False
11-21 09:37:55.531 28473 28500 I Unity : Checking replacement: tile 12 replacing 14 at (3,3)
11-21 09:37:55.531 28473 28500 I Unity : Board state - Row 3: [0, 0, 0, 14]
11-21 09:37:55.532 28473 28500 I Unity : Board state - Col 3: [0, 0, 0, 14]
11-21 09:37:55.532 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:55.532 28473 28500 I Unity : Found 12 valid placements for tile Red 12
11-21 09:37:55.532 28473 28500 I Unity : Valid placements changed: 12 positions
11-21 09:37:55.532 28473 28500 I Unity : Highlighted 12 valid placements for Player 1
11-21 09:37:56.541 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (0, 0) already occupied by 2
11-21 09:37:56.542 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (0, 1) failed constraints: row=True, col=False
11-21 09:37:56.542 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (0, 2) is VALID
11-21 09:37:56.542 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (0, 3) is VALID
11-21 09:37:56.542 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (1, 0) failed constraints: row=False, col=True
11-21 09:37:56.542 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (1, 1) already occupied by 3
11-21 09:37:56.542 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (1, 2) is VALID
11-21 09:37:56.542 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (1, 3) is VALID
11-21 09:37:56.542 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (2, 0) is VALID
11-21 09:37:56.542 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (2, 1) is VALID
11-21 09:37:56.543 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (2, 2) already occupied by 14
11-21 09:37:56.543 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (2, 3) failed constraints: row=False, col=True
11-21 09:37:56.543 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (3, 0) is VALID
11-21 09:37:56.543 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (3, 1) is VALID
11-21 09:37:56.543 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (3, 2) failed constraints: row=True, col=False
11-21 09:37:56.543 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (3, 3) already occupied by 14
11-21 09:37:56.543 28473 28500 I Unity : Checking replacement: tile 12 replacing 2 at (0,0)
11-21 09:37:56.543 28473 28500 I Unity : Board state - Row 0: [2, 0, 0, 0]
11-21 09:37:56.543 28473 28500 I Unity : Board state - Col 0: [2, 0, 0, 0]
11-21 09:37:56.543 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:56.544 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (0, 1) failed constraints: row=True, col=False
11-21 09:37:56.544 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (0, 2) is VALID
11-21 09:37:56.544 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (0, 3) is VALID
11-21 09:37:56.544 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (1, 0) failed constraints: row=False, col=True
11-21 09:37:56.544 28473 28500 I Unity : Checking replacement: tile 12 replacing 3 at (1,1)
11-21 09:37:56.544 28473 28500 I Unity : Board state - Row 1: [0, 3, 0, 0]
11-21 09:37:56.544 28473 28500 I Unity : Board state - Col 1: [0, 3, 0, 0]
11-21 09:37:56.544 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:56.544 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (1, 2) is VALID
11-21 09:37:56.544 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (1, 3) is VALID
11-21 09:37:56.545 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (2, 0) is VALID
11-21 09:37:56.545 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (2, 1) is VALID
11-21 09:37:56.545 28473 28500 I Unity : Checking replacement: tile 12 replacing 14 at (2,2)
11-21 09:37:56.545 28473 28500 I Unity : Board state - Row 2: [0, 0, 14, 0]
11-21 09:37:56.545 28473 28500 I Unity : Board state - Col 2: [0, 0, 14, 0]
11-21 09:37:56.545 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:56.545 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (2, 3) failed constraints: row=False, col=True
11-21 09:37:56.545 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (3, 0) is VALID
11-21 09:37:56.545 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (3, 1) is VALID
11-21 09:37:56.545 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (3, 2) failed constraints: row=True, col=False
11-21 09:37:56.545 28473 28500 I Unity : Checking replacement: tile 12 replacing 14 at (3,3)
11-21 09:37:56.546 28473 28500 I Unity : Board state - Row 3: [0, 0, 0, 14]
11-21 09:37:56.546 28473 28500 I Unity : Board state - Col 3: [0, 0, 0, 14]
11-21 09:37:56.546 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:37:56.546 28473 28500 I Unity : AI Player 1 placing tile at (1, 2)
11-21 09:37:56.546 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 12 at (2, 1) is VALID
11-21 09:37:56.546 28473 28500 I Unity : [PlayerBoard] Player 1 placed tile 12 at (2, 1) | Board now: 5/16 filled
11-21 09:37:56.546 28473 28500 I Unity : [PLACEMENT] ✓ Player 1 placed Red 12 at (2, 1) | Board: 5/16 filled | Remaining draw: 59
11-21 09:37:56.546 28473 28500 I Unity : Player 1 Board (5/16 filled):
11-21 09:37:56.547 28473 28500 I Unity : 02 -- -- --
11-21 09:37:56.547 28473 28500 I Unity : -- 03 -- --
11-21 09:37:56.547 28473 28500 I Unity : -- 12 14 --
11-21 09:37:56.547 28473 28500 I Unity : -- -- -- 14
11-21 09:37:56.547 28473 28500 I Unity : Tile placed: Player 1 placed Red 12 at (2, 1)
11-21 09:37:56.547 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=False, HasUnplacedTile=True, TestModeAllAI=False
11-21 09:37:56.547 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:37:56.548 28473 28500 W Unity : Tile 11: SetInteractable(False) - No Collider2D found!
11-21 09:37:56.548 28473 28500 W Unity : Tile 20: SetInteractable(False) - No Collider2D found!
11-21 09:37:56.548 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:37:56.548 28473 28500 W Unity : Tile 12: SetInteractable(False) - No Collider2D found!
11-21 09:37:56.548 28473 28500 I Unity : UIDiscardDeck interactability set to: False
11-21 09:37:56.548 28473 28500 I Unity : Tile 2: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:56.548 28473 28500 I Unity : Tile 3: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:56.548 28473 28500 I Unity : Tile 14: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:56.548 28473 28500 I Unity : Tile 14: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:56.548 28473 28500 I Unity : Player 1 placed tiles interactivity set to: False
11-21 09:37:56.548 28473 28500 I Unity : Interactability updated for player 1
11-21 09:37:56.549 28473 28500 I Unity : Valid placements changed: 0 positions
11-21 09:37:56.549 28473 28500 I Unity : Highlighted 0 valid placements for Player 1
11-21 09:37:56.549 28473 28500 I Unity : ═══════════════════════════════════════════════════════
11-21 09:37:56.549 28473 28500 I Unity : TURN CHANGE: Player 1 → Player 2
11-21 09:37:56.549 28473 28500 I Unity : Turn #3 | Tiles Remaining: 59 | Discard Pile: 0
11-21 09:37:56.549 28473 28500 I Unity : ═══════════════════════════════════════════════════════
11-21 09:37:56.549 28473 28500 I Unity : Game state changed: Game State: Playing, Turn 3, Player 2, Draw: 59, Discard: 0
11-21 09:37:56.549 28473 28500 I Unity : Updating deck UI with remaining count: 59
11-21 09:37:56.549 28473 28500 I Unity : UpdateRemainingCount called with: 59
11-21 09:37:56.550 28473 28500 I Unity : Set deck count text to: 59
11-21 09:37:56.550 28473 28500 I Unity : Game UI updated
11-21 09:37:56.550 28473 28500 I Unity : Player turn changed to Player 2
11-21 09:37:56.550 28473 28500 I Unity : Player 0 current player status: False
11-21 09:37:56.550 28473 28500 I Unity : Player 1 current player status: False
11-21 09:37:56.551 28473 28500 I Unity : Player 2 current player status: True
11-21 09:37:56.551 28473 28500 I Unity : Player 3 current player status: False
11-21 09:37:56.551 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=False, HasUnplacedTile=False, TestModeAllAI=False
11-21 09:37:56.551 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:37:56.551 28473 28500 W Unity : Tile 11: SetInteractable(False) - No Collider2D found!
11-21 09:37:56.551 28473 28500 W Unity : Tile 20: SetInteractable(False) - No Collider2D found!
11-21 09:37:56.551 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:37:56.551 28473 28500 W Unity : Tile 12: SetInteractable(False) - No Collider2D found!
11-21 09:37:56.551 28473 28500 I Unity : UIDiscardDeck interactability set to: False
11-21 09:37:56.552 28473 28500 I Unity : Tile 13: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:56.552 28473 28500 I Unity : Tile 15: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:56.552 28473 28500 I Unity : Tile 11: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:56.552 28473 28500 I Unity : Tile 12: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:56.552 28473 28500 I Unity : Tile 20: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:56.552 28473 28500 I Unity : Player 2 placed tiles interactivity set to: False
11-21 09:37:56.552 28473 28500 I Unity : Interactability updated for player 2
11-21 09:37:56.552 28473 28500 I Unity : Starting AI turn for Player 2
11-21 09:37:56.553 28473 28500 I Unity : Tile 16: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:37:57.041 28473 28500 I Unity : Tile 0 animation to (-5.53, 6.27, 0.00) complete
11-21 09:37:57.042 28473 28500 I Unity : Tile 9 number text visibility set to: True (faceDown: False)
11-21 09:37:57.042 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=12, Color=Red, NumberText null: False
11-21 09:37:57.042 28473 28500 I Unity : Set tile text to: 12, text active: True
11-21 09:37:57.042 28473 28500 I Unity : Set sprite renderer sprite to: TilePurple for color Red (index 1)
11-21 09:37:57.042 28473 28500 I Unity : Tile 9 set to face-up
11-21 09:37:57.043 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=12, Color=Red, NumberText null: False
11-21 09:37:57.043 28473 28500 I Unity : Set tile text to: 12, text active: True
11-21 09:37:57.043 28473 28500 I Unity : Set sprite renderer sprite to: TilePurple for color Red (index 1)
11-21 09:37:57.043 28473 28500 I Unity : Placed tile 12 on grid cell 9 at (1.00, 2.00)
11-21 09:37:57.043 28473 28500 I Unity : Animated opponent tile placement for Player 1 at (1, 2) (board scale: (0.50, 0.50, 1.00))
11-21 09:37:57.044 28473 28500 I Unity : AI Player 1 turn completed
11-21 09:37:57.044 28473 28500 I Unity : AI turn completed for Player 1
11-21 09:37:57.545 28473 28500 I Unity : AI Player 2 (MethodicalPlanner) starting turn...
11-21 09:38:00.885 28473 28500 I Unity : AI Player 2 decision: DrawFaceDown - Draw face-down tile - unknown potential (Score: 1.00)
11-21 09:38:00.885 28473 28500 I Unity : AI Player 2 drawing from face-down pile
11-21 09:38:00.885 28473 28500 I Unity : Drew tile: Red 4 (58 tiles remaining)
11-21 09:38:00.885 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (0, 0) already occupied by 13
11-21 09:38:00.885 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (0, 1) failed constraints: row=False, col=True
11-21 09:38:00.886 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (0, 2) failed constraints: row=False, col=True
11-21 09:38:00.886 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (0, 3) failed constraints: row=False, col=True
11-21 09:38:00.888 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (1, 0) failed constraints: row=True, col=False
11-21 09:38:00.888 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (1, 1) already occupied by 15
11-21 09:38:00.888 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (1, 2) failed constraints: row=False, col=True
11-21 09:38:00.888 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (1, 3) failed constraints: row=False, col=True
11-21 09:38:00.888 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (2, 0) failed constraints: row=True, col=False
11-21 09:38:00.888 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (2, 1) failed constraints: row=True, col=False
11-21 09:38:00.889 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (2, 2) already occupied by 11
11-21 09:38:00.889 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (2, 3) already occupied by 12
11-21 09:38:00.889 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (3, 0) failed constraints: row=True, col=False
11-21 09:38:00.889 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (3, 1) failed constraints: row=True, col=False
11-21 09:38:00.889 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (3, 2) failed constraints: row=True, col=False
11-21 09:38:00.889 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (3, 3) already occupied by 20
11-21 09:38:00.889 28473 28500 I Unity : → Player 2 drew tile: Red 4 from DrawPile | Valid placements: 0
11-21 09:38:00.889 28473 28500 I Unity : Tile drawn: Player 2 drew Red 4
11-21 09:38:00.891 28473 28500 I Unity : UIGameTile Start: SpriteRenderer=True, NumberText=True
11-21 09:38:00.891 28473 28500 I Unity : SetTileData called with: Red 4, Color enum: 1
11-21 09:38:00.892 28473 28500 I Unity : Updated _originalSprite to: TilePurple for Red
11-21 09:38:00.892 28473 28500 I Unity : Before UpdateVisualRepresentation: _color=Red (enum: 1), GameTileSprites=4
11-21 09:38:00.892 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=4, Color=Red, NumberText null: False
11-21 09:38:00.892 28473 28500 I Unity : Set tile text to: 4, text active: True
11-21 09:38:00.892 28473 28500 I Unity : Set sprite renderer sprite to: TilePurple for color Red (index 1)
11-21 09:38:00.892 28473 28500 I Unity : Tile 0 set to Red 4
11-21 09:38:00.893 28473 28500 I Unity : Tile 0 number text visibility set to: True (faceDown: False)
11-21 09:38:00.893 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=4, Color=Red, NumberText null: False
11-21 09:38:00.893 28473 28500 I Unity : Set tile text to: 4, text active: True
11-21 09:38:00.893 28473 28500 I Unity : Set sprite renderer sprite to: TilePurple for color Red (index 1)
11-21 09:38:00.893 28473 28500 I Unity : Tile 0 set to face-up
11-21 09:38:00.893 28473 28500 I Unity : Tile 4: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:00.893 28473 28500 I Unity : Created temporary drawn tile Red 4 for opponent Player 2
11-21 09:38:00.894 28473 28500 I Unity : UpdateDiscardCount called with: 0
11-21 09:38:00.894 28473 28500 I Unity : Set discard count text to: 0
11-21 09:38:00.894 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=False, HasUnplacedTile=True, TestModeAllAI=False
11-21 09:38:00.894 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:00.894 28473 28500 W Unity : Tile 11: SetInteractable(False) - No Collider2D found!
11-21 09:38:00.894 28473 28500 W Unity : Tile 20: SetInteractable(False) - No Collider2D found!
11-21 09:38:00.894 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:00.894 28473 28500 W Unity : Tile 12: SetInteractable(False) - No Collider2D found!
11-21 09:38:00.894 28473 28500 I Unity : UIDiscardDeck interactability set to: False
11-21 09:38:00.894 28473 28500 I Unity : Tile 13: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:00.895 28473 28500 I Unity : Tile 15: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:00.895 28473 28500 I Unity : Tile 11: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:00.895 28473 28500 I Unity : Tile 12: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:00.895 28473 28500 I Unity : Tile 20: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:00.895 28473 28500 I Unity : Player 2 placed tiles interactivity set to: False
11-21 09:38:00.895 28473 28500 I Unity : Interactability updated for player 2
11-21 09:38:00.895 28473 28500 I Unity : Checking replacement: tile 4 replacing 13 at (0,0)
11-21 09:38:00.895 28473 28500 I Unity : Board state - Row 0: [13, 0, 0, 0]
11-21 09:38:00.896 28473 28500 I Unity : Board state - Col 0: [13, 0, 0, 0]
11-21 09:38:00.896 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:00.896 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (0, 1) failed constraints: row=False, col=True
11-21 09:38:00.896 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (0, 2) failed constraints: row=False, col=True
11-21 09:38:00.896 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (0, 3) failed constraints: row=False, col=True
11-21 09:38:00.897 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (1, 0) failed constraints: row=True, col=False
11-21 09:38:00.897 28473 28500 I Unity : Checking replacement: tile 4 replacing 15 at (1,1)
11-21 09:38:00.897 28473 28500 I Unity : Board state - Row 1: [0, 15, 0, 0]
11-21 09:38:00.897 28473 28500 I Unity : Board state - Col 1: [0, 15, 0, 0]
11-21 09:38:00.897 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:00.897 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (1, 2) failed constraints: row=False, col=True
11-21 09:38:00.897 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (1, 3) failed constraints: row=False, col=True
11-21 09:38:00.897 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (2, 0) failed constraints: row=True, col=False
11-21 09:38:00.897 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (2, 1) failed constraints: row=True, col=False
11-21 09:38:00.897 28473 28500 I Unity : Checking replacement: tile 4 replacing 11 at (2,2)
11-21 09:38:00.897 28473 28500 I Unity : Board state - Row 2: [0, 0, 11, 12]
11-21 09:38:00.898 28473 28500 I Unity : Board state - Col 2: [0, 0, 11, 0]
11-21 09:38:00.898 28473 28500 I Unity : Row check: tile 12 at (2,3) to right of 4 at (2,2)
11-21 09:38:00.898 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:00.898 28473 28500 I Unity : Checking replacement: tile 4 replacing 12 at (2,3)
11-21 09:38:00.898 28473 28500 I Unity : Board state - Row 2: [0, 0, 11, 12]
11-21 09:38:00.898 28473 28500 I Unity : Board state - Col 3: [0, 0, 12, 20]
11-21 09:38:00.898 28473 28500 I Unity : Row check: tile 11 at (2,2) to left of 4 at (2,3)
11-21 09:38:00.898 28473 28500 I Unity : ✗ Row constraint failed: 11 >= 4
11-21 09:38:00.898 28473 28500 I Unity : Col check: tile 20 at (3,3) below 4 at (2,3)
11-21 09:38:00.899 28473 28500 I Unity : Replacement validation: row=False, col=True
11-21 09:38:00.899 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (3, 0) failed constraints: row=True, col=False
11-21 09:38:00.899 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (3, 1) failed constraints: row=True, col=False
11-21 09:38:00.899 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (3, 2) failed constraints: row=True, col=False
11-21 09:38:00.900 28473 28500 I Unity : Checking replacement: tile 4 replacing 20 at (3,3)
11-21 09:38:00.900 28473 28500 I Unity : Board state - Row 3: [0, 0, 0, 20]
11-21 09:38:00.900 28473 28500 I Unity : Board state - Col 3: [0, 0, 12, 20]
11-21 09:38:00.900 28473 28500 I Unity : Col check: tile 12 at (2,3) above 4 at (3,3)
11-21 09:38:00.900 28473 28500 I Unity : ✗ Column constraint failed: 12 >= 4
11-21 09:38:00.900 28473 28500 I Unity : Replacement validation: row=True, col=False
11-21 09:38:00.900 28473 28500 I Unity : Found 3 valid placements for tile Red 4
11-21 09:38:00.900 28473 28500 I Unity : Valid placements changed: 3 positions
11-21 09:38:00.901 28473 28500 I Unity : Highlighted 3 valid placements for Player 2
11-21 09:38:01.887 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (0, 0) already occupied by 13
11-21 09:38:01.888 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (0, 1) failed constraints: row=False, col=True
11-21 09:38:01.888 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (0, 2) failed constraints: row=False, col=True
11-21 09:38:01.888 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (0, 3) failed constraints: row=False, col=True
11-21 09:38:01.888 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (1, 0) failed constraints: row=True, col=False
11-21 09:38:01.888 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (1, 1) already occupied by 15
11-21 09:38:01.888 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (1, 2) failed constraints: row=False, col=True
11-21 09:38:01.888 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (1, 3) failed constraints: row=False, col=True
11-21 09:38:01.888 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (2, 0) failed constraints: row=True, col=False
11-21 09:38:01.888 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (2, 1) failed constraints: row=True, col=False
11-21 09:38:01.889 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (2, 2) already occupied by 11
11-21 09:38:01.889 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (2, 3) already occupied by 12
11-21 09:38:01.889 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (3, 0) failed constraints: row=True, col=False
11-21 09:38:01.889 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (3, 1) failed constraints: row=True, col=False
11-21 09:38:01.889 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (3, 2) failed constraints: row=True, col=False
11-21 09:38:01.889 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (3, 3) already occupied by 20
11-21 09:38:01.889 28473 28500 I Unity : Checking replacement: tile 4 replacing 13 at (0,0)
11-21 09:38:01.889 28473 28500 I Unity : Board state - Row 0: [13, 0, 0, 0]
11-21 09:38:01.889 28473 28500 I Unity : Board state - Col 0: [13, 0, 0, 0]
11-21 09:38:01.890 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:01.890 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (0, 1) failed constraints: row=False, col=True
11-21 09:38:01.890 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (0, 2) failed constraints: row=False, col=True
11-21 09:38:01.890 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (0, 3) failed constraints: row=False, col=True
11-21 09:38:01.890 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (1, 0) failed constraints: row=True, col=False
11-21 09:38:01.890 28473 28500 I Unity : Checking replacement: tile 4 replacing 15 at (1,1)
11-21 09:38:01.890 28473 28500 I Unity : Board state - Row 1: [0, 15, 0, 0]
11-21 09:38:01.890 28473 28500 I Unity : Board state - Col 1: [0, 15, 0, 0]
11-21 09:38:01.890 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:01.891 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (1, 2) failed constraints: row=False, col=True
11-21 09:38:01.891 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (1, 3) failed constraints: row=False, col=True
11-21 09:38:01.891 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (2, 0) failed constraints: row=True, col=False
11-21 09:38:01.891 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (2, 1) failed constraints: row=True, col=False
11-21 09:38:01.891 28473 28500 I Unity : Checking replacement: tile 4 replacing 11 at (2,2)
11-21 09:38:01.891 28473 28500 I Unity : Board state - Row 2: [0, 0, 11, 12]
11-21 09:38:01.891 28473 28500 I Unity : Board state - Col 2: [0, 0, 11, 0]
11-21 09:38:01.891 28473 28500 I Unity : Row check: tile 12 at (2,3) to right of 4 at (2,2)
11-21 09:38:01.892 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:01.892 28473 28500 I Unity : Checking replacement: tile 4 replacing 12 at (2,3)
11-21 09:38:01.892 28473 28500 I Unity : Board state - Row 2: [0, 0, 11, 12]
11-21 09:38:01.892 28473 28500 I Unity : Board state - Col 3: [0, 0, 12, 20]
11-21 09:38:01.892 28473 28500 I Unity : Row check: tile 11 at (2,2) to left of 4 at (2,3)
11-21 09:38:01.892 28473 28500 I Unity : ✗ Row constraint failed: 11 >= 4
11-21 09:38:01.892 28473 28500 I Unity : Col check: tile 20 at (3,3) below 4 at (2,3)
11-21 09:38:01.892 28473 28500 I Unity : Replacement validation: row=False, col=True
11-21 09:38:01.892 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (3, 0) failed constraints: row=True, col=False
11-21 09:38:01.893 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (3, 1) failed constraints: row=True, col=False
11-21 09:38:01.893 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (3, 2) failed constraints: row=True, col=False
11-21 09:38:01.893 28473 28500 I Unity : Checking replacement: tile 4 replacing 20 at (3,3)
11-21 09:38:01.893 28473 28500 I Unity : Board state - Row 3: [0, 0, 0, 20]
11-21 09:38:01.893 28473 28500 I Unity : Board state - Col 3: [0, 0, 12, 20]
11-21 09:38:01.893 28473 28500 I Unity : Col check: tile 12 at (2,3) above 4 at (3,3)
11-21 09:38:01.893 28473 28500 I Unity : ✗ Column constraint failed: 12 >= 4
11-21 09:38:01.893 28473 28500 I Unity : Replacement validation: row=True, col=False
11-21 09:38:01.893 28473 28500 I Unity : AI Player 2 replacement decision: Replacement chosen (no beneficial empty) | pot=0.27, policy=-0.23
11-21 09:38:01.894 28473 28500 I Unity : AI Player 2 replacing tile at (1, 1)
11-21 09:38:01.894 28473 28500 I Unity : Checking replacement: tile 4 replacing 15 at (1,1)
11-21 09:38:01.894 28473 28500 I Unity : Board state - Row 1: [0, 15, 0, 0]
11-21 09:38:01.894 28473 28500 I Unity : Board state - Col 1: [0, 15, 0, 0]
11-21 09:38:01.894 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:01.894 28473 28500 I Unity : Replacing tile 15 at (1, 1) with Red 4
11-21 09:38:01.895 28473 28500 I Unity : Discarded tile: Purple 15 (1 tiles in discard pile)
11-21 09:38:01.895 28473 28500 I Unity : Tile discarded: Player 2 discarded Purple 15
11-21 09:38:01.895 28473 28500 I Unity : [DISCARD DEBUG] Cached logical discarded tile for player 2: Purple 15
11-21 09:38:01.895 28473 28500 I Unity : [PlayerBoard] Player 2 removed tile 15 from (1, 1) | Board now: 4/16 filled
11-21 09:38:01.895 28473 28500 I Unity : [PlayerBoard] Player 2 placed tile 04 at (1, 1) | Board now: 5/16 filled
11-21 09:38:01.895 28473 28500 I Unity : Player 2 placed Red 4 with replacement at (1, 1)
11-21 09:38:01.895 28473 28500 I Unity : Player 2 Board (5/16 filled):
11-21 09:38:01.896 28473 28500 I Unity : 13 -- -- --
11-21 09:38:01.896 28473 28500 I Unity : -- 04 -- --
11-21 09:38:01.896 28473 28500 I Unity : -- -- 11 12
11-21 09:38:01.896 28473 28500 I Unity : -- -- -- 20
11-21 09:38:01.896 28473 28500 I Unity : Tile placed: Player 2 placed Red 4 at (1, 1)
11-21 09:38:01.896 28473 28500 I Unity : Opponent replacing tile 15 with 4 at (1, 1)
11-21 09:38:01.897 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=False, HasUnplacedTile=True, TestModeAllAI=False
11-21 09:38:01.897 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:01.897 28473 28500 W Unity : Tile 11: SetInteractable(False) - No Collider2D found!
11-21 09:38:01.897 28473 28500 W Unity : Tile 20: SetInteractable(False) - No Collider2D found!
11-21 09:38:01.897 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:01.897 28473 28500 W Unity : Tile 12: SetInteractable(False) - No Collider2D found!
11-21 09:38:01.897 28473 28500 I Unity : UIDiscardDeck interactability set to: False
11-21 09:38:01.897 28473 28500 I Unity : Tile 13: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:01.898 28473 28500 I Unity : Tile 15: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:01.898 28473 28500 I Unity : Tile 11: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:01.898 28473 28500 I Unity : Tile 12: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:01.898 28473 28500 I Unity : Tile 20: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:01.898 28473 28500 I Unity : Player 2 placed tiles interactivity set to: False
11-21 09:38:01.898 28473 28500 I Unity : Interactability updated for player 2
11-21 09:38:01.898 28473 28500 I Unity : Valid placements changed: 0 positions
11-21 09:38:01.898 28473 28500 I Unity : Highlighted 0 valid placements for Player 2
11-21 09:38:01.898 28473 28500 I Unity : ═══════════════════════════════════════════════════════
11-21 09:38:01.898 28473 28500 I Unity : TURN CHANGE: Player 2 → Player 3
11-21 09:38:01.899 28473 28500 I Unity : Turn #3 | Tiles Remaining: 58 | Discard Pile: 1
11-21 09:38:01.899 28473 28500 I Unity : ═══════════════════════════════════════════════════════
11-21 09:38:01.899 28473 28500 I Unity : Game state changed: Game State: Playing, Turn 3, Player 3, Draw: 58, Discard: 1
11-21 09:38:01.899 28473 28500 I Unity : Updating deck UI with remaining count: 58
11-21 09:38:01.899 28473 28500 I Unity : UpdateRemainingCount called with: 58
11-21 09:38:01.899 28473 28500 I Unity : Set deck count text to: 58
11-21 09:38:01.899 28473 28500 I Unity : Game UI updated
11-21 09:38:01.899 28473 28500 I Unity : Player turn changed to Player 3
11-21 09:38:01.900 28473 28500 I Unity : Player 0 current player status: False
11-21 09:38:01.900 28473 28500 I Unity : Player 1 current player status: False
11-21 09:38:01.900 28473 28500 I Unity : Player 2 current player status: False
11-21 09:38:01.900 28473 28500 I Unity : Player 3 current player status: True
11-21 09:38:01.900 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=False, HasUnplacedTile=False, TestModeAllAI=False
11-21 09:38:01.901 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:01.901 28473 28500 W Unity : Tile 11: SetInteractable(False) - No Collider2D found!
11-21 09:38:01.901 28473 28500 W Unity : Tile 20: SetInteractable(False) - No Collider2D found!
11-21 09:38:01.901 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:01.901 28473 28500 W Unity : Tile 12: SetInteractable(False) - No Collider2D found!
11-21 09:38:01.901 28473 28500 I Unity : UIDiscardDeck interactability set to: False
11-21 09:38:01.901 28473 28500 I Unity : Tile 7: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:01.901 28473 28500 I Unity : Tile 10: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:01.901 28473 28500 I Unity : Tile 11: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:01.901 28473 28500 I Unity : Tile 14: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:01.902 28473 28500 I Unity : Tile 20: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:01.902 28473 28500 I Unity : Player 3 placed tiles interactivity set to: False
11-21 09:38:01.902 28473 28500 I Unity : Interactability updated for player 3
11-21 09:38:01.902 28473 28500 I Unity : Starting AI turn for Player 3
11-21 09:38:01.902 28473 28500 I Unity : Tile 16: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:02.188 28473 28500 I Unity : Tile 5 animation to (2.00, 1.99, 0.00) complete
11-21 09:38:02.188 28473 28500 I Unity : SetTileData called with: Purple 15, Color enum: 2
11-21 09:38:02.188 28473 28500 I Unity : Updated _originalSprite to: TileRed for Purple
11-21 09:38:02.188 28473 28500 I Unity : Before UpdateVisualRepresentation: _color=Purple (enum: 2), GameTileSprites=4
11-21 09:38:02.189 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=15, Color=Purple, NumberText null: False
11-21 09:38:02.189 28473 28500 I Unity : Set tile text to: 15, text active: True
11-21 09:38:02.189 28473 28500 I Unity : Set sprite renderer sprite to: TileRed for color Purple (index 2)
11-21 09:38:02.189 28473 28500 I Unity : Tile 5 set to Purple 15
11-21 09:38:02.189 28473 28500 I Unity : Tile 15: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:38:02.189 28473 28500 I Unity : [UIDiscardDeck] Destroyed collider for discard pile tile 15
11-21 09:38:02.190 28473 28500 I Unity : Tile 15: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:02.190 28473 28500 I Unity : Discard Pile: Tile 11 (index 1) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 5, Text Order: 6
11-21 09:38:02.190 28473 28500 I Unity : Discard Pile: Tile 20 (index 2) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 7, Text Order: 8
11-21 09:38:02.190 28473 28500 I Unity : Discard Pile: Tile 14 (index 3) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 9, Text Order: 10
11-21 09:38:02.190 28473 28500 I Unity : Discard Pile: Tile 12 (index 4) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 11, Text Order: 12
11-21 09:38:02.190 28473 28500 I Unity : Discard Pile: Tile 15 (index 5) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 13, Text Order: 14
11-21 09:38:02.190 28473 28500 I Unity : UpdateDiscardCount called with: 1
11-21 09:38:02.191 28473 28500 I Unity : Set discard count text to: 1
11-21 09:38:02.191 28473 28500 I Unity : [UIDiscardDeck] Added tile 15 to discard deck (6 total)
11-21 09:38:02.191 28473 28500 I Unity : UpdateDiscardCount called with: 1
11-21 09:38:02.191 28473 28500 I Unity : Set discard count text to: 1
11-21 09:38:02.389 28473 28500 I Unity : Tile 0 animation to (-0.53, 7.32, 0.00) complete
11-21 09:38:02.389 28473 28500 I Unity : Tile 5 number text visibility set to: True (faceDown: False)
11-21 09:38:02.389 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=4, Color=Red, NumberText null: False
11-21 09:38:02.389 28473 28500 I Unity : Set tile text to: 4, text active: True
11-21 09:38:02.390 28473 28500 I Unity : Set sprite renderer sprite to: TilePurple for color Red (index 1)
11-21 09:38:02.390 28473 28500 I Unity : Tile 5 set to face-up
11-21 09:38:02.390 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=4, Color=Red, NumberText null: False
11-21 09:38:02.390 28473 28500 I Unity : Set tile text to: 4, text active: True
11-21 09:38:02.390 28473 28500 I Unity : Set sprite renderer sprite to: TilePurple for color Red (index 1)
11-21 09:38:02.390 28473 28500 I Unity : Placed tile 4 on grid cell 5 at (1.00, 1.00)
11-21 09:38:02.390 28473 28500 I Unity : Animated opponent tile placement for Player 2 at (1, 1) (board scale: (0.50, 0.50, 1.00))
11-21 09:38:02.391 28473 28500 I Unity : AI Player 2 turn completed
11-21 09:38:02.391 28473 28500 I Unity : AI turn completed for Player 2
11-21 09:38:02.888 28473 28500 I Unity : AI Player 3 (MethodicalPlanner) starting turn...
11-21 09:38:06.031 28473 28500 I Unity : Checking replacement: tile 15 replacing 7 at (0,0)
11-21 09:38:06.032 28473 28500 I Unity : Board state - Row 0: [7, 0, 0, 0]
11-21 09:38:06.032 28473 28500 I Unity : Board state - Col 0: [7, 0, 0, 0]
11-21 09:38:06.032 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:06.032 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (0, 1) failed constraints: row=True, col=False
11-21 09:38:06.032 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (0, 2) failed constraints: row=True, col=False
11-21 09:38:06.032 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (0, 3) is VALID
11-21 09:38:06.032 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (1, 0) failed constraints: row=False, col=True
11-21 09:38:06.032 28473 28500 I Unity : Checking replacement: tile 15 replacing 10 at (1,1)
11-21 09:38:06.032 28473 28500 I Unity : Board state - Row 1: [0, 10, 0, 0]
11-21 09:38:06.033 28473 28500 I Unity : Board state - Col 1: [0, 10, 11, 0]
11-21 09:38:06.033 28473 28500 I Unity : Col check: tile 11 at (2,1) below 15 at (1,1)
11-21 09:38:06.033 28473 28500 I Unity : ✗ Column constraint failed: 11 <= 15
11-21 09:38:06.033 28473 28500 I Unity : Replacement validation: row=True, col=False
11-21 09:38:06.033 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (1, 2) failed constraints: row=True, col=False
11-21 09:38:06.033 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (1, 3) is VALID
11-21 09:38:06.033 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (2, 0) failed constraints: row=False, col=True
11-21 09:38:06.033 28473 28500 I Unity : Checking replacement: tile 15 replacing 11 at (2,1)
11-21 09:38:06.033 28473 28500 I Unity : Board state - Row 2: [0, 11, 14, 0]
11-21 09:38:06.034 28473 28500 I Unity : Board state - Col 1: [0, 10, 11, 0]
11-21 09:38:06.034 28473 28500 I Unity : Row check: tile 14 at (2,2) to right of 15 at (2,1)
11-21 09:38:06.034 28473 28500 I Unity : ✗ Row constraint failed: 14 <= 15
11-21 09:38:06.034 28473 28500 I Unity : Col check: tile 10 at (1,1) above 15 at (2,1)
11-21 09:38:06.034 28473 28500 I Unity : Replacement validation: row=False, col=True
11-21 09:38:06.034 28473 28500 I Unity : Checking replacement: tile 15 replacing 14 at (2,2)
11-21 09:38:06.034 28473 28500 I Unity : Board state - Row 2: [0, 11, 14, 0]
11-21 09:38:06.034 28473 28500 I Unity : Board state - Col 2: [0, 0, 14, 0]
11-21 09:38:06.034 28473 28500 I Unity : Row check: tile 11 at (2,1) to left of 15 at (2,2)
11-21 09:38:06.034 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:06.034 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (2, 3) is VALID
11-21 09:38:06.035 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (3, 0) is VALID
11-21 09:38:06.035 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (3, 1) is VALID
11-21 09:38:06.035 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (3, 2) is VALID
11-21 09:38:06.035 28473 28500 I Unity : Checking replacement: tile 15 replacing 20 at (3,3)
11-21 09:38:06.035 28473 28500 I Unity : Board state - Row 3: [0, 0, 0, 20]
11-21 09:38:06.035 28473 28500 I Unity : Board state - Col 3: [0, 0, 0, 20]
11-21 09:38:06.035 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:06.036 28473 28500 I Unity : AI Player 3 decision: TakeFaceUp - Top discard Purple 15 has beneficial placement(s): 6 (Score: 0.96)
11-21 09:38:06.036 28473 28500 I Unity : AI Player 3 taking tile 0 from discard pile
11-21 09:38:06.036 28473 28500 I Unity : Took discarded tile: Purple 15 from index 0
11-21 09:38:06.036 28473 28500 I Unity : Player 3 took discarded tile: Purple 15 from DiscardPile
11-21 09:38:06.036 28473 28500 I Unity : Tile drawn: Player 3 drew Purple 15
11-21 09:38:06.038 28473 28500 I Unity : UIGameTile Start: SpriteRenderer=True, NumberText=True
11-21 09:38:06.038 28473 28500 I Unity : SetTileData called with: Purple 15, Color enum: 2
11-21 09:38:06.038 28473 28500 I Unity : Updated _originalSprite to: TileRed for Purple
11-21 09:38:06.038 28473 28500 I Unity : Before UpdateVisualRepresentation: _color=Purple (enum: 2), GameTileSprites=4
11-21 09:38:06.038 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=15, Color=Purple, NumberText null: False
11-21 09:38:06.038 28473 28500 I Unity : Set tile text to: 15, text active: True
11-21 09:38:06.039 28473 28500 I Unity : Set sprite renderer sprite to: TileRed for color Purple (index 2)
11-21 09:38:06.039 28473 28500 I Unity : Tile 0 set to Purple 15
11-21 09:38:06.039 28473 28500 I Unity : Tile 0 number text visibility set to: True (faceDown: False)
11-21 09:38:06.039 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=15, Color=Purple, NumberText null: False
11-21 09:38:06.039 28473 28500 I Unity : Set tile text to: 15, text active: True
11-21 09:38:06.039 28473 28500 I Unity : Set sprite renderer sprite to: TileRed for color Purple (index 2)
11-21 09:38:06.039 28473 28500 I Unity : Tile 0 set to face-up
11-21 09:38:06.039 28473 28500 I Unity : Tile 15: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:06.040 28473 28500 I Unity : Created temporary drawn tile Purple 15 for opponent Player 3
11-21 09:38:06.040 28473 28500 I Unity : UpdateDiscardCount called with: 0
11-21 09:38:06.040 28473 28500 I Unity : Set discard count text to: 0
11-21 09:38:06.040 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=False, HasUnplacedTile=True, TestModeAllAI=False
11-21 09:38:06.040 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:06.040 28473 28500 W Unity : Tile 11: SetInteractable(False) - No Collider2D found!
11-21 09:38:06.040 28473 28500 W Unity : Tile 20: SetInteractable(False) - No Collider2D found!
11-21 09:38:06.040 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:06.040 28473 28500 W Unity : Tile 12: SetInteractable(False) - No Collider2D found!
11-21 09:38:06.040 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:38:06.041 28473 28500 I Unity : UIDiscardDeck interactability set to: False
11-21 09:38:06.041 28473 28500 I Unity : Tile 7: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:06.041 28473 28500 I Unity : Tile 10: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:06.041 28473 28500 I Unity : Tile 11: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:06.041 28473 28500 I Unity : Tile 14: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:06.041 28473 28500 I Unity : Tile 20: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:06.041 28473 28500 I Unity : Player 3 placed tiles interactivity set to: False
11-21 09:38:06.041 28473 28500 I Unity : Interactability updated for player 3
11-21 09:38:06.041 28473 28500 I Unity : Checking replacement: tile 15 replacing 7 at (0,0)
11-21 09:38:06.041 28473 28500 I Unity : Board state - Row 0: [7, 0, 0, 0]
11-21 09:38:06.042 28473 28500 I Unity : Board state - Col 0: [7, 0, 0, 0]
11-21 09:38:06.042 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:06.042 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (0, 1) failed constraints: row=True, col=False
11-21 09:38:06.042 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (0, 2) failed constraints: row=True, col=False
11-21 09:38:06.042 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (0, 3) is VALID
11-21 09:38:06.042 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (1, 0) failed constraints: row=False, col=True
11-21 09:38:06.042 28473 28500 I Unity : Checking replacement: tile 15 replacing 10 at (1,1)
11-21 09:38:06.042 28473 28500 I Unity : Board state - Row 1: [0, 10, 0, 0]
11-21 09:38:06.042 28473 28500 I Unity : Board state - Col 1: [0, 10, 11, 0]
11-21 09:38:06.042 28473 28500 I Unity : Col check: tile 11 at (2,1) below 15 at (1,1)
11-21 09:38:06.043 28473 28500 I Unity : ✗ Column constraint failed: 11 <= 15
11-21 09:38:06.043 28473 28500 I Unity : Replacement validation: row=True, col=False
11-21 09:38:06.043 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (1, 2) failed constraints: row=True, col=False
11-21 09:38:06.043 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (1, 3) is VALID
11-21 09:38:06.043 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (2, 0) failed constraints: row=False, col=True
11-21 09:38:06.043 28473 28500 I Unity : Checking replacement: tile 15 replacing 11 at (2,1)
11-21 09:38:06.043 28473 28500 I Unity : Board state - Row 2: [0, 11, 14, 0]
11-21 09:38:06.043 28473 28500 I Unity : Board state - Col 1: [0, 10, 11, 0]
11-21 09:38:06.043 28473 28500 I Unity : Row check: tile 14 at (2,2) to right of 15 at (2,1)
11-21 09:38:06.043 28473 28500 I Unity : ✗ Row constraint failed: 14 <= 15
11-21 09:38:06.044 28473 28500 I Unity : Col check: tile 10 at (1,1) above 15 at (2,1)
11-21 09:38:06.044 28473 28500 I Unity : Replacement validation: row=False, col=True
11-21 09:38:06.044 28473 28500 I Unity : Checking replacement: tile 15 replacing 14 at (2,2)
11-21 09:38:06.044 28473 28500 I Unity : Board state - Row 2: [0, 11, 14, 0]
11-21 09:38:06.044 28473 28500 I Unity : Board state - Col 2: [0, 0, 14, 0]
11-21 09:38:06.044 28473 28500 I Unity : Row check: tile 11 at (2,1) to left of 15 at (2,2)
11-21 09:38:06.044 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:06.044 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (2, 3) is VALID
11-21 09:38:06.044 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (3, 0) is VALID
11-21 09:38:06.044 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (3, 1) is VALID
11-21 09:38:06.044 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (3, 2) is VALID
11-21 09:38:06.045 28473 28500 I Unity : Checking replacement: tile 15 replacing 20 at (3,3)
11-21 09:38:06.045 28473 28500 I Unity : Board state - Row 3: [0, 0, 0, 20]
11-21 09:38:06.045 28473 28500 I Unity : Board state - Col 3: [0, 0, 0, 20]
11-21 09:38:06.045 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:06.045 28473 28500 I Unity : Found 9 valid placements for tile Purple 15
11-21 09:38:06.045 28473 28500 I Unity : Valid placements changed: 9 positions
11-21 09:38:06.045 28473 28500 I Unity : Highlighted 9 valid placements for Player 3
11-21 09:38:06.045 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (0, 0) already occupied by 7
11-21 09:38:06.046 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (0, 1) failed constraints: row=True, col=False
11-21 09:38:06.046 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (0, 2) failed constraints: row=True, col=False
11-21 09:38:06.046 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (0, 3) is VALID
11-21 09:38:06.046 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (1, 0) failed constraints: row=False, col=True
11-21 09:38:06.046 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (1, 1) already occupied by 10
11-21 09:38:06.046 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (1, 2) failed constraints: row=True, col=False
11-21 09:38:06.046 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (1, 3) is VALID
11-21 09:38:06.046 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (2, 0) failed constraints: row=False, col=True
11-21 09:38:06.046 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (2, 1) already occupied by 11
11-21 09:38:06.046 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (2, 2) already occupied by 14
11-21 09:38:06.047 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (2, 3) is VALID
11-21 09:38:06.047 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (3, 0) is VALID
11-21 09:38:06.047 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (3, 1) is VALID
11-21 09:38:06.047 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (3, 2) is VALID
11-21 09:38:06.047 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (3, 3) already occupied by 20
11-21 09:38:06.047 28473 28500 I Unity : Checking replacement: tile 15 replacing 7 at (0,0)
11-21 09:38:06.047 28473 28500 I Unity : Board state - Row 0: [7, 0, 0, 0]
11-21 09:38:06.047 28473 28500 I Unity : Board state - Col 0: [7, 0, 0, 0]
11-21 09:38:06.047 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:06.047 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (0, 1) failed constraints: row=True, col=False
11-21 09:38:06.048 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (0, 2) failed constraints: row=True, col=False
11-21 09:38:06.048 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (0, 3) is VALID
11-21 09:38:06.048 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (1, 0) failed constraints: row=False, col=True
11-21 09:38:06.048 28473 28500 I Unity : Checking replacement: tile 15 replacing 10 at (1,1)
11-21 09:38:06.048 28473 28500 I Unity : Board state - Row 1: [0, 10, 0, 0]
11-21 09:38:06.048 28473 28500 I Unity : Board state - Col 1: [0, 10, 11, 0]
11-21 09:38:06.048 28473 28500 I Unity : Col check: tile 11 at (2,1) below 15 at (1,1)
11-21 09:38:06.048 28473 28500 I Unity : ✗ Column constraint failed: 11 <= 15
11-21 09:38:06.048 28473 28500 I Unity : Replacement validation: row=True, col=False
11-21 09:38:06.048 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (1, 2) failed constraints: row=True, col=False
11-21 09:38:06.048 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (1, 3) is VALID
11-21 09:38:06.049 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (2, 0) failed constraints: row=False, col=True
11-21 09:38:06.049 28473 28500 I Unity : Checking replacement: tile 15 replacing 11 at (2,1)
11-21 09:38:06.049 28473 28500 I Unity : Board state - Row 2: [0, 11, 14, 0]
11-21 09:38:06.049 28473 28500 I Unity : Board state - Col 1: [0, 10, 11, 0]
11-21 09:38:06.049 28473 28500 I Unity : Row check: tile 14 at (2,2) to right of 15 at (2,1)
11-21 09:38:06.049 28473 28500 I Unity : ✗ Row constraint failed: 14 <= 15
11-21 09:38:06.049 28473 28500 I Unity : Col check: tile 10 at (1,1) above 15 at (2,1)
11-21 09:38:06.049 28473 28500 I Unity : Replacement validation: row=False, col=True
11-21 09:38:06.049 28473 28500 I Unity : Checking replacement: tile 15 replacing 14 at (2,2)
11-21 09:38:06.049 28473 28500 I Unity : Board state - Row 2: [0, 11, 14, 0]
11-21 09:38:06.049 28473 28500 I Unity : Board state - Col 2: [0, 0, 14, 0]
11-21 09:38:06.050 28473 28500 I Unity : Row check: tile 11 at (2,1) to left of 15 at (2,2)
11-21 09:38:06.050 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:06.050 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (2, 3) is VALID
11-21 09:38:06.050 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (3, 0) is VALID
11-21 09:38:06.050 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (3, 1) is VALID
11-21 09:38:06.050 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (3, 2) is VALID
11-21 09:38:06.050 28473 28500 I Unity : Checking replacement: tile 15 replacing 20 at (3,3)
11-21 09:38:06.050 28473 28500 I Unity : Board state - Row 3: [0, 0, 0, 20]
11-21 09:38:06.050 28473 28500 I Unity : Board state - Col 3: [0, 0, 0, 20]
11-21 09:38:06.050 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:06.051 28473 28500 I Unity : AI Player 3 placing tile at (3, 2)
11-21 09:38:06.051 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (2, 3) is VALID
11-21 09:38:06.051 28473 28500 I Unity : [PlayerBoard] Player 3 placed tile 15 at (2, 3) | Board now: 6/16 filled
11-21 09:38:06.051 28473 28500 I Unity : [PLACEMENT] ✓ Player 3 placed Purple 15 at (2, 3) | Board: 6/16 filled | Remaining draw: 58
11-21 09:38:06.051 28473 28500 I Unity : Player 3 Board (6/16 filled):
11-21 09:38:06.051 28473 28500 I Unity : 07 -- -- --
11-21 09:38:06.051 28473 28500 I Unity : -- 10 -- --
11-21 09:38:06.052 28473 28500 I Unity : -- 11 14 15
11-21 09:38:06.052 28473 28500 I Unity : -- -- -- 20
11-21 09:38:06.052 28473 28500 I Unity : Tile placed: Player 3 placed Purple 15 at (2, 3)
11-21 09:38:06.052 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=False, HasUnplacedTile=True, TestModeAllAI=False
11-21 09:38:06.052 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:06.052 28473 28500 W Unity : Tile 11: SetInteractable(False) - No Collider2D found!
11-21 09:38:06.052 28473 28500 W Unity : Tile 20: SetInteractable(False) - No Collider2D found!
11-21 09:38:06.052 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:06.053 28473 28500 W Unity : Tile 12: SetInteractable(False) - No Collider2D found!
11-21 09:38:06.053 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:38:06.053 28473 28500 I Unity : UIDiscardDeck interactability set to: False
11-21 09:38:06.053 28473 28500 I Unity : Tile 7: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:06.053 28473 28500 I Unity : Tile 10: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:06.053 28473 28500 I Unity : Tile 11: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:06.053 28473 28500 I Unity : Tile 14: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:06.053 28473 28500 I Unity : Tile 20: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:06.053 28473 28500 I Unity : Player 3 placed tiles interactivity set to: False
11-21 09:38:06.054 28473 28500 I Unity : Interactability updated for player 3
11-21 09:38:06.054 28473 28500 I Unity : Valid placements changed: 0 positions
11-21 09:38:06.054 28473 28500 I Unity : Highlighted 0 valid placements for Player 3
11-21 09:38:06.054 28473 28500 I Unity : ═══════════════════════════════════════════════════════
11-21 09:38:06.054 28473 28500 I Unity : TURN CHANGE: Player 3 → Player 0
11-21 09:38:06.054 28473 28500 I Unity : Turn #4 | Tiles Remaining: 58 | Discard Pile: 0
11-21 09:38:06.054 28473 28500 I Unity : ═══════════════════════════════════════════════════════
11-21 09:38:06.054 28473 28500 I Unity : Game state changed: Game State: Playing, Turn 4, Player 0, Draw: 58, Discard: 0
11-21 09:38:06.054 28473 28500 I Unity : Updating deck UI with remaining count: 58
11-21 09:38:06.054 28473 28500 I Unity : UpdateRemainingCount called with: 58
11-21 09:38:06.055 28473 28500 I Unity : Set deck count text to: 58
11-21 09:38:06.055 28473 28500 I Unity : Game UI updated
11-21 09:38:06.055 28473 28500 I Unity : Player turn changed to Player 0
11-21 09:38:06.055 28473 28500 I Unity : Player 0 current player status: True
11-21 09:38:06.055 28473 28500 I Unity : Player 1 current player status: False
11-21 09:38:06.055 28473 28500 I Unity : Player 2 current player status: False
11-21 09:38:06.056 28473 28500 I Unity : Player 3 current player status: False
11-21 09:38:06.056 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=True, HasUnplacedTile=False, TestModeAllAI=False
11-21 09:38:06.056 28473 28500 W Unity : Tile 14: SetInteractable(True) - No Collider2D found!
11-21 09:38:06.056 28473 28500 W Unity : Tile 11: SetInteractable(True) - No Collider2D found!
11-21 09:38:06.056 28473 28500 W Unity : Tile 20: SetInteractable(True) - No Collider2D found!
11-21 09:38:06.056 28473 28500 W Unity : Tile 14: SetInteractable(True) - No Collider2D found!
11-21 09:38:06.056 28473 28500 W Unity : Tile 12: SetInteractable(True) - No Collider2D found!
11-21 09:38:06.056 28473 28500 W Unity : Tile 15: SetInteractable(True) - No Collider2D found!
11-21 09:38:06.056 28473 28500 I Unity : UIDiscardDeck interactability set to: True
11-21 09:38:06.057 28473 28500 I Unity : Tile 7: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:06.057 28473 28500 I Unity : Tile 7: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:06.057 28473 28500 I Unity : Tile 8: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:06.057 28473 28500 I Unity : Tile 11: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:06.057 28473 28500 I Unity : Tile 15: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:06.057 28473 28500 I Unity : Player 0 placed tiles interactivity set to: False
11-21 09:38:06.057 28473 28500 I Unity : Interactability updated for player 0
11-21 09:38:06.057 28473 28500 I Unity : Tile 16: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:38:06.530 28473 28500 I Unity : Tile 0 animation to (6.58, 6.27, 0.00) complete
11-21 09:38:06.531 28473 28500 I Unity : Tile 11 number text visibility set to: True (faceDown: False)
11-21 09:38:06.531 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=15, Color=Purple, NumberText null: False
11-21 09:38:06.531 28473 28500 I Unity : Set tile text to: 15, text active: True
11-21 09:38:06.531 28473 28500 I Unity : Set sprite renderer sprite to: TileRed for color Purple (index 2)
11-21 09:38:06.531 28473 28500 I Unity : Tile 11 set to face-up
11-21 09:38:06.531 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=15, Color=Purple, NumberText null: False
11-21 09:38:06.531 28473 28500 I Unity : Set tile text to: 15, text active: True
11-21 09:38:06.532 28473 28500 I Unity : Set sprite renderer sprite to: TileRed for color Purple (index 2)
11-21 09:38:06.532 28473 28500 I Unity : Placed tile 15 on grid cell 11 at (3.00, 2.00)
11-21 09:38:06.532 28473 28500 I Unity : Animated opponent tile placement for Player 3 at (3, 2) (board scale: (0.50, 0.50, 1.00))
11-21 09:38:06.532 28473 28500 I Unity : AI Player 3 turn completed
11-21 09:38:06.532 28473 28500 I Unity : AI turn completed for Player 3
11-21 09:38:10.302 28473 28500 I Unity : Interacting with tile 0 (Number: 16)
11-21 09:38:10.302 28473 28500 I Unity : Player clicked deck card: Purple 16
11-21 09:38:10.302 28473 28500 I Unity : SelectDeckCard called. HasUnplacedTile: False, CurrentPlayerTile:
11-21 09:38:10.303 28473 28500 I Unity : Tile 0 number text visibility set to: True (faceDown: False)
11-21 09:38:10.303 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=16, Color=Purple, NumberText null: False
11-21 09:38:10.303 28473 28500 I Unity : Set tile text to: 16, text active: True
11-21 09:38:10.303 28473 28500 I Unity : Set sprite renderer sprite to: TileRed for color Purple (index 2)
11-21 09:38:10.303 28473 28500 I Unity : Tile 0 set to face-up
11-21 09:38:10.303 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=16, Color=Purple, NumberText null: False
11-21 09:38:10.303 28473 28500 I Unity : Set tile text to: 16, text active: True
11-21 09:38:10.304 28473 28500 I Unity : Set sprite renderer sprite to: TileRed for color Purple (index 2)
11-21 09:38:10.304 28473 28500 I Unity : Tile 0 selection set to: True
11-21 09:38:10.304 28473 28500 I Unity : About to set current player tile. Current HasUnplacedTile: False
11-21 09:38:10.304 28473 28500 I Unity : SetCurrentPlayerTile called with tile: Purple 16, current HasUnplacedTile: False
11-21 09:38:10.304 28473 28500 I Unity : Set current player tile to: Purple 16 from DrawPile, HasUnplacedTile is now: True
11-21 09:38:10.304 28473 28500 I Unity : Tile drawn: Player 0 drew Purple 16
11-21 09:38:10.304 28473 28500 I Unity : UpdateDiscardCount called with: 0
11-21 09:38:10.304 28473 28500 I Unity : Set discard count text to: 0
11-21 09:38:10.304 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=True, HasUnplacedTile=True, TestModeAllAI=False
11-21 09:38:10.305 28473 28500 W Unity : Tile 14: SetInteractable(True) - No Collider2D found!
11-21 09:38:10.305 28473 28500 W Unity : Tile 11: SetInteractable(True) - No Collider2D found!
11-21 09:38:10.305 28473 28500 W Unity : Tile 20: SetInteractable(True) - No Collider2D found!
11-21 09:38:10.305 28473 28500 W Unity : Tile 14: SetInteractable(True) - No Collider2D found!
11-21 09:38:10.305 28473 28500 W Unity : Tile 12: SetInteractable(True) - No Collider2D found!
11-21 09:38:10.305 28473 28500 W Unity : Tile 15: SetInteractable(True) - No Collider2D found!
11-21 09:38:10.305 28473 28500 I Unity : UIDiscardDeck interactability set to: True
11-21 09:38:10.305 28473 28500 I Unity : Tile 7: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:38:10.305 28473 28500 I Unity : Tile 7: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:38:10.305 28473 28500 I Unity : Tile 8: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:38:10.306 28473 28500 I Unity : Tile 11: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:38:10.306 28473 28500 I Unity : Tile 15: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:38:10.306 28473 28500 I Unity : Player 0 placed tiles interactivity set to: True
11-21 09:38:10.306 28473 28500 I Unity : Interactability updated for player 0
11-21 09:38:10.306 28473 28500 I Unity : Checking replacement: tile 16 replacing 7 at (0,0)
11-21 09:38:10.306 28473 28500 I Unity : Board state - Row 0: [7, 0, 0, 0]
11-21 09:38:10.306 28473 28500 I Unity : Board state - Col 0: [7, 0, 0, 0]
11-21 09:38:10.306 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:10.306 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 16 at (0, 1) failed constraints: row=True, col=False
11-21 09:38:10.306 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 16 at (0, 2) failed constraints: row=True, col=False
11-21 09:38:10.307 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 16 at (0, 3) failed constraints: row=True, col=False
11-21 09:38:10.307 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 16 at (1, 0) failed constraints: row=False, col=True
11-21 09:38:10.307 28473 28500 I Unity : Checking replacement: tile 16 replacing 7 at (1,1)
11-21 09:38:10.307 28473 28500 I Unity : Board state - Row 1: [0, 7, 8, 0]
11-21 09:38:10.307 28473 28500 I Unity : Board state - Col 1: [0, 7, 0, 0]
11-21 09:38:10.307 28473 28500 I Unity : Row check: tile 8 at (1,2) to right of 16 at (1,1)
11-21 09:38:10.307 28473 28500 I Unity : ✗ Row constraint failed: 8 <= 16
11-21 09:38:10.307 28473 28500 I Unity : Replacement validation: row=False, col=True
11-21 09:38:10.307 28473 28500 I Unity : Checking replacement: tile 16 replacing 8 at (1,2)
11-21 09:38:10.307 28473 28500 I Unity : Board state - Row 1: [0, 7, 8, 0]
11-21 09:38:10.307 28473 28500 I Unity : Board state - Col 2: [0, 8, 11, 0]
11-21 09:38:10.307 28473 28500 I Unity : Row check: tile 7 at (1,1) to left of 16 at (1,2)
11-21 09:38:10.308 28473 28500 I Unity : Col check: tile 11 at (2,2) below 16 at (1,2)
11-21 09:38:10.308 28473 28500 I Unity : ✗ Column constraint failed: 11 <= 16
11-21 09:38:10.308 28473 28500 I Unity : Replacement validation: row=True, col=False
11-21 09:38:10.308 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 16 at (1, 3) failed constraints: row=True, col=False
11-21 09:38:10.308 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 16 at (2, 0) failed constraints: row=False, col=True
11-21 09:38:10.308 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 16 at (2, 1) failed constraints: row=False, col=True
11-21 09:38:10.308 28473 28500 I Unity : Checking replacement: tile 16 replacing 11 at (2,2)
11-21 09:38:10.308 28473 28500 I Unity : Board state - Row 2: [0, 0, 11, 0]
11-21 09:38:10.308 28473 28500 I Unity : Board state - Col 2: [0, 8, 11, 0]
11-21 09:38:10.308 28473 28500 I Unity : Col check: tile 8 at (1,2) above 16 at (2,2)
11-21 09:38:10.308 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:10.308 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 16 at (2, 3) failed constraints: row=True, col=False
11-21 09:38:10.309 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 16 at (3, 0) failed constraints: row=False, col=True
11-21 09:38:10.309 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 16 at (3, 1) failed constraints: row=False, col=True
11-21 09:38:10.309 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 16 at (3, 2) failed constraints: row=False, col=True
11-21 09:38:10.309 28473 28500 I Unity : Checking replacement: tile 16 replacing 15 at (3,3)
11-21 09:38:10.309 28473 28500 I Unity : Board state - Row 3: [0, 0, 0, 15]
11-21 09:38:10.309 28473 28500 I Unity : Board state - Col 3: [0, 0, 0, 15]
11-21 09:38:10.309 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:10.309 28473 28500 I Unity : Found 3 valid placements for tile Purple 16
11-21 09:38:10.309 28473 28500 I Unity : Valid placements changed: 3 positions
11-21 09:38:10.309 28473 28500 I Unity : Highlighted 3 valid placements for Player 0
11-21 09:38:10.310 28473 28500 I Unity : After setting current player tile. HasUnplacedTile: True
11-21 09:38:10.310 28473 28500 I Unity : Deck card selected: Purple 16
11-21 09:38:11.773 28473 28500 I Unity : Interacting with tile 15 (Number: 15)
11-21 09:38:11.773 28473 28500 I Unity : Forwarding placed tile click to parent cell for replacement at (3.00, 3.00)
11-21 09:38:11.773 28473 28500 I Unity : Interacting with grid cell 15 at position (3.00, 3.00)
11-21 09:38:11.773 28473 28500 I Unity : HandleTilePlacement: Attempting to place tile 16 at grid position (3.00, 3.00)
11-21 09:38:11.773 28473 28500 I Unity : HandleTilePlacement: Converted to board coordinates - row=3, col=3
11-21 09:38:11.773 28473 28500 I Unity : Cell at (3.00, 3.00) is occupied by tile 15 - attempting tile replacement
11-21 09:38:11.773 28473 28500 I Unity : Checking replacement: tile 16 replacing 15 at (3,3)
11-21 09:38:11.773 28473 28500 I Unity : Board state - Row 3: [0, 0, 0, 15]
11-21 09:38:11.773 28473 28500 I Unity : Board state - Col 3: [0, 0, 0, 15]
11-21 09:38:11.774 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:11.774 28473 28500 I Unity : Replacing tile 15 at (3, 3) with Purple 16
11-21 09:38:11.774 28473 28500 I Unity : Discarded tile: Yellow 15 (1 tiles in discard pile)
11-21 09:38:11.774 28473 28500 I Unity : Tile discarded: Player 0 discarded Yellow 15
11-21 09:38:11.774 28473 28500 I Unity : [DISCARD DEBUG] Cached logical discarded tile for player 0: Yellow 15
11-21 09:38:11.774 28473 28500 I Unity : [PlayerBoard] Player 0 removed tile 15 from (3, 3) | Board now: 4/16 filled
11-21 09:38:11.774 28473 28500 I Unity : [PlayerBoard] Player 0 placed tile 16 at (3, 3) | Board now: 5/16 filled
11-21 09:38:11.775 28473 28500 I Unity : Player 0 placed Purple 16 with replacement at (3, 3)
11-21 09:38:11.775 28473 28500 I Unity : Player 0 Board (5/16 filled):
11-21 09:38:11.775 28473 28500 I Unity : 07 -- -- --
11-21 09:38:11.775 28473 28500 I Unity : -- 07 08 --
11-21 09:38:11.775 28473 28500 I Unity : -- -- 11 --
11-21 09:38:11.775 28473 28500 I Unity : -- -- -- 16
11-21 09:38:11.775 28473 28500 I Unity : Tile placed: Player 0 placed Purple 16 at (3, 3)
11-21 09:38:11.775 28473 28500 I Unity : Local player replacing tile 15 with 16 at (3, 3)
11-21 09:38:11.776 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=True, HasUnplacedTile=True, TestModeAllAI=False
11-21 09:38:11.776 28473 28500 W Unity : Tile 14: SetInteractable(True) - No Collider2D found!
11-21 09:38:11.776 28473 28500 W Unity : Tile 11: SetInteractable(True) - No Collider2D found!
11-21 09:38:11.776 28473 28500 W Unity : Tile 20: SetInteractable(True) - No Collider2D found!
11-21 09:38:11.776 28473 28500 W Unity : Tile 14: SetInteractable(True) - No Collider2D found!
11-21 09:38:11.776 28473 28500 W Unity : Tile 12: SetInteractable(True) - No Collider2D found!
11-21 09:38:11.776 28473 28500 W Unity : Tile 15: SetInteractable(True) - No Collider2D found!
11-21 09:38:11.776 28473 28500 I Unity : UIDiscardDeck interactability set to: True
11-21 09:38:11.776 28473 28500 I Unity : Tile 7: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:38:11.776 28473 28500 I Unity : Tile 7: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:38:11.777 28473 28500 I Unity : Tile 8: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:38:11.777 28473 28500 I Unity : Tile 11: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:38:11.777 28473 28500 I Unity : Tile 15: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:38:11.777 28473 28500 I Unity : Player 0 placed tiles interactivity set to: True
11-21 09:38:11.777 28473 28500 I Unity : Interactability updated for player 0
11-21 09:38:11.777 28473 28500 I Unity : Deck card Purple 16 was placed, ready for next card
11-21 09:38:11.777 28473 28500 I Unity : Auto-spawning deck card after tile placement (playerIndex: 0)
11-21 09:38:11.777 28473 28500 I Unity : SpawnDeckCard method called
11-21 09:38:11.777 28473 28500 I Unity : All checks passed, attempting to draw tile through GameManager
11-21 09:38:11.777 28473 28500 I Unity : Drew tile: Purple 2 (57 tiles remaining)
11-21 09:38:11.778 28473 28500 I Unity : Drew tile for deck card: Purple 2
11-21 09:38:11.778 28473 28500 I Unity : UpdateRemainingCount called with: 57
11-21 09:38:11.778 28473 28500 I Unity : Set deck count text to: 57
11-21 09:38:11.779 28473 28500 I Unity : UIGameTile Start: SpriteRenderer=True, NumberText=True
11-21 09:38:11.779 28473 28500 I Unity : SetTileData called with: Purple 2, Color enum: 2
11-21 09:38:11.779 28473 28500 I Unity : Updated _originalSprite to: TileRed for Purple
11-21 09:38:11.779 28473 28500 I Unity : Before UpdateVisualRepresentation: _color=Purple (enum: 2), GameTileSprites=4
11-21 09:38:11.779 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=2, Color=Purple, NumberText null: False
11-21 09:38:11.779 28473 28500 I Unity : Set tile text to: 2, text active: True
11-21 09:38:11.780 28473 28500 I Unity : Set sprite renderer sprite to: TileRed for color Purple (index 2)
11-21 09:38:11.780 28473 28500 I Unity : Tile 0 set to Purple 2
11-21 09:38:11.780 28473 28500 I Unity : Tile 0 number text visibility set to: False (faceDown: True)
11-21 09:38:11.780 28473 28500 I Unity : Tile 0 set to face-down
11-21 09:38:11.780 28473 28500 I Unity : Tile 2: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:38:11.780 28473 28500 I Unity : Spawned deck card: Purple 2
11-21 09:38:11.780 28473 28500 I Unity : Valid placements changed: 0 positions
11-21 09:38:11.780 28473 28500 I Unity : Highlighted 0 valid placements for Player 0
11-21 09:38:11.781 28473 28500 I Unity : ═══════════════════════════════════════════════════════
11-21 09:38:11.781 28473 28500 I Unity : TURN CHANGE: Player 0 → Player 1
11-21 09:38:11.781 28473 28500 I Unity : Turn #4 | Tiles Remaining: 57 | Discard Pile: 1
11-21 09:38:11.781 28473 28500 I Unity : ═══════════════════════════════════════════════════════
11-21 09:38:11.781 28473 28500 I Unity : Game state changed: Game State: Playing, Turn 4, Player 1, Draw: 57, Discard: 1
11-21 09:38:11.781 28473 28500 I Unity : Updating deck UI with remaining count: 57
11-21 09:38:11.781 28473 28500 I Unity : UpdateRemainingCount called with: 57
11-21 09:38:11.781 28473 28500 I Unity : Set deck count text to: 57
11-21 09:38:11.781 28473 28500 I Unity : Game UI updated
11-21 09:38:11.781 28473 28500 I Unity : Player turn changed to Player 1
11-21 09:38:11.782 28473 28500 I Unity : Player 0 current player status: False
11-21 09:38:11.782 28473 28500 I Unity : Player 1 current player status: True
11-21 09:38:11.782 28473 28500 I Unity : Player 2 current player status: False
11-21 09:38:11.782 28473 28500 I Unity : Player 3 current player status: False
11-21 09:38:11.782 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=False, HasUnplacedTile=False, TestModeAllAI=False
11-21 09:38:11.782 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:11.782 28473 28500 W Unity : Tile 11: SetInteractable(False) - No Collider2D found!
11-21 09:38:11.782 28473 28500 W Unity : Tile 20: SetInteractable(False) - No Collider2D found!
11-21 09:38:11.783 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:11.783 28473 28500 W Unity : Tile 12: SetInteractable(False) - No Collider2D found!
11-21 09:38:11.783 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:38:11.783 28473 28500 I Unity : UIDiscardDeck interactability set to: False
11-21 09:38:11.783 28473 28500 I Unity : Tile 2: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:11.783 28473 28500 I Unity : Tile 3: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:11.783 28473 28500 I Unity : Tile 12: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:11.783 28473 28500 I Unity : Tile 14: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:11.783 28473 28500 I Unity : Tile 14: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:11.783 28473 28500 I Unity : Player 1 placed tiles interactivity set to: False
11-21 09:38:11.783 28473 28500 I Unity : Interactability updated for player 1
11-21 09:38:11.784 28473 28500 I Unity : Starting AI turn for Player 1
11-21 09:38:11.784 28473 28500 I Unity : Tile 2: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:11.784 28473 28500 I Unity : ✓ Successfully replaced tile at (3.00, 3.00) with 16
11-21 09:38:12.040 28473 28500 I Unity : Tile 15 animation to (2.00, 1.99, 0.00) complete
11-21 09:38:12.041 28473 28500 I Unity : SetTileData called with: Yellow 15, Color enum: 0
11-21 09:38:12.041 28473 28500 I Unity : Updated _originalSprite to: TileGreen for Yellow
11-21 09:38:12.041 28473 28500 I Unity : Before UpdateVisualRepresentation: _color=Yellow (enum: 0), GameTileSprites=4
11-21 09:38:12.041 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=15, Color=Yellow, NumberText null: False
11-21 09:38:12.041 28473 28500 I Unity : Set tile text to: 15, text active: True
11-21 09:38:12.041 28473 28500 I Unity : Set sprite renderer sprite to: TileGreen for color Yellow (index 0)
11-21 09:38:12.042 28473 28500 I Unity : Tile 15 set to Yellow 15
11-21 09:38:12.042 28473 28500 I Unity : Tile 15: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:38:12.042 28473 28500 I Unity : [UIDiscardDeck] Destroyed collider for discard pile tile 15
11-21 09:38:12.042 28473 28500 I Unity : Tile 15: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:12.042 28473 28500 I Unity : Discard Pile: Tile 20 (index 2) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 7, Text Order: 8
11-21 09:38:12.042 28473 28500 I Unity : Discard Pile: Tile 14 (index 3) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 9, Text Order: 10
11-21 09:38:12.043 28473 28500 I Unity : Discard Pile: Tile 12 (index 4) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 11, Text Order: 12
11-21 09:38:12.043 28473 28500 I Unity : Discard Pile: Tile 15 (index 5) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 13, Text Order: 14
11-21 09:38:12.043 28473 28500 I Unity : Discard Pile: Tile 15 (index 6) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 15, Text Order: 16
11-21 09:38:12.043 28473 28500 I Unity : UpdateDiscardCount called with: 1
11-21 09:38:12.043 28473 28500 I Unity : Set discard count text to: 1
11-21 09:38:12.043 28473 28500 I Unity : [UIDiscardDeck] Added tile 15 to discard deck (7 total)
11-21 09:38:12.043 28473 28500 I Unity : UpdateDiscardCount called with: 1
11-21 09:38:12.044 28473 28500 I Unity : Set discard count text to: 1
11-21 09:38:12.242 28473 28500 I Unity : Tile 0 animation to (3.15, -7.69, 0.00) complete
11-21 09:38:12.242 28473 28500 I Unity : Tile 15 number text visibility set to: True (faceDown: False)
11-21 09:38:12.242 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=16, Color=Purple, NumberText null: False
11-21 09:38:12.242 28473 28500 I Unity : Set tile text to: 16, text active: True
11-21 09:38:12.243 28473 28500 I Unity : Set sprite renderer sprite to: TileRed for color Purple (index 2)
11-21 09:38:12.243 28473 28500 I Unity : Tile 15 set to face-up
11-21 09:38:12.243 28473 28500 I Unity : Resetting sprite renderer sprite to original: TileRed for tile Purple
11-21 09:38:12.243 28473 28500 I Unity : Tile 15 selection set to: False
11-21 09:38:12.243 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=16, Color=Purple, NumberText null: False
11-21 09:38:12.243 28473 28500 I Unity : Set tile text to: 16, text active: True
11-21 09:38:12.243 28473 28500 I Unity : Set sprite renderer sprite to: TileRed for color Purple (index 2)
11-21 09:38:12.244 28473 28500 I Unity : Placed tile 16 on grid cell 15 at (3.00, 3.00)
11-21 09:38:12.244 28473 28500 I Unity : Player 0: Set particle system and all child particle renderers to sorting order 100
11-21 09:38:12.244 28473 28500 I Unity : Player 0: Triggered click particle at (3.15, -7.69, 0.00)
11-21 09:38:12.244 28473 28500 I Unity : Animated deck card placement for Player 0 at (3, 3)
11-21 09:38:12.244 28473 28500 I Unity : SpawnInitialDeckCard called
11-21 09:38:12.244 28473 28500 I Unity : TileManager has 57 tiles remaining, HasTilesRemaining: True
11-21 09:38:12.244 28473 28500 I Unity : All checks passed, calling SpawnDeckCard
11-21 09:38:12.244 28473 28500 I Unity : SpawnDeckCard method called
11-21 09:38:12.244 28473 28500 W Unity : Cannot spawn deck card - one already exists
11-21 09:38:12.780 28473 28500 I Unity : AI Player 1 (DefensiveBlocker) starting turn...
11-21 09:38:14.080 28473 28500 I Unity : Checking replacement: tile 15 replacing 2 at (0,0)
11-21 09:38:14.080 28473 28500 I Unity : Board state - Row 0: [2, 0, 0, 0]
11-21 09:38:14.080 28473 28500 I Unity : Board state - Col 0: [2, 0, 0, 0]
11-21 09:38:14.080 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:14.080 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (0, 1) failed constraints: row=True, col=False
11-21 09:38:14.081 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (0, 2) failed constraints: row=True, col=False
11-21 09:38:14.081 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (0, 3) failed constraints: row=True, col=False
11-21 09:38:14.081 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (1, 0) failed constraints: row=False, col=True
11-21 09:38:14.081 28473 28500 I Unity : Checking replacement: tile 15 replacing 3 at (1,1)
11-21 09:38:14.081 28473 28500 I Unity : Board state - Row 1: [0, 3, 0, 0]
11-21 09:38:14.081 28473 28500 I Unity : Board state - Col 1: [0, 3, 12, 0]
11-21 09:38:14.081 28473 28500 I Unity : Col check: tile 12 at (2,1) below 15 at (1,1)
11-21 09:38:14.081 28473 28500 I Unity : ✗ Column constraint failed: 12 <= 15
11-21 09:38:14.081 28473 28500 I Unity : Replacement validation: row=True, col=False
11-21 09:38:14.081 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (1, 2) failed constraints: row=True, col=False
11-21 09:38:14.081 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (1, 3) failed constraints: row=True, col=False
11-21 09:38:14.082 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (2, 0) failed constraints: row=False, col=True
11-21 09:38:14.082 28473 28500 I Unity : Checking replacement: tile 15 replacing 12 at (2,1)
11-21 09:38:14.082 28473 28500 I Unity : Board state - Row 2: [0, 12, 14, 0]
11-21 09:38:14.082 28473 28500 I Unity : Board state - Col 1: [0, 3, 12, 0]
11-21 09:38:14.082 28473 28500 I Unity : Row check: tile 14 at (2,2) to right of 15 at (2,1)
11-21 09:38:14.082 28473 28500 I Unity : ✗ Row constraint failed: 14 <= 15
11-21 09:38:14.082 28473 28500 I Unity : Col check: tile 3 at (1,1) above 15 at (2,1)
11-21 09:38:14.082 28473 28500 I Unity : Replacement validation: row=False, col=True
11-21 09:38:14.082 28473 28500 I Unity : Checking replacement: tile 15 replacing 14 at (2,2)
11-21 09:38:14.082 28473 28500 I Unity : Board state - Row 2: [0, 12, 14, 0]
11-21 09:38:14.083 28473 28500 I Unity : Board state - Col 2: [0, 0, 14, 0]
11-21 09:38:14.083 28473 28500 I Unity : Row check: tile 12 at (2,1) to left of 15 at (2,2)
11-21 09:38:14.083 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:14.083 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (2, 3) failed constraints: row=True, col=False
11-21 09:38:14.083 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (3, 0) failed constraints: row=False, col=True
11-21 09:38:14.083 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (3, 1) failed constraints: row=False, col=True
11-21 09:38:14.083 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (3, 2) failed constraints: row=False, col=True
11-21 09:38:14.083 28473 28500 I Unity : Checking replacement: tile 15 replacing 14 at (3,3)
11-21 09:38:14.083 28473 28500 I Unity : Board state - Row 3: [0, 0, 0, 14]
11-21 09:38:14.083 28473 28500 I Unity : Board state - Col 3: [0, 0, 0, 14]
11-21 09:38:14.084 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:14.084 28473 28500 I Unity : AI Player 1 decision: TakeFaceUp - Top discard Yellow 15 has beneficial placement(s): 1 (Score: 0.00)
11-21 09:38:14.084 28473 28500 I Unity : AI Player 1 taking tile 0 from discard pile
11-21 09:38:14.084 28473 28500 I Unity : Took discarded tile: Yellow 15 from index 0
11-21 09:38:14.084 28473 28500 I Unity : Player 1 took discarded tile: Yellow 15 from DiscardPile
11-21 09:38:14.084 28473 28500 I Unity : Tile drawn: Player 1 drew Yellow 15
11-21 09:38:14.086 28473 28500 I Unity : UIGameTile Start: SpriteRenderer=True, NumberText=True
11-21 09:38:14.086 28473 28500 I Unity : SetTileData called with: Yellow 15, Color enum: 0
11-21 09:38:14.086 28473 28500 I Unity : Updated _originalSprite to: TileGreen for Yellow
11-21 09:38:14.086 28473 28500 I Unity : Before UpdateVisualRepresentation: _color=Yellow (enum: 0), GameTileSprites=4
11-21 09:38:14.086 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=15, Color=Yellow, NumberText null: False
11-21 09:38:14.086 28473 28500 I Unity : Set tile text to: 15, text active: True
11-21 09:38:14.087 28473 28500 I Unity : Set sprite renderer sprite to: TileGreen for color Yellow (index 0)
11-21 09:38:14.087 28473 28500 I Unity : Tile 0 set to Yellow 15
11-21 09:38:14.087 28473 28500 I Unity : Tile 0 number text visibility set to: True (faceDown: False)
11-21 09:38:14.087 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=15, Color=Yellow, NumberText null: False
11-21 09:38:14.087 28473 28500 I Unity : Set tile text to: 15, text active: True
11-21 09:38:14.087 28473 28500 I Unity : Set sprite renderer sprite to: TileGreen for color Yellow (index 0)
11-21 09:38:14.087 28473 28500 I Unity : Tile 0 set to face-up
11-21 09:38:14.087 28473 28500 I Unity : Tile 15: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:14.088 28473 28500 I Unity : Created temporary drawn tile Yellow 15 for opponent Player 1
11-21 09:38:14.088 28473 28500 I Unity : UpdateDiscardCount called with: 0
11-21 09:38:14.088 28473 28500 I Unity : Set discard count text to: 0
11-21 09:38:14.088 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=False, HasUnplacedTile=True, TestModeAllAI=False
11-21 09:38:14.088 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:14.088 28473 28500 W Unity : Tile 11: SetInteractable(False) - No Collider2D found!
11-21 09:38:14.088 28473 28500 W Unity : Tile 20: SetInteractable(False) - No Collider2D found!
11-21 09:38:14.088 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:14.088 28473 28500 W Unity : Tile 12: SetInteractable(False) - No Collider2D found!
11-21 09:38:14.089 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:38:14.089 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:38:14.089 28473 28500 I Unity : UIDiscardDeck interactability set to: False
11-21 09:38:14.089 28473 28500 I Unity : Tile 2: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:14.089 28473 28500 I Unity : Tile 3: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:14.089 28473 28500 I Unity : Tile 12: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:14.089 28473 28500 I Unity : Tile 14: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:14.089 28473 28500 I Unity : Tile 14: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:14.089 28473 28500 I Unity : Player 1 placed tiles interactivity set to: False
11-21 09:38:14.089 28473 28500 I Unity : Interactability updated for player 1
11-21 09:38:14.089 28473 28500 I Unity : Checking replacement: tile 15 replacing 2 at (0,0)
11-21 09:38:14.090 28473 28500 I Unity : Board state - Row 0: [2, 0, 0, 0]
11-21 09:38:14.090 28473 28500 I Unity : Board state - Col 0: [2, 0, 0, 0]
11-21 09:38:14.090 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:14.090 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (0, 1) failed constraints: row=True, col=False
11-21 09:38:14.090 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (0, 2) failed constraints: row=True, col=False
11-21 09:38:14.090 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (0, 3) failed constraints: row=True, col=False
11-21 09:38:14.090 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (1, 0) failed constraints: row=False, col=True
11-21 09:38:14.090 28473 28500 I Unity : Checking replacement: tile 15 replacing 3 at (1,1)
11-21 09:38:14.090 28473 28500 I Unity : Board state - Row 1: [0, 3, 0, 0]
11-21 09:38:14.090 28473 28500 I Unity : Board state - Col 1: [0, 3, 12, 0]
11-21 09:38:14.091 28473 28500 I Unity : Col check: tile 12 at (2,1) below 15 at (1,1)
11-21 09:38:14.091 28473 28500 I Unity : ✗ Column constraint failed: 12 <= 15
11-21 09:38:14.091 28473 28500 I Unity : Replacement validation: row=True, col=False
11-21 09:38:14.091 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (1, 2) failed constraints: row=True, col=False
11-21 09:38:14.091 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (1, 3) failed constraints: row=True, col=False
11-21 09:38:14.091 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (2, 0) failed constraints: row=False, col=True
11-21 09:38:14.091 28473 28500 I Unity : Checking replacement: tile 15 replacing 12 at (2,1)
11-21 09:38:14.091 28473 28500 I Unity : Board state - Row 2: [0, 12, 14, 0]
11-21 09:38:14.091 28473 28500 I Unity : Board state - Col 1: [0, 3, 12, 0]
11-21 09:38:14.092 28473 28500 I Unity : Row check: tile 14 at (2,2) to right of 15 at (2,1)
11-21 09:38:14.092 28473 28500 I Unity : ✗ Row constraint failed: 14 <= 15
11-21 09:38:14.092 28473 28500 I Unity : Col check: tile 3 at (1,1) above 15 at (2,1)
11-21 09:38:14.092 28473 28500 I Unity : Replacement validation: row=False, col=True
11-21 09:38:14.092 28473 28500 I Unity : Checking replacement: tile 15 replacing 14 at (2,2)
11-21 09:38:14.092 28473 28500 I Unity : Board state - Row 2: [0, 12, 14, 0]
11-21 09:38:14.092 28473 28500 I Unity : Board state - Col 2: [0, 0, 14, 0]
11-21 09:38:14.093 28473 28500 I Unity : Row check: tile 12 at (2,1) to left of 15 at (2,2)
11-21 09:38:14.093 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:14.093 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (2, 3) failed constraints: row=True, col=False
11-21 09:38:14.093 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (3, 0) failed constraints: row=False, col=True
11-21 09:38:14.093 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (3, 1) failed constraints: row=False, col=True
11-21 09:38:14.093 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (3, 2) failed constraints: row=False, col=True
11-21 09:38:14.093 28473 28500 I Unity : Checking replacement: tile 15 replacing 14 at (3,3)
11-21 09:38:14.093 28473 28500 I Unity : Board state - Row 3: [0, 0, 0, 14]
11-21 09:38:14.093 28473 28500 I Unity : Board state - Col 3: [0, 0, 0, 14]
11-21 09:38:14.093 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:14.094 28473 28500 I Unity : Found 3 valid placements for tile Yellow 15
11-21 09:38:14.094 28473 28500 I Unity : Valid placements changed: 3 positions
11-21 09:38:14.094 28473 28500 I Unity : Highlighted 3 valid placements for Player 1
11-21 09:38:14.094 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (0, 0) already occupied by 2
11-21 09:38:14.094 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (0, 1) failed constraints: row=True, col=False
11-21 09:38:14.094 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (0, 2) failed constraints: row=True, col=False
11-21 09:38:14.094 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (0, 3) failed constraints: row=True, col=False
11-21 09:38:14.094 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (1, 0) failed constraints: row=False, col=True
11-21 09:38:14.095 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (1, 1) already occupied by 3
11-21 09:38:14.095 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (1, 2) failed constraints: row=True, col=False
11-21 09:38:14.095 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (1, 3) failed constraints: row=True, col=False
11-21 09:38:14.095 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (2, 0) failed constraints: row=False, col=True
11-21 09:38:14.095 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (2, 1) already occupied by 12
11-21 09:38:14.095 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (2, 2) already occupied by 14
11-21 09:38:14.095 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (2, 3) failed constraints: row=True, col=False
11-21 09:38:14.095 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (3, 0) failed constraints: row=False, col=True
11-21 09:38:14.095 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (3, 1) failed constraints: row=False, col=True
11-21 09:38:14.095 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (3, 2) failed constraints: row=False, col=True
11-21 09:38:14.096 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (3, 3) already occupied by 14
11-21 09:38:14.096 28473 28500 I Unity : Checking replacement: tile 15 replacing 2 at (0,0)
11-21 09:38:14.096 28473 28500 I Unity : Board state - Row 0: [2, 0, 0, 0]
11-21 09:38:14.096 28473 28500 I Unity : Board state - Col 0: [2, 0, 0, 0]
11-21 09:38:14.096 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:14.096 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (0, 1) failed constraints: row=True, col=False
11-21 09:38:14.096 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (0, 2) failed constraints: row=True, col=False
11-21 09:38:14.096 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (0, 3) failed constraints: row=True, col=False
11-21 09:38:14.096 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (1, 0) failed constraints: row=False, col=True
11-21 09:38:14.096 28473 28500 I Unity : Checking replacement: tile 15 replacing 3 at (1,1)
11-21 09:38:14.097 28473 28500 I Unity : Board state - Row 1: [0, 3, 0, 0]
11-21 09:38:14.097 28473 28500 I Unity : Board state - Col 1: [0, 3, 12, 0]
11-21 09:38:14.097 28473 28500 I Unity : Col check: tile 12 at (2,1) below 15 at (1,1)
11-21 09:38:14.097 28473 28500 I Unity : ✗ Column constraint failed: 12 <= 15
11-21 09:38:14.097 28473 28500 I Unity : Replacement validation: row=True, col=False
11-21 09:38:14.097 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (1, 2) failed constraints: row=True, col=False
11-21 09:38:14.097 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (1, 3) failed constraints: row=True, col=False
11-21 09:38:14.097 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (2, 0) failed constraints: row=False, col=True
11-21 09:38:14.097 28473 28500 I Unity : Checking replacement: tile 15 replacing 12 at (2,1)
11-21 09:38:14.098 28473 28500 I Unity : Board state - Row 2: [0, 12, 14, 0]
11-21 09:38:14.098 28473 28500 I Unity : Board state - Col 1: [0, 3, 12, 0]
11-21 09:38:14.098 28473 28500 I Unity : Row check: tile 14 at (2,2) to right of 15 at (2,1)
11-21 09:38:14.098 28473 28500 I Unity : ✗ Row constraint failed: 14 <= 15
11-21 09:38:14.098 28473 28500 I Unity : Col check: tile 3 at (1,1) above 15 at (2,1)
11-21 09:38:14.098 28473 28500 I Unity : Replacement validation: row=False, col=True
11-21 09:38:14.098 28473 28500 I Unity : Checking replacement: tile 15 replacing 14 at (2,2)
11-21 09:38:14.098 28473 28500 I Unity : Board state - Row 2: [0, 12, 14, 0]
11-21 09:38:14.098 28473 28500 I Unity : Board state - Col 2: [0, 0, 14, 0]
11-21 09:38:14.098 28473 28500 I Unity : Row check: tile 12 at (2,1) to left of 15 at (2,2)
11-21 09:38:14.099 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:14.099 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (2, 3) failed constraints: row=True, col=False
11-21 09:38:14.099 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (3, 0) failed constraints: row=False, col=True
11-21 09:38:14.099 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (3, 1) failed constraints: row=False, col=True
11-21 09:38:14.099 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (3, 2) failed constraints: row=False, col=True
11-21 09:38:14.099 28473 28500 I Unity : Checking replacement: tile 15 replacing 14 at (3,3)
11-21 09:38:14.099 28473 28500 I Unity : Board state - Row 3: [0, 0, 0, 14]
11-21 09:38:14.099 28473 28500 I Unity : Board state - Col 3: [0, 0, 0, 14]
11-21 09:38:14.099 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:14.100 28473 28500 I Unity : AI Player 1 replacement decision: Replacement chosen (no beneficial empty) | pot=0.00, policy=-0.50
11-21 09:38:14.100 28473 28500 I Unity : AI Player 1 replacing tile at (3, 3)
11-21 09:38:14.100 28473 28500 I Unity : Checking replacement: tile 15 replacing 14 at (3,3)
11-21 09:38:14.100 28473 28500 I Unity : Board state - Row 3: [0, 0, 0, 14]
11-21 09:38:14.100 28473 28500 I Unity : Board state - Col 3: [0, 0, 0, 14]
11-21 09:38:14.100 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:14.101 28473 28500 I Unity : Replacing tile 14 at (3, 3) with Yellow 15
11-21 09:38:14.101 28473 28500 I Unity : Discarded tile: Red 14 (1 tiles in discard pile)
11-21 09:38:14.101 28473 28500 I Unity : Tile discarded: Player 1 discarded Red 14
11-21 09:38:14.101 28473 28500 I Unity : [DISCARD DEBUG] Cached logical discarded tile for player 1: Red 14
11-21 09:38:14.101 28473 28500 I Unity : [PlayerBoard] Player 1 removed tile 14 from (3, 3) | Board now: 4/16 filled
11-21 09:38:14.101 28473 28500 I Unity : [PlayerBoard] Player 1 placed tile 15 at (3, 3) | Board now: 5/16 filled
11-21 09:38:14.101 28473 28500 I Unity : Player 1 placed Yellow 15 with replacement at (3, 3)
11-21 09:38:14.101 28473 28500 I Unity : Player 1 Board (5/16 filled):
11-21 09:38:14.101 28473 28500 I Unity : 02 -- -- --
11-21 09:38:14.102 28473 28500 I Unity : -- 03 -- --
11-21 09:38:14.102 28473 28500 I Unity : -- 12 14 --
11-21 09:38:14.102 28473 28500 I Unity : -- -- -- 15
11-21 09:38:14.102 28473 28500 I Unity : Tile placed: Player 1 placed Yellow 15 at (3, 3)
11-21 09:38:14.102 28473 28500 I Unity : Opponent replacing tile 14 with 15 at (3, 3)
11-21 09:38:14.102 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=False, HasUnplacedTile=True, TestModeAllAI=False
11-21 09:38:14.102 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:14.102 28473 28500 W Unity : Tile 11: SetInteractable(False) - No Collider2D found!
11-21 09:38:14.103 28473 28500 W Unity : Tile 20: SetInteractable(False) - No Collider2D found!
11-21 09:38:14.103 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:14.103 28473 28500 W Unity : Tile 12: SetInteractable(False) - No Collider2D found!
11-21 09:38:14.103 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:38:14.103 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:38:14.103 28473 28500 I Unity : UIDiscardDeck interactability set to: False
11-21 09:38:14.103 28473 28500 I Unity : Tile 2: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:14.103 28473 28500 I Unity : Tile 3: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:14.103 28473 28500 I Unity : Tile 12: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:14.103 28473 28500 I Unity : Tile 14: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:14.104 28473 28500 I Unity : Tile 14: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:14.104 28473 28500 I Unity : Player 1 placed tiles interactivity set to: False
11-21 09:38:14.104 28473 28500 I Unity : Interactability updated for player 1
11-21 09:38:14.104 28473 28500 I Unity : Valid placements changed: 0 positions
11-21 09:38:14.104 28473 28500 I Unity : Highlighted 0 valid placements for Player 1
11-21 09:38:14.104 28473 28500 I Unity : ═══════════════════════════════════════════════════════
11-21 09:38:14.104 28473 28500 I Unity : TURN CHANGE: Player 1 → Player 2
11-21 09:38:14.104 28473 28500 I Unity : Turn #4 | Tiles Remaining: 57 | Discard Pile: 1
11-21 09:38:14.104 28473 28500 I Unity : ═══════════════════════════════════════════════════════
11-21 09:38:14.104 28473 28500 I Unity : Game state changed: Game State: Playing, Turn 4, Player 2, Draw: 57, Discard: 1
11-21 09:38:14.105 28473 28500 I Unity : Updating deck UI with remaining count: 57
11-21 09:38:14.105 28473 28500 I Unity : UpdateRemainingCount called with: 57
11-21 09:38:14.105 28473 28500 I Unity : Set deck count text to: 57
11-21 09:38:14.105 28473 28500 I Unity : Game UI updated
11-21 09:38:14.105 28473 28500 I Unity : Player turn changed to Player 2
11-21 09:38:14.105 28473 28500 I Unity : Player 0 current player status: False
11-21 09:38:14.105 28473 28500 I Unity : Player 1 current player status: False
11-21 09:38:14.106 28473 28500 I Unity : Player 2 current player status: True
11-21 09:38:14.106 28473 28500 I Unity : Player 3 current player status: False
11-21 09:38:14.106 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=False, HasUnplacedTile=False, TestModeAllAI=False
11-21 09:38:14.106 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:14.106 28473 28500 W Unity : Tile 11: SetInteractable(False) - No Collider2D found!
11-21 09:38:14.106 28473 28500 W Unity : Tile 20: SetInteractable(False) - No Collider2D found!
11-21 09:38:14.106 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:14.106 28473 28500 W Unity : Tile 12: SetInteractable(False) - No Collider2D found!
11-21 09:38:14.106 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:38:14.107 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:38:14.107 28473 28500 I Unity : UIDiscardDeck interactability set to: False
11-21 09:38:14.107 28473 28500 I Unity : Tile 13: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:14.107 28473 28500 I Unity : Tile 4: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:14.107 28473 28500 I Unity : Tile 11: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:14.107 28473 28500 I Unity : Tile 12: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:14.107 28473 28500 I Unity : Tile 20: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:14.107 28473 28500 I Unity : Player 2 placed tiles interactivity set to: False
11-21 09:38:14.107 28473 28500 I Unity : Interactability updated for player 2
11-21 09:38:14.108 28473 28500 I Unity : Starting AI turn for Player 2
11-21 09:38:14.108 28473 28500 I Unity : Tile 2: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:14.382 28473 28500 I Unity : Tile 15 animation to (2.00, 1.99, 0.00) complete
11-21 09:38:14.383 28473 28500 I Unity : SetTileData called with: Red 14, Color enum: 1
11-21 09:38:14.383 28473 28500 I Unity : Updated _originalSprite to: TilePurple for Red
11-21 09:38:14.383 28473 28500 I Unity : Before UpdateVisualRepresentation: _color=Red (enum: 1), GameTileSprites=4
11-21 09:38:14.383 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=14, Color=Red, NumberText null: False
11-21 09:38:14.383 28473 28500 I Unity : Set tile text to: 14, text active: True
11-21 09:38:14.384 28473 28500 I Unity : Set sprite renderer sprite to: TilePurple for color Red (index 1)
11-21 09:38:14.384 28473 28500 I Unity : Tile 15 set to Red 14
11-21 09:38:14.384 28473 28500 I Unity : Tile 14: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:38:14.384 28473 28500 I Unity : [UIDiscardDeck] Destroyed collider for discard pile tile 14
11-21 09:38:14.384 28473 28500 I Unity : Tile 14: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:14.385 28473 28500 I Unity : Discard Pile: Tile 14 (index 3) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 9, Text Order: 10
11-21 09:38:14.385 28473 28500 I Unity : Discard Pile: Tile 12 (index 4) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 11, Text Order: 12
11-21 09:38:14.385 28473 28500 I Unity : Discard Pile: Tile 15 (index 5) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 13, Text Order: 14
11-21 09:38:14.385 28473 28500 I Unity : Discard Pile: Tile 15 (index 6) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 15, Text Order: 16
11-21 09:38:14.385 28473 28500 I Unity : Discard Pile: Tile 14 (index 7) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 17, Text Order: 18
11-21 09:38:14.385 28473 28500 I Unity : UpdateDiscardCount called with: 1
11-21 09:38:14.385 28473 28500 I Unity : Set discard count text to: 1
11-21 09:38:14.385 28473 28500 I Unity : [UIDiscardDeck] Added tile 14 to discard deck (8 total)
11-21 09:38:14.386 28473 28500 I Unity : UpdateDiscardCount called with: 1
11-21 09:38:14.386 28473 28500 I Unity : Set discard count text to: 1
11-21 09:38:14.597 28473 28500 I Unity : Tile 0 animation to (-3.43, 5.22, 0.00) complete
11-21 09:38:14.597 28473 28500 I Unity : Tile 15 number text visibility set to: True (faceDown: False)
11-21 09:38:14.597 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=15, Color=Yellow, NumberText null: False
11-21 09:38:14.598 28473 28500 I Unity : Set tile text to: 15, text active: True
11-21 09:38:14.598 28473 28500 I Unity : Set sprite renderer sprite to: TileGreen for color Yellow (index 0)
11-21 09:38:14.598 28473 28500 I Unity : Tile 15 set to face-up
11-21 09:38:14.598 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=15, Color=Yellow, NumberText null: False
11-21 09:38:14.598 28473 28500 I Unity : Set tile text to: 15, text active: True
11-21 09:38:14.598 28473 28500 I Unity : Set sprite renderer sprite to: TileGreen for color Yellow (index 0)
11-21 09:38:14.598 28473 28500 I Unity : Placed tile 15 on grid cell 15 at (3.00, 3.00)
11-21 09:38:14.599 28473 28500 I Unity : Animated opponent tile placement for Player 1 at (3, 3) (board scale: (0.50, 0.50, 1.00))
11-21 09:38:14.599 28473 28500 I Unity : AI Player 1 turn completed
11-21 09:38:14.599 28473 28500 I Unity : AI turn completed for Player 1
11-21 09:38:15.100 28473 28500 I Unity : AI Player 2 (MethodicalPlanner) starting turn...
11-21 09:38:18.573 28473 28500 I Unity : Checking replacement: tile 14 replacing 13 at (0,0)
11-21 09:38:18.573 28473 28500 I Unity : Board state - Row 0: [13, 0, 0, 0]
11-21 09:38:18.573 28473 28500 I Unity : Board state - Col 0: [13, 0, 0, 0]
11-21 09:38:18.573 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:18.573 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (0, 1) failed constraints: row=True, col=False
11-21 09:38:18.573 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (0, 2) failed constraints: row=True, col=False
11-21 09:38:18.573 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (0, 3) failed constraints: row=True, col=False
11-21 09:38:18.575 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (1, 0) failed constraints: row=False, col=True
11-21 09:38:18.575 28473 28500 I Unity : Checking replacement: tile 14 replacing 4 at (1,1)
11-21 09:38:18.575 28473 28500 I Unity : Board state - Row 1: [0, 4, 0, 0]
11-21 09:38:18.575 28473 28500 I Unity : Board state - Col 1: [0, 4, 0, 0]
11-21 09:38:18.575 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:18.575 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (1, 2) failed constraints: row=True, col=False
11-21 09:38:18.576 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (1, 3) failed constraints: row=True, col=False
11-21 09:38:18.576 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (2, 0) failed constraints: row=False, col=True
11-21 09:38:18.576 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (2, 1) failed constraints: row=False, col=True
11-21 09:38:18.576 28473 28500 I Unity : Checking replacement: tile 14 replacing 11 at (2,2)
11-21 09:38:18.576 28473 28500 I Unity : Board state - Row 2: [0, 0, 11, 12]
11-21 09:38:18.576 28473 28500 I Unity : Board state - Col 2: [0, 0, 11, 0]
11-21 09:38:18.576 28473 28500 I Unity : Row check: tile 12 at (2,3) to right of 14 at (2,2)
11-21 09:38:18.576 28473 28500 I Unity : ✗ Row constraint failed: 12 <= 14
11-21 09:38:18.576 28473 28500 I Unity : Replacement validation: row=False, col=True
11-21 09:38:18.576 28473 28500 I Unity : Checking replacement: tile 14 replacing 12 at (2,3)
11-21 09:38:18.576 28473 28500 I Unity : Board state - Row 2: [0, 0, 11, 12]
11-21 09:38:18.577 28473 28500 I Unity : Board state - Col 3: [0, 0, 12, 20]
11-21 09:38:18.577 28473 28500 I Unity : Row check: tile 11 at (2,2) to left of 14 at (2,3)
11-21 09:38:18.577 28473 28500 I Unity : Col check: tile 20 at (3,3) below 14 at (2,3)
11-21 09:38:18.577 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:18.577 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (3, 0) is VALID
11-21 09:38:18.577 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (3, 1) is VALID
11-21 09:38:18.577 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (3, 2) is VALID
11-21 09:38:18.577 28473 28500 I Unity : Checking replacement: tile 14 replacing 20 at (3,3)
11-21 09:38:18.577 28473 28500 I Unity : Board state - Row 3: [0, 0, 0, 20]
11-21 09:38:18.577 28473 28500 I Unity : Board state - Col 3: [0, 0, 12, 20]
11-21 09:38:18.577 28473 28500 I Unity : Col check: tile 12 at (2,3) above 14 at (3,3)
11-21 09:38:18.578 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:18.578 28473 28500 I Unity : AI Player 2 decision: TakeFaceUp - Top discard Red 14 has beneficial placement(s): 4 (Score: 0.70)
11-21 09:38:18.578 28473 28500 I Unity : AI Player 2 taking tile 0 from discard pile
11-21 09:38:18.578 28473 28500 I Unity : Took discarded tile: Red 14 from index 0
11-21 09:38:18.578 28473 28500 I Unity : Player 2 took discarded tile: Red 14 from DiscardPile
11-21 09:38:18.579 28473 28500 I Unity : Tile drawn: Player 2 drew Red 14
11-21 09:38:18.580 28473 28500 I Unity : UIGameTile Start: SpriteRenderer=True, NumberText=True
11-21 09:38:18.580 28473 28500 I Unity : SetTileData called with: Red 14, Color enum: 1
11-21 09:38:18.580 28473 28500 I Unity : Updated _originalSprite to: TilePurple for Red
11-21 09:38:18.581 28473 28500 I Unity : Before UpdateVisualRepresentation: _color=Red (enum: 1), GameTileSprites=4
11-21 09:38:18.581 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=14, Color=Red, NumberText null: False
11-21 09:38:18.581 28473 28500 I Unity : Set tile text to: 14, text active: True
11-21 09:38:18.581 28473 28500 I Unity : Set sprite renderer sprite to: TilePurple for color Red (index 1)
11-21 09:38:18.581 28473 28500 I Unity : Tile 0 set to Red 14
11-21 09:38:18.581 28473 28500 I Unity : Tile 0 number text visibility set to: True (faceDown: False)
11-21 09:38:18.581 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=14, Color=Red, NumberText null: False
11-21 09:38:18.581 28473 28500 I Unity : Set tile text to: 14, text active: True
11-21 09:38:18.582 28473 28500 I Unity : Set sprite renderer sprite to: TilePurple for color Red (index 1)
11-21 09:38:18.582 28473 28500 I Unity : Tile 0 set to face-up
11-21 09:38:18.582 28473 28500 I Unity : Tile 14: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:18.582 28473 28500 I Unity : Created temporary drawn tile Red 14 for opponent Player 2
11-21 09:38:18.582 28473 28500 I Unity : UpdateDiscardCount called with: 0
11-21 09:38:18.582 28473 28500 I Unity : Set discard count text to: 0
11-21 09:38:18.582 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=False, HasUnplacedTile=True, TestModeAllAI=False
11-21 09:38:18.582 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:18.582 28473 28500 W Unity : Tile 11: SetInteractable(False) - No Collider2D found!
11-21 09:38:18.583 28473 28500 W Unity : Tile 20: SetInteractable(False) - No Collider2D found!
11-21 09:38:18.583 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:18.583 28473 28500 W Unity : Tile 12: SetInteractable(False) - No Collider2D found!
11-21 09:38:18.583 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:38:18.583 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:38:18.583 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:18.583 28473 28500 I Unity : UIDiscardDeck interactability set to: False
11-21 09:38:18.583 28473 28500 I Unity : Tile 13: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:18.583 28473 28500 I Unity : Tile 4: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:18.584 28473 28500 I Unity : Tile 11: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:18.584 28473 28500 I Unity : Tile 12: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:18.584 28473 28500 I Unity : Tile 20: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:18.584 28473 28500 I Unity : Player 2 placed tiles interactivity set to: False
11-21 09:38:18.584 28473 28500 I Unity : Interactability updated for player 2
11-21 09:38:18.584 28473 28500 I Unity : Checking replacement: tile 14 replacing 13 at (0,0)
11-21 09:38:18.584 28473 28500 I Unity : Board state - Row 0: [13, 0, 0, 0]
11-21 09:38:18.585 28473 28500 I Unity : Board state - Col 0: [13, 0, 0, 0]
11-21 09:38:18.585 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:18.585 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (0, 1) failed constraints: row=True, col=False
11-21 09:38:18.585 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (0, 2) failed constraints: row=True, col=False
11-21 09:38:18.585 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (0, 3) failed constraints: row=True, col=False
11-21 09:38:18.585 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (1, 0) failed constraints: row=False, col=True
11-21 09:38:18.585 28473 28500 I Unity : Checking replacement: tile 14 replacing 4 at (1,1)
11-21 09:38:18.585 28473 28500 I Unity : Board state - Row 1: [0, 4, 0, 0]
11-21 09:38:18.585 28473 28500 I Unity : Board state - Col 1: [0, 4, 0, 0]
11-21 09:38:18.586 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:18.586 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (1, 2) failed constraints: row=True, col=False
11-21 09:38:18.587 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (1, 3) failed constraints: row=True, col=False
11-21 09:38:18.587 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (2, 0) failed constraints: row=False, col=True
11-21 09:38:18.587 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (2, 1) failed constraints: row=False, col=True
11-21 09:38:18.587 28473 28500 I Unity : Checking replacement: tile 14 replacing 11 at (2,2)
11-21 09:38:18.587 28473 28500 I Unity : Board state - Row 2: [0, 0, 11, 12]
11-21 09:38:18.587 28473 28500 I Unity : Board state - Col 2: [0, 0, 11, 0]
11-21 09:38:18.587 28473 28500 I Unity : Row check: tile 12 at (2,3) to right of 14 at (2,2)
11-21 09:38:18.588 28473 28500 I Unity : ✗ Row constraint failed: 12 <= 14
11-21 09:38:18.588 28473 28500 I Unity : Replacement validation: row=False, col=True
11-21 09:38:18.588 28473 28500 I Unity : Checking replacement: tile 14 replacing 12 at (2,3)
11-21 09:38:18.588 28473 28500 I Unity : Board state - Row 2: [0, 0, 11, 12]
11-21 09:38:18.588 28473 28500 I Unity : Board state - Col 3: [0, 0, 12, 20]
11-21 09:38:18.589 28473 28500 I Unity : Row check: tile 11 at (2,2) to left of 14 at (2,3)
11-21 09:38:18.589 28473 28500 I Unity : Col check: tile 20 at (3,3) below 14 at (2,3)
11-21 09:38:18.590 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:18.591 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (3, 0) is VALID
11-21 09:38:18.591 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (3, 1) is VALID
11-21 09:38:18.591 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (3, 2) is VALID
11-21 09:38:18.591 28473 28500 I Unity : Checking replacement: tile 14 replacing 20 at (3,3)
11-21 09:38:18.591 28473 28500 I Unity : Board state - Row 3: [0, 0, 0, 20]
11-21 09:38:18.592 28473 28500 I Unity : Board state - Col 3: [0, 0, 12, 20]
11-21 09:38:18.592 28473 28500 I Unity : Col check: tile 12 at (2,3) above 14 at (3,3)
11-21 09:38:18.592 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:18.592 28473 28500 I Unity : Found 7 valid placements for tile Red 14
11-21 09:38:18.593 28473 28500 I Unity : Valid placements changed: 7 positions
11-21 09:38:18.593 28473 28500 I Unity : Highlighted 7 valid placements for Player 2
11-21 09:38:18.593 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (0, 0) already occupied by 13
11-21 09:38:18.593 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (0, 1) failed constraints: row=True, col=False
11-21 09:38:18.593 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (0, 2) failed constraints: row=True, col=False
11-21 09:38:18.593 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (0, 3) failed constraints: row=True, col=False
11-21 09:38:18.594 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (1, 0) failed constraints: row=False, col=True
11-21 09:38:18.594 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (1, 1) already occupied by 4
11-21 09:38:18.594 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (1, 2) failed constraints: row=True, col=False
11-21 09:38:18.594 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (1, 3) failed constraints: row=True, col=False
11-21 09:38:18.598 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (2, 0) failed constraints: row=False, col=True
11-21 09:38:18.599 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (2, 1) failed constraints: row=False, col=True
11-21 09:38:18.599 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (2, 2) already occupied by 11
11-21 09:38:18.599 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (2, 3) already occupied by 12
11-21 09:38:18.599 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (3, 0) is VALID
11-21 09:38:18.599 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (3, 1) is VALID
11-21 09:38:18.599 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (3, 2) is VALID
11-21 09:38:18.599 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (3, 3) already occupied by 20
11-21 09:38:18.599 28473 28500 I Unity : Checking replacement: tile 14 replacing 13 at (0,0)
11-21 09:38:18.599 28473 28500 I Unity : Board state - Row 0: [13, 0, 0, 0]
11-21 09:38:18.599 28473 28500 I Unity : Board state - Col 0: [13, 0, 0, 0]
11-21 09:38:18.600 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:18.600 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (0, 1) failed constraints: row=True, col=False
11-21 09:38:18.600 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (0, 2) failed constraints: row=True, col=False
11-21 09:38:18.600 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (0, 3) failed constraints: row=True, col=False
11-21 09:38:18.600 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (1, 0) failed constraints: row=False, col=True
11-21 09:38:18.600 28473 28500 I Unity : Checking replacement: tile 14 replacing 4 at (1,1)
11-21 09:38:18.600 28473 28500 I Unity : Board state - Row 1: [0, 4, 0, 0]
11-21 09:38:18.600 28473 28500 I Unity : Board state - Col 1: [0, 4, 0, 0]
11-21 09:38:18.600 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:18.600 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (1, 2) failed constraints: row=True, col=False
11-21 09:38:18.600 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (1, 3) failed constraints: row=True, col=False
11-21 09:38:18.601 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (2, 0) failed constraints: row=False, col=True
11-21 09:38:18.601 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (2, 1) failed constraints: row=False, col=True
11-21 09:38:18.601 28473 28500 I Unity : Checking replacement: tile 14 replacing 11 at (2,2)
11-21 09:38:18.601 28473 28500 I Unity : Board state - Row 2: [0, 0, 11, 12]
11-21 09:38:18.601 28473 28500 I Unity : Board state - Col 2: [0, 0, 11, 0]
11-21 09:38:18.601 28473 28500 I Unity : Row check: tile 12 at (2,3) to right of 14 at (2,2)
11-21 09:38:18.601 28473 28500 I Unity : ✗ Row constraint failed: 12 <= 14
11-21 09:38:18.601 28473 28500 I Unity : Replacement validation: row=False, col=True
11-21 09:38:18.601 28473 28500 I Unity : Checking replacement: tile 14 replacing 12 at (2,3)
11-21 09:38:18.601 28473 28500 I Unity : Board state - Row 2: [0, 0, 11, 12]
11-21 09:38:18.601 28473 28500 I Unity : Board state - Col 3: [0, 0, 12, 20]
11-21 09:38:18.601 28473 28500 I Unity : Row check: tile 11 at (2,2) to left of 14 at (2,3)
11-21 09:38:18.602 28473 28500 I Unity : Col check: tile 20 at (3,3) below 14 at (2,3)
11-21 09:38:18.602 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:18.602 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (3, 0) is VALID
11-21 09:38:18.602 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (3, 1) is VALID
11-21 09:38:18.602 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (3, 2) is VALID
11-21 09:38:18.602 28473 28500 I Unity : Checking replacement: tile 14 replacing 20 at (3,3)
11-21 09:38:18.602 28473 28500 I Unity : Board state - Row 3: [0, 0, 0, 20]
11-21 09:38:18.602 28473 28500 I Unity : Board state - Col 3: [0, 0, 12, 20]
11-21 09:38:18.602 28473 28500 I Unity : Col check: tile 12 at (2,3) above 14 at (3,3)
11-21 09:38:18.602 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:18.602 28473 28500 I Unity : Prefer empty-cell over replacement | emptyPolicy=1.70, replPolicy=0.15, penalty=0.50
11-21 09:38:18.603 28473 28500 I Unity : Chose empty-cell placement over replacement | emptyScore=1.70, replaceScore=0.15
11-21 09:38:18.603 28473 28500 I Unity : AI Player 2 placing tile at (2, 3)
11-21 09:38:18.603 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 14 at (3, 2) is VALID
11-21 09:38:18.603 28473 28500 I Unity : [PlayerBoard] Player 2 placed tile 14 at (3, 2) | Board now: 6/16 filled
11-21 09:38:18.603 28473 28500 I Unity : [PLACEMENT] ✓ Player 2 placed Red 14 at (3, 2) | Board: 6/16 filled | Remaining draw: 57
11-21 09:38:18.603 28473 28500 I Unity : Player 2 Board (6/16 filled):
11-21 09:38:18.603 28473 28500 I Unity : 13 -- -- --
11-21 09:38:18.604 28473 28500 I Unity : -- 04 -- --
11-21 09:38:18.604 28473 28500 I Unity : -- -- 11 12
11-21 09:38:18.604 28473 28500 I Unity : -- -- 14 20
11-21 09:38:18.604 28473 28500 I Unity : Tile placed: Player 2 placed Red 14 at (3, 2)
11-21 09:38:18.604 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=False, HasUnplacedTile=True, TestModeAllAI=False
11-21 09:38:18.604 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:18.604 28473 28500 W Unity : Tile 11: SetInteractable(False) - No Collider2D found!
11-21 09:38:18.604 28473 28500 W Unity : Tile 20: SetInteractable(False) - No Collider2D found!
11-21 09:38:18.605 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:18.605 28473 28500 W Unity : Tile 12: SetInteractable(False) - No Collider2D found!
11-21 09:38:18.605 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:38:18.605 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:38:18.606 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:18.606 28473 28500 I Unity : UIDiscardDeck interactability set to: False
11-21 09:38:18.606 28473 28500 I Unity : Tile 13: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:18.606 28473 28500 I Unity : Tile 4: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:18.606 28473 28500 I Unity : Tile 11: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:18.607 28473 28500 I Unity : Tile 12: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:18.607 28473 28500 I Unity : Tile 20: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:18.607 28473 28500 I Unity : Player 2 placed tiles interactivity set to: False
11-21 09:38:18.607 28473 28500 I Unity : Interactability updated for player 2
11-21 09:38:18.607 28473 28500 I Unity : Valid placements changed: 0 positions
11-21 09:38:18.607 28473 28500 I Unity : Highlighted 0 valid placements for Player 2
11-21 09:38:18.607 28473 28500 I Unity : ═══════════════════════════════════════════════════════
11-21 09:38:18.607 28473 28500 I Unity : TURN CHANGE: Player 2 → Player 3
11-21 09:38:18.607 28473 28500 I Unity : Turn #4 | Tiles Remaining: 57 | Discard Pile: 0
11-21 09:38:18.608 28473 28500 I Unity : ═══════════════════════════════════════════════════════
11-21 09:38:18.608 28473 28500 I Unity : Game state changed: Game State: Playing, Turn 4, Player 3, Draw: 57, Discard: 0
11-21 09:38:18.608 28473 28500 I Unity : Updating deck UI with remaining count: 57
11-21 09:38:18.608 28473 28500 I Unity : UpdateRemainingCount called with: 57
11-21 09:38:18.608 28473 28500 I Unity : Set deck count text to: 57
11-21 09:38:18.608 28473 28500 I Unity : Game UI updated
11-21 09:38:18.608 28473 28500 I Unity : Player turn changed to Player 3
11-21 09:38:18.608 28473 28500 I Unity : Player 0 current player status: False
11-21 09:38:18.608 28473 28500 I Unity : Player 1 current player status: False
11-21 09:38:18.609 28473 28500 I Unity : Player 2 current player status: False
11-21 09:38:18.609 28473 28500 I Unity : Player 3 current player status: True
11-21 09:38:18.609 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=False, HasUnplacedTile=False, TestModeAllAI=False
11-21 09:38:18.609 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:18.609 28473 28500 W Unity : Tile 11: SetInteractable(False) - No Collider2D found!
11-21 09:38:18.609 28473 28500 W Unity : Tile 20: SetInteractable(False) - No Collider2D found!
11-21 09:38:18.609 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:18.610 28473 28500 W Unity : Tile 12: SetInteractable(False) - No Collider2D found!
11-21 09:38:18.610 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:38:18.610 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:38:18.610 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:18.610 28473 28500 I Unity : UIDiscardDeck interactability set to: False
11-21 09:38:18.610 28473 28500 I Unity : Tile 7: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:18.610 28473 28500 I Unity : Tile 10: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:18.610 28473 28500 I Unity : Tile 11: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:18.610 28473 28500 I Unity : Tile 14: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:18.610 28473 28500 I Unity : Tile 15: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:18.611 28473 28500 I Unity : Tile 20: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:18.611 28473 28500 I Unity : Player 3 placed tiles interactivity set to: False
11-21 09:38:18.611 28473 28500 I Unity : Interactability updated for player 3
11-21 09:38:18.611 28473 28500 I Unity : Starting AI turn for Player 3
11-21 09:38:18.611 28473 28500 I Unity : Tile 2: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:19.074 28473 28500 I Unity : Tile 0 animation to (0.52, 5.22, 0.00) complete
11-21 09:38:19.074 28473 28500 I Unity : Tile 14 number text visibility set to: True (faceDown: False)
11-21 09:38:19.074 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=14, Color=Red, NumberText null: False
11-21 09:38:19.075 28473 28500 I Unity : Set tile text to: 14, text active: True
11-21 09:38:19.075 28473 28500 I Unity : Set sprite renderer sprite to: TilePurple for color Red (index 1)
11-21 09:38:19.075 28473 28500 I Unity : Tile 14 set to face-up
11-21 09:38:19.075 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=14, Color=Red, NumberText null: False
11-21 09:38:19.075 28473 28500 I Unity : Set tile text to: 14, text active: True
11-21 09:38:19.075 28473 28500 I Unity : Set sprite renderer sprite to: TilePurple for color Red (index 1)
11-21 09:38:19.076 28473 28500 I Unity : Placed tile 14 on grid cell 14 at (2.00, 3.00)
11-21 09:38:19.076 28473 28500 I Unity : Animated opponent tile placement for Player 2 at (2, 3) (board scale: (0.50, 0.50, 1.00))
11-21 09:38:19.076 28473 28500 I Unity : AI Player 2 turn completed
11-21 09:38:19.076 28473 28500 I Unity : AI turn completed for Player 2
11-21 09:38:19.576 28473 28500 I Unity : AI Player 3 (MethodicalPlanner) starting turn...
11-21 09:38:22.514 28473 28500 I Unity : AI Player 3 decision: DrawFaceDown - Draw face-down tile - unknown potential (Score: 1.00)
11-21 09:38:22.515 28473 28500 I Unity : AI Player 3 drawing from face-down pile
11-21 09:38:22.515 28473 28500 I Unity : Drew tile: Yellow 6 (56 tiles remaining)
11-21 09:38:22.515 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (0, 0) already occupied by 7
11-21 09:38:22.515 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 6 at (0, 1) failed constraints: row=False, col=True
11-21 09:38:22.515 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 6 at (0, 2) failed constraints: row=False, col=True
11-21 09:38:22.515 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 6 at (0, 3) failed constraints: row=False, col=True
11-21 09:38:22.515 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 6 at (1, 0) failed constraints: row=True, col=False
11-21 09:38:22.516 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (1, 1) already occupied by 10
11-21 09:38:22.516 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 6 at (1, 2) failed constraints: row=False, col=True
11-21 09:38:22.516 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 6 at (1, 3) failed constraints: row=False, col=True
11-21 09:38:22.516 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 6 at (2, 0) failed constraints: row=True, col=False
11-21 09:38:22.516 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (2, 1) already occupied by 11
11-21 09:38:22.516 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (2, 2) already occupied by 14
11-21 09:38:22.516 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (2, 3) already occupied by 15
11-21 09:38:22.516 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 6 at (3, 0) failed constraints: row=True, col=False
11-21 09:38:22.516 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 6 at (3, 1) failed constraints: row=True, col=False
11-21 09:38:22.516 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 6 at (3, 2) failed constraints: row=True, col=False
11-21 09:38:22.516 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (3, 3) already occupied by 20
11-21 09:38:22.517 28473 28500 I Unity : → Player 3 drew tile: Yellow 6 from DrawPile | Valid placements: 0
11-21 09:38:22.517 28473 28500 I Unity : Tile drawn: Player 3 drew Yellow 6
11-21 09:38:22.518 28473 28500 I Unity : UIGameTile Start: SpriteRenderer=True, NumberText=True
11-21 09:38:22.518 28473 28500 I Unity : SetTileData called with: Yellow 6, Color enum: 0
11-21 09:38:22.518 28473 28500 I Unity : Updated _originalSprite to: TileGreen for Yellow
11-21 09:38:22.518 28473 28500 I Unity : Before UpdateVisualRepresentation: _color=Yellow (enum: 0), GameTileSprites=4
11-21 09:38:22.519 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=6, Color=Yellow, NumberText null: False
11-21 09:38:22.519 28473 28500 I Unity : Set tile text to: 6, text active: True
11-21 09:38:22.519 28473 28500 I Unity : Set sprite renderer sprite to: TileGreen for color Yellow (index 0)
11-21 09:38:22.519 28473 28500 I Unity : Tile 0 set to Yellow 6
11-21 09:38:22.519 28473 28500 I Unity : Tile 0 number text visibility set to: True (faceDown: False)
11-21 09:38:22.519 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=6, Color=Yellow, NumberText null: False
11-21 09:38:22.519 28473 28500 I Unity : Set tile text to: 6, text active: True
11-21 09:38:22.519 28473 28500 I Unity : Set sprite renderer sprite to: TileGreen for color Yellow (index 0)
11-21 09:38:22.520 28473 28500 I Unity : Tile 0 set to face-up
11-21 09:38:22.520 28473 28500 I Unity : Tile 6: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:22.520 28473 28500 I Unity : Created temporary drawn tile Yellow 6 for opponent Player 3
11-21 09:38:22.520 28473 28500 I Unity : UpdateDiscardCount called with: 0
11-21 09:38:22.520 28473 28500 I Unity : Set discard count text to: 0
11-21 09:38:22.520 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=False, HasUnplacedTile=True, TestModeAllAI=False
11-21 09:38:22.520 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:22.520 28473 28500 W Unity : Tile 11: SetInteractable(False) - No Collider2D found!
11-21 09:38:22.520 28473 28500 W Unity : Tile 20: SetInteractable(False) - No Collider2D found!
11-21 09:38:22.521 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:22.521 28473 28500 W Unity : Tile 12: SetInteractable(False) - No Collider2D found!
11-21 09:38:22.521 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:38:22.521 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:38:22.521 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:22.521 28473 28500 I Unity : UIDiscardDeck interactability set to: False
11-21 09:38:22.521 28473 28500 I Unity : Tile 7: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:22.521 28473 28500 I Unity : Tile 10: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:22.521 28473 28500 I Unity : Tile 11: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:22.521 28473 28500 I Unity : Tile 14: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:22.521 28473 28500 I Unity : Tile 15: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:22.522 28473 28500 I Unity : Tile 20: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:22.522 28473 28500 I Unity : Player 3 placed tiles interactivity set to: False
11-21 09:38:22.522 28473 28500 I Unity : Interactability updated for player 3
11-21 09:38:22.522 28473 28500 I Unity : Checking replacement: tile 6 replacing 7 at (0,0)
11-21 09:38:22.522 28473 28500 I Unity : Board state - Row 0: [7, 0, 0, 0]
11-21 09:38:22.522 28473 28500 I Unity : Board state - Col 0: [7, 0, 0, 0]
11-21 09:38:22.522 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:22.522 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 6 at (0, 1) failed constraints: row=False, col=True
11-21 09:38:22.522 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 6 at (0, 2) failed constraints: row=False, col=True
11-21 09:38:22.522 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 6 at (0, 3) failed constraints: row=False, col=True
11-21 09:38:22.523 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 6 at (1, 0) failed constraints: row=True, col=False
11-21 09:38:22.523 28473 28500 I Unity : Checking replacement: tile 6 replacing 10 at (1,1)
11-21 09:38:22.523 28473 28500 I Unity : Board state - Row 1: [0, 10, 0, 0]
11-21 09:38:22.523 28473 28500 I Unity : Board state - Col 1: [0, 10, 11, 0]
11-21 09:38:22.523 28473 28500 I Unity : Col check: tile 11 at (2,1) below 6 at (1,1)
11-21 09:38:22.523 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:22.523 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 6 at (1, 2) failed constraints: row=False, col=True
11-21 09:38:22.523 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 6 at (1, 3) failed constraints: row=False, col=True
11-21 09:38:22.523 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 6 at (2, 0) failed constraints: row=True, col=False
11-21 09:38:22.523 28473 28500 I Unity : Checking replacement: tile 6 replacing 11 at (2,1)
11-21 09:38:22.524 28473 28500 I Unity : Board state - Row 2: [0, 11, 14, 15]
11-21 09:38:22.524 28473 28500 I Unity : Board state - Col 1: [0, 10, 11, 0]
11-21 09:38:22.524 28473 28500 I Unity : Row check: tile 14 at (2,2) to right of 6 at (2,1)
11-21 09:38:22.524 28473 28500 I Unity : Col check: tile 10 at (1,1) above 6 at (2,1)
11-21 09:38:22.524 28473 28500 I Unity : ✗ Column constraint failed: 10 >= 6
11-21 09:38:22.524 28473 28500 I Unity : Replacement validation: row=True, col=False
11-21 09:38:22.524 28473 28500 I Unity : Checking replacement: tile 6 replacing 14 at (2,2)
11-21 09:38:22.524 28473 28500 I Unity : Board state - Row 2: [0, 11, 14, 15]
11-21 09:38:22.524 28473 28500 I Unity : Board state - Col 2: [0, 0, 14, 0]
11-21 09:38:22.524 28473 28500 I Unity : Row check: tile 11 at (2,1) to left of 6 at (2,2)
11-21 09:38:22.524 28473 28500 I Unity : ✗ Row constraint failed: 11 >= 6
11-21 09:38:22.525 28473 28500 I Unity : Replacement validation: row=False, col=True
11-21 09:38:22.525 28473 28500 I Unity : Checking replacement: tile 6 replacing 15 at (2,3)
11-21 09:38:22.525 28473 28500 I Unity : Board state - Row 2: [0, 11, 14, 15]
11-21 09:38:22.525 28473 28500 I Unity : Board state - Col 3: [0, 0, 15, 20]
11-21 09:38:22.525 28473 28500 I Unity : Row check: tile 14 at (2,2) to left of 6 at (2,3)
11-21 09:38:22.525 28473 28500 I Unity : ✗ Row constraint failed: 14 >= 6
11-21 09:38:22.525 28473 28500 I Unity : Col check: tile 20 at (3,3) below 6 at (2,3)
11-21 09:38:22.525 28473 28500 I Unity : Replacement validation: row=False, col=True
11-21 09:38:22.525 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 6 at (3, 0) failed constraints: row=True, col=False
11-21 09:38:22.525 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 6 at (3, 1) failed constraints: row=True, col=False
11-21 09:38:22.525 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 6 at (3, 2) failed constraints: row=True, col=False
11-21 09:38:22.526 28473 28500 I Unity : Checking replacement: tile 6 replacing 20 at (3,3)
11-21 09:38:22.526 28473 28500 I Unity : Board state - Row 3: [0, 0, 0, 20]
11-21 09:38:22.526 28473 28500 I Unity : Board state - Col 3: [0, 0, 15, 20]
11-21 09:38:22.526 28473 28500 I Unity : Col check: tile 15 at (2,3) above 6 at (3,3)
11-21 09:38:22.526 28473 28500 I Unity : ✗ Column constraint failed: 15 >= 6
11-21 09:38:22.526 28473 28500 I Unity : Replacement validation: row=True, col=False
11-21 09:38:22.526 28473 28500 I Unity : Found 2 valid placements for tile Yellow 6
11-21 09:38:22.526 28473 28500 I Unity : Valid placements changed: 2 positions
11-21 09:38:22.527 28473 28500 I Unity : Highlighted 2 valid placements for Player 3
11-21 09:38:23.522 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (0, 0) already occupied by 7
11-21 09:38:23.522 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 6 at (0, 1) failed constraints: row=False, col=True
11-21 09:38:23.522 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 6 at (0, 2) failed constraints: row=False, col=True
11-21 09:38:23.522 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 6 at (0, 3) failed constraints: row=False, col=True
11-21 09:38:23.522 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 6 at (1, 0) failed constraints: row=True, col=False
11-21 09:38:23.522 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (1, 1) already occupied by 10
11-21 09:38:23.522 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 6 at (1, 2) failed constraints: row=False, col=True
11-21 09:38:23.522 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 6 at (1, 3) failed constraints: row=False, col=True
11-21 09:38:23.523 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 6 at (2, 0) failed constraints: row=True, col=False
11-21 09:38:23.523 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (2, 1) already occupied by 11
11-21 09:38:23.523 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (2, 2) already occupied by 14
11-21 09:38:23.523 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (2, 3) already occupied by 15
11-21 09:38:23.523 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 6 at (3, 0) failed constraints: row=True, col=False
11-21 09:38:23.523 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 6 at (3, 1) failed constraints: row=True, col=False
11-21 09:38:23.523 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 6 at (3, 2) failed constraints: row=True, col=False
11-21 09:38:23.523 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (3, 3) already occupied by 20
11-21 09:38:23.523 28473 28500 I Unity : Checking replacement: tile 6 replacing 7 at (0,0)
11-21 09:38:23.523 28473 28500 I Unity : Board state - Row 0: [7, 0, 0, 0]
11-21 09:38:23.524 28473 28500 I Unity : Board state - Col 0: [7, 0, 0, 0]
11-21 09:38:23.524 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:23.524 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 6 at (0, 1) failed constraints: row=False, col=True
11-21 09:38:23.524 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 6 at (0, 2) failed constraints: row=False, col=True
11-21 09:38:23.524 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 6 at (0, 3) failed constraints: row=False, col=True
11-21 09:38:23.524 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 6 at (1, 0) failed constraints: row=True, col=False
11-21 09:38:23.524 28473 28500 I Unity : Checking replacement: tile 6 replacing 10 at (1,1)
11-21 09:38:23.524 28473 28500 I Unity : Board state - Row 1: [0, 10, 0, 0]
11-21 09:38:23.524 28473 28500 I Unity : Board state - Col 1: [0, 10, 11, 0]
11-21 09:38:23.524 28473 28500 I Unity : Col check: tile 11 at (2,1) below 6 at (1,1)
11-21 09:38:23.524 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:23.525 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 6 at (1, 2) failed constraints: row=False, col=True
11-21 09:38:23.525 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 6 at (1, 3) failed constraints: row=False, col=True
11-21 09:38:23.525 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 6 at (2, 0) failed constraints: row=True, col=False
11-21 09:38:23.525 28473 28500 I Unity : Checking replacement: tile 6 replacing 11 at (2,1)
11-21 09:38:23.525 28473 28500 I Unity : Board state - Row 2: [0, 11, 14, 15]
11-21 09:38:23.525 28473 28500 I Unity : Board state - Col 1: [0, 10, 11, 0]
11-21 09:38:23.525 28473 28500 I Unity : Row check: tile 14 at (2,2) to right of 6 at (2,1)
11-21 09:38:23.525 28473 28500 I Unity : Col check: tile 10 at (1,1) above 6 at (2,1)
11-21 09:38:23.525 28473 28500 I Unity : ✗ Column constraint failed: 10 >= 6
11-21 09:38:23.525 28473 28500 I Unity : Replacement validation: row=True, col=False
11-21 09:38:23.526 28473 28500 I Unity : Checking replacement: tile 6 replacing 14 at (2,2)
11-21 09:38:23.526 28473 28500 I Unity : Board state - Row 2: [0, 11, 14, 15]
11-21 09:38:23.526 28473 28500 I Unity : Board state - Col 2: [0, 0, 14, 0]
11-21 09:38:23.526 28473 28500 I Unity : Row check: tile 11 at (2,1) to left of 6 at (2,2)
11-21 09:38:23.526 28473 28500 I Unity : ✗ Row constraint failed: 11 >= 6
11-21 09:38:23.526 28473 28500 I Unity : Replacement validation: row=False, col=True
11-21 09:38:23.526 28473 28500 I Unity : Checking replacement: tile 6 replacing 15 at (2,3)
11-21 09:38:23.526 28473 28500 I Unity : Board state - Row 2: [0, 11, 14, 15]
11-21 09:38:23.526 28473 28500 I Unity : Board state - Col 3: [0, 0, 15, 20]
11-21 09:38:23.526 28473 28500 I Unity : Row check: tile 14 at (2,2) to left of 6 at (2,3)
11-21 09:38:23.526 28473 28500 I Unity : ✗ Row constraint failed: 14 >= 6
11-21 09:38:23.527 28473 28500 I Unity : Col check: tile 20 at (3,3) below 6 at (2,3)
11-21 09:38:23.527 28473 28500 I Unity : Replacement validation: row=False, col=True
11-21 09:38:23.527 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 6 at (3, 0) failed constraints: row=True, col=False
11-21 09:38:23.527 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 6 at (3, 1) failed constraints: row=True, col=False
11-21 09:38:23.527 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 6 at (3, 2) failed constraints: row=True, col=False
11-21 09:38:23.527 28473 28500 I Unity : Checking replacement: tile 6 replacing 20 at (3,3)
11-21 09:38:23.527 28473 28500 I Unity : Board state - Row 3: [0, 0, 0, 20]
11-21 09:38:23.527 28473 28500 I Unity : Board state - Col 3: [0, 0, 15, 20]
11-21 09:38:23.527 28473 28500 I Unity : Col check: tile 15 at (2,3) above 6 at (3,3)
11-21 09:38:23.527 28473 28500 I Unity : ✗ Column constraint failed: 15 >= 6
11-21 09:38:23.528 28473 28500 I Unity : Replacement validation: row=True, col=False
11-21 09:38:23.528 28473 28500 I Unity : AI Player 3 replacement decision: Replacement chosen (no beneficial empty) | pot=0.52, policy=0.02
11-21 09:38:23.528 28473 28500 I Unity : AI Player 3 replacing tile at (1, 1)
11-21 09:38:23.528 28473 28500 I Unity : Checking replacement: tile 6 replacing 10 at (1,1)
11-21 09:38:23.528 28473 28500 I Unity : Board state - Row 1: [0, 10, 0, 0]
11-21 09:38:23.528 28473 28500 I Unity : Board state - Col 1: [0, 10, 11, 0]
11-21 09:38:23.528 28473 28500 I Unity : Col check: tile 11 at (2,1) below 6 at (1,1)
11-21 09:38:23.528 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:23.529 28473 28500 I Unity : Replacing tile 10 at (1, 1) with Yellow 6
11-21 09:38:23.529 28473 28500 I Unity : Discarded tile: Green 10 (1 tiles in discard pile)
11-21 09:38:23.529 28473 28500 I Unity : Tile discarded: Player 3 discarded Green 10
11-21 09:38:23.529 28473 28500 I Unity : [DISCARD DEBUG] Cached logical discarded tile for player 3: Green 10
11-21 09:38:23.529 28473 28500 I Unity : [PlayerBoard] Player 3 removed tile 10 from (1, 1) | Board now: 5/16 filled
11-21 09:38:23.529 28473 28500 I Unity : [PlayerBoard] Player 3 placed tile 06 at (1, 1) | Board now: 6/16 filled
11-21 09:38:23.529 28473 28500 I Unity : Player 3 placed Yellow 6 with replacement at (1, 1)
11-21 09:38:23.530 28473 28500 I Unity : Player 3 Board (6/16 filled):
11-21 09:38:23.530 28473 28500 I Unity : 07 -- -- --
11-21 09:38:23.530 28473 28500 I Unity : -- 06 -- --
11-21 09:38:23.530 28473 28500 I Unity : -- 11 14 15
11-21 09:38:23.530 28473 28500 I Unity : -- -- -- 20
11-21 09:38:23.530 28473 28500 I Unity : Tile placed: Player 3 placed Yellow 6 at (1, 1)
11-21 09:38:23.530 28473 28500 I Unity : Opponent replacing tile 10 with 6 at (1, 1)
11-21 09:38:23.530 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=False, HasUnplacedTile=True, TestModeAllAI=False
11-21 09:38:23.531 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:23.531 28473 28500 W Unity : Tile 11: SetInteractable(False) - No Collider2D found!
11-21 09:38:23.531 28473 28500 W Unity : Tile 20: SetInteractable(False) - No Collider2D found!
11-21 09:38:23.531 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:23.531 28473 28500 W Unity : Tile 12: SetInteractable(False) - No Collider2D found!
11-21 09:38:23.531 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:38:23.531 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:38:23.531 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:23.531 28473 28500 I Unity : UIDiscardDeck interactability set to: False
11-21 09:38:23.531 28473 28500 I Unity : Tile 7: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:23.532 28473 28500 I Unity : Tile 10: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:23.532 28473 28500 I Unity : Tile 11: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:23.532 28473 28500 I Unity : Tile 14: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:23.532 28473 28500 I Unity : Tile 15: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:23.532 28473 28500 I Unity : Tile 20: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:23.532 28473 28500 I Unity : Player 3 placed tiles interactivity set to: False
11-21 09:38:23.532 28473 28500 I Unity : Interactability updated for player 3
11-21 09:38:23.532 28473 28500 I Unity : Valid placements changed: 0 positions
11-21 09:38:23.532 28473 28500 I Unity : Highlighted 0 valid placements for Player 3
11-21 09:38:23.532 28473 28500 I Unity : ═══════════════════════════════════════════════════════
11-21 09:38:23.533 28473 28500 I Unity : TURN CHANGE: Player 3 → Player 0
11-21 09:38:23.533 28473 28500 I Unity : Turn #5 | Tiles Remaining: 56 | Discard Pile: 1
11-21 09:38:23.533 28473 28500 I Unity : ═══════════════════════════════════════════════════════
11-21 09:38:23.533 28473 28500 I Unity : Game state changed: Game State: Playing, Turn 5, Player 0, Draw: 56, Discard: 1
11-21 09:38:23.533 28473 28500 I Unity : Updating deck UI with remaining count: 56
11-21 09:38:23.533 28473 28500 I Unity : UpdateRemainingCount called with: 56
11-21 09:38:23.533 28473 28500 I Unity : Set deck count text to: 56
11-21 09:38:23.533 28473 28500 I Unity : Game UI updated
11-21 09:38:23.533 28473 28500 I Unity : Player turn changed to Player 0
11-21 09:38:23.534 28473 28500 I Unity : Player 0 current player status: True
11-21 09:38:23.534 28473 28500 I Unity : Player 1 current player status: False
11-21 09:38:23.534 28473 28500 I Unity : Player 2 current player status: False
11-21 09:38:23.534 28473 28500 I Unity : Player 3 current player status: False
11-21 09:38:23.534 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=True, HasUnplacedTile=False, TestModeAllAI=False
11-21 09:38:23.534 28473 28500 W Unity : Tile 14: SetInteractable(True) - No Collider2D found!
11-21 09:38:23.535 28473 28500 W Unity : Tile 11: SetInteractable(True) - No Collider2D found!
11-21 09:38:23.535 28473 28500 W Unity : Tile 20: SetInteractable(True) - No Collider2D found!
11-21 09:38:23.535 28473 28500 W Unity : Tile 14: SetInteractable(True) - No Collider2D found!
11-21 09:38:23.535 28473 28500 W Unity : Tile 12: SetInteractable(True) - No Collider2D found!
11-21 09:38:23.535 28473 28500 W Unity : Tile 15: SetInteractable(True) - No Collider2D found!
11-21 09:38:23.535 28473 28500 W Unity : Tile 15: SetInteractable(True) - No Collider2D found!
11-21 09:38:23.535 28473 28500 W Unity : Tile 14: SetInteractable(True) - No Collider2D found!
11-21 09:38:23.535 28473 28500 I Unity : UIDiscardDeck interactability set to: True
11-21 09:38:23.535 28473 28500 I Unity : Tile 7: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:23.535 28473 28500 I Unity : Tile 7: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:23.536 28473 28500 I Unity : Tile 8: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:23.536 28473 28500 I Unity : Tile 11: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:23.536 28473 28500 I Unity : Tile 16: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:23.536 28473 28500 I Unity : Player 0 placed tiles interactivity set to: False
11-21 09:38:23.536 28473 28500 I Unity : Interactability updated for player 0
11-21 09:38:23.536 28473 28500 I Unity : Tile 2: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:38:23.815 28473 28500 I Unity : Tile 5 animation to (2.00, 1.99, 0.00) complete
11-21 09:38:23.816 28473 28500 I Unity : SetTileData called with: Green 10, Color enum: 3
11-21 09:38:23.816 28473 28500 I Unity : Updated _originalSprite to: TileYellow for Green
11-21 09:38:23.816 28473 28500 I Unity : Before UpdateVisualRepresentation: _color=Green (enum: 3), GameTileSprites=4
11-21 09:38:23.816 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=10, Color=Green, NumberText null: False
11-21 09:38:23.817 28473 28500 I Unity : Set tile text to: 10, text active: True
11-21 09:38:23.817 28473 28500 I Unity : Set sprite renderer sprite to: TileYellow for color Green (index 3)
11-21 09:38:23.817 28473 28500 I Unity : Tile 5 set to Green 10
11-21 09:38:23.817 28473 28500 I Unity : Tile 10: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:38:23.817 28473 28500 I Unity : [UIDiscardDeck] Destroyed collider for discard pile tile 10
11-21 09:38:23.817 28473 28500 I Unity : Tile 10: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:23.818 28473 28500 I Unity : Discard Pile: Tile 12 (index 4) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 11, Text Order: 12
11-21 09:38:23.818 28473 28500 I Unity : Discard Pile: Tile 15 (index 5) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 13, Text Order: 14
11-21 09:38:23.818 28473 28500 I Unity : Discard Pile: Tile 15 (index 6) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 15, Text Order: 16
11-21 09:38:23.818 28473 28500 I Unity : Discard Pile: Tile 14 (index 7) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 17, Text Order: 18
11-21 09:38:23.818 28473 28500 I Unity : Discard Pile: Tile 10 (index 8) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 19, Text Order: 20
11-21 09:38:23.818 28473 28500 I Unity : UpdateDiscardCount called with: 1
11-21 09:38:23.819 28473 28500 I Unity : Set discard count text to: 1
11-21 09:38:23.819 28473 28500 I Unity : [UIDiscardDeck] Added tile 10 to discard deck (9 total)
11-21 09:38:23.819 28473 28500 I Unity : UpdateDiscardCount called with: 1
11-21 09:38:23.819 28473 28500 I Unity : Set discard count text to: 1
11-21 09:38:24.019 28473 28500 I Unity : Tile 0 animation to (4.48, 7.32, 0.00) complete
11-21 09:38:24.019 28473 28500 I Unity : Tile 5 number text visibility set to: True (faceDown: False)
11-21 09:38:24.020 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=6, Color=Yellow, NumberText null: False
11-21 09:38:24.020 28473 28500 I Unity : Set tile text to: 6, text active: True
11-21 09:38:24.020 28473 28500 I Unity : Set sprite renderer sprite to: TileGreen for color Yellow (index 0)
11-21 09:38:24.020 28473 28500 I Unity : Tile 5 set to face-up
11-21 09:38:24.020 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=6, Color=Yellow, NumberText null: False
11-21 09:38:24.020 28473 28500 I Unity : Set tile text to: 6, text active: True
11-21 09:38:24.020 28473 28500 I Unity : Set sprite renderer sprite to: TileGreen for color Yellow (index 0)
11-21 09:38:24.020 28473 28500 I Unity : Placed tile 6 on grid cell 5 at (1.00, 1.00)
11-21 09:38:24.021 28473 28500 I Unity : Animated opponent tile placement for Player 3 at (1, 1) (board scale: (0.50, 0.50, 1.00))
11-21 09:38:24.021 28473 28500 I Unity : AI Player 3 turn completed
11-21 09:38:24.021 28473 28500 I Unity : AI turn completed for Player 3
11-21 09:38:27.890 28473 28500 I Unity : Interacting with discard deck
11-21 09:38:27.890 28473 28500 I Unity : Checking replacement: tile 10 replacing 7 at (0,0)
11-21 09:38:27.891 28473 28500 I Unity : Board state - Row 0: [7, 0, 0, 0]
11-21 09:38:27.891 28473 28500 I Unity : Board state - Col 0: [7, 0, 0, 0]
11-21 09:38:27.891 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:27.891 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (0, 1) failed constraints: row=True, col=False
11-21 09:38:27.891 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (0, 2) failed constraints: row=True, col=False
11-21 09:38:27.891 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (0, 3) is VALID
11-21 09:38:27.891 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (1, 0) failed constraints: row=False, col=True
11-21 09:38:27.891 28473 28500 I Unity : Checking replacement: tile 10 replacing 7 at (1,1)
11-21 09:38:27.891 28473 28500 I Unity : Board state - Row 1: [0, 7, 8, 0]
11-21 09:38:27.891 28473 28500 I Unity : Board state - Col 1: [0, 7, 0, 0]
11-21 09:38:27.891 28473 28500 I Unity : Row check: tile 8 at (1,2) to right of 10 at (1,1)
11-21 09:38:27.891 28473 28500 I Unity : ✗ Row constraint failed: 8 <= 10
11-21 09:38:27.892 28473 28500 I Unity : Replacement validation: row=False, col=True
11-21 09:38:27.892 28473 28500 I Unity : Checking replacement: tile 10 replacing 8 at (1,2)
11-21 09:38:27.892 28473 28500 I Unity : Board state - Row 1: [0, 7, 8, 0]
11-21 09:38:27.892 28473 28500 I Unity : Board state - Col 2: [0, 8, 11, 0]
11-21 09:38:27.892 28473 28500 I Unity : Row check: tile 7 at (1,1) to left of 10 at (1,2)
11-21 09:38:27.892 28473 28500 I Unity : Col check: tile 11 at (2,2) below 10 at (1,2)
11-21 09:38:27.892 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:27.892 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (1, 3) is VALID
11-21 09:38:27.892 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (2, 0) is VALID
11-21 09:38:27.892 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (2, 1) is VALID
11-21 09:38:27.892 28473 28500 I Unity : Checking replacement: tile 10 replacing 11 at (2,2)
11-21 09:38:27.892 28473 28500 I Unity : Board state - Row 2: [0, 0, 11, 0]
11-21 09:38:27.892 28473 28500 I Unity : Board state - Col 2: [0, 8, 11, 0]
11-21 09:38:27.893 28473 28500 I Unity : Col check: tile 8 at (1,2) above 10 at (2,2)
11-21 09:38:27.893 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:27.893 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (2, 3) failed constraints: row=False, col=True
11-21 09:38:27.893 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (3, 0) is VALID
11-21 09:38:27.893 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (3, 1) is VALID
11-21 09:38:27.893 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (3, 2) failed constraints: row=True, col=False
11-21 09:38:27.893 28473 28500 I Unity : Checking replacement: tile 10 replacing 16 at (3,3)
11-21 09:38:27.893 28473 28500 I Unity : Board state - Row 3: [0, 0, 0, 16]
11-21 09:38:27.893 28473 28500 I Unity : Board state - Col 3: [0, 0, 0, 16]
11-21 09:38:27.893 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:27.893 28473 28500 I Unity : Tile 10 has 10 valid placements - allowing player to take it
11-21 09:38:27.894 28473 28500 I Unity : Took discarded tile: Green 10 from index 0
11-21 09:38:27.894 28473 28500 I Unity : Player 0 took discarded tile: Green 10 from DiscardPile
11-21 09:38:27.894 28473 28500 I Unity : Tile drawn: Player 0 drew Green 10
11-21 09:38:27.894 28473 28500 I Unity : UpdateDiscardCount called with: 0
11-21 09:38:27.894 28473 28500 I Unity : Set discard count text to: 0
11-21 09:38:27.894 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=True, HasUnplacedTile=True, TestModeAllAI=False
11-21 09:38:27.894 28473 28500 W Unity : Tile 14: SetInteractable(True) - No Collider2D found!
11-21 09:38:27.894 28473 28500 W Unity : Tile 11: SetInteractable(True) - No Collider2D found!
11-21 09:38:27.894 28473 28500 W Unity : Tile 20: SetInteractable(True) - No Collider2D found!
11-21 09:38:27.894 28473 28500 W Unity : Tile 14: SetInteractable(True) - No Collider2D found!
11-21 09:38:27.895 28473 28500 W Unity : Tile 12: SetInteractable(True) - No Collider2D found!
11-21 09:38:27.895 28473 28500 W Unity : Tile 15: SetInteractable(True) - No Collider2D found!
11-21 09:38:27.895 28473 28500 W Unity : Tile 15: SetInteractable(True) - No Collider2D found!
11-21 09:38:27.895 28473 28500 W Unity : Tile 14: SetInteractable(True) - No Collider2D found!
11-21 09:38:27.895 28473 28500 W Unity : Tile 10: SetInteractable(True) - No Collider2D found!
11-21 09:38:27.895 28473 28500 I Unity : UIDiscardDeck interactability set to: True
11-21 09:38:27.895 28473 28500 I Unity : Tile 7: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:38:27.895 28473 28500 I Unity : Tile 7: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:38:27.895 28473 28500 I Unity : Tile 8: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:38:27.895 28473 28500 I Unity : Tile 11: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:38:27.896 28473 28500 I Unity : Tile 16: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:38:27.896 28473 28500 I Unity : Player 0 placed tiles interactivity set to: True
11-21 09:38:27.896 28473 28500 I Unity : Interactability updated for player 0
11-21 09:38:27.896 28473 28500 I Unity : Checking replacement: tile 10 replacing 7 at (0,0)
11-21 09:38:27.896 28473 28500 I Unity : Board state - Row 0: [7, 0, 0, 0]
11-21 09:38:27.896 28473 28500 I Unity : Board state - Col 0: [7, 0, 0, 0]
11-21 09:38:27.896 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:27.896 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (0, 1) failed constraints: row=True, col=False
11-21 09:38:27.896 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (0, 2) failed constraints: row=True, col=False
11-21 09:38:27.896 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (0, 3) is VALID
11-21 09:38:27.896 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (1, 0) failed constraints: row=False, col=True
11-21 09:38:27.897 28473 28500 I Unity : Checking replacement: tile 10 replacing 7 at (1,1)
11-21 09:38:27.897 28473 28500 I Unity : Board state - Row 1: [0, 7, 8, 0]
11-21 09:38:27.897 28473 28500 I Unity : Board state - Col 1: [0, 7, 0, 0]
11-21 09:38:27.897 28473 28500 I Unity : Row check: tile 8 at (1,2) to right of 10 at (1,1)
11-21 09:38:27.897 28473 28500 I Unity : ✗ Row constraint failed: 8 <= 10
11-21 09:38:27.897 28473 28500 I Unity : Replacement validation: row=False, col=True
11-21 09:38:27.897 28473 28500 I Unity : Checking replacement: tile 10 replacing 8 at (1,2)
11-21 09:38:27.897 28473 28500 I Unity : Board state - Row 1: [0, 7, 8, 0]
11-21 09:38:27.897 28473 28500 I Unity : Board state - Col 2: [0, 8, 11, 0]
11-21 09:38:27.897 28473 28500 I Unity : Row check: tile 7 at (1,1) to left of 10 at (1,2)
11-21 09:38:27.897 28473 28500 I Unity : Col check: tile 11 at (2,2) below 10 at (1,2)
11-21 09:38:27.897 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:27.898 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (1, 3) is VALID
11-21 09:38:27.898 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (2, 0) is VALID
11-21 09:38:27.898 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (2, 1) is VALID
11-21 09:38:27.898 28473 28500 I Unity : Checking replacement: tile 10 replacing 11 at (2,2)
11-21 09:38:27.898 28473 28500 I Unity : Board state - Row 2: [0, 0, 11, 0]
11-21 09:38:27.898 28473 28500 I Unity : Board state - Col 2: [0, 8, 11, 0]
11-21 09:38:27.898 28473 28500 I Unity : Col check: tile 8 at (1,2) above 10 at (2,2)
11-21 09:38:27.898 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:27.898 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (2, 3) failed constraints: row=False, col=True
11-21 09:38:27.898 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (3, 0) is VALID
11-21 09:38:27.898 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (3, 1) is VALID
11-21 09:38:27.899 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (3, 2) failed constraints: row=True, col=False
11-21 09:38:27.899 28473 28500 I Unity : Checking replacement: tile 10 replacing 16 at (3,3)
11-21 09:38:27.899 28473 28500 I Unity : Board state - Row 3: [0, 0, 0, 16]
11-21 09:38:27.899 28473 28500 I Unity : Board state - Col 3: [0, 0, 0, 16]
11-21 09:38:27.899 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:27.899 28473 28500 I Unity : Found 10 valid placements for tile Green 10
11-21 09:38:27.899 28473 28500 I Unity : Valid placements changed: 10 positions
11-21 09:38:27.899 28473 28500 I Unity : Highlighted 10 valid placements for Player 0
11-21 09:38:27.899 28473 28500 I Unity : [DISCARD DEBUG] Selected tile from discard pile: Number=10, TileData=Green 10, UniqueID=Green_10_1e3671e5
11-21 09:38:27.900 28473 28500 I Unity : Tile 5 selection set to: True
11-21 09:38:27.900 28473 28500 I Unity : Discard Pile: Tile 14 (index 3) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 9, Text Order: 10
11-21 09:38:27.900 28473 28500 I Unity : Discard Pile: Tile 12 (index 4) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 11, Text Order: 12
11-21 09:38:27.900 28473 28500 I Unity : Discard Pile: Tile 15 (index 5) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 13, Text Order: 14
11-21 09:38:27.900 28473 28500 I Unity : Discard Pile: Tile 15 (index 6) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 15, Text Order: 16
11-21 09:38:27.900 28473 28500 I Unity : Discard Pile: Tile 14 (index 7) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 17, Text Order: 18
11-21 09:38:27.900 28473 28500 I Unity : UpdateDiscardCount called with: 0
11-21 09:38:27.900 28473 28500 I Unity : Set discard count text to: 0
11-21 09:38:27.901 28473 28500 I Unity : Removed selected tile 10 from visual discard list (index 8)
11-21 09:38:28.792 28473 28500 I Unity : Interacting with grid cell 9 at position (1.00, 2.00)
11-21 09:38:28.792 28473 28500 I Unity : HandleTilePlacement: Attempting to place tile 10 at grid position (1.00, 2.00)
11-21 09:38:28.792 28473 28500 I Unity : HandleTilePlacement: Converted to board coordinates - row=2, col=1
11-21 09:38:28.792 28473 28500 I Unity : Cell at (1.00, 2.00) is empty - using normal placement
11-21 09:38:28.792 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (2, 1) is VALID
11-21 09:38:28.792 28473 28500 I Unity : Placement validation passed - calling GameManager.PlaceTile(2, 1)
11-21 09:38:28.792 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (2, 1) is VALID
11-21 09:38:28.793 28473 28500 I Unity : [PlayerBoard] Player 0 placed tile 10 at (2, 1) | Board now: 6/16 filled
11-21 09:38:28.793 28473 28500 I Unity : [PLACEMENT] ✓ Player 0 placed Green 10 at (2, 1) | Board: 6/16 filled | Remaining draw: 56
11-21 09:38:28.793 28473 28500 I Unity : Player 0 Board (6/16 filled):
11-21 09:38:28.793 28473 28500 I Unity : 07 -- -- --
11-21 09:38:28.793 28473 28500 I Unity : -- 07 08 --
11-21 09:38:28.793 28473 28500 I Unity : -- 10 11 --
11-21 09:38:28.793 28473 28500 I Unity : -- -- -- 16
11-21 09:38:28.793 28473 28500 I Unity : Tile placed: Player 0 placed Green 10 at (2, 1)
11-21 09:38:28.793 28473 28500 I Unity : [DISCARD DEBUG] selectedFromDiscard: NOT NULL, CurrentTileSource=DiscardPile
11-21 09:38:28.793 28473 28500 I Unity : [DISCARD DEBUG] selectedFromDiscard.TileData: NOT NULL
11-21 09:38:28.793 28473 28500 I Unity : [DISCARD DEBUG] BEFORE RESYNC - visual TileData: Green 10, UniqueID: Green_10_1e3671e5
11-21 09:38:28.794 28473 28500 I Unity : [DISCARD DEBUG] logic TileData: Green 10, UniqueID: Green_10_1e3671e5
11-21 09:38:28.794 28473 28500 I Unity : [UIDiscardDeck] Clearing selected discard tile reference for tile 10
11-21 09:38:28.794 28473 28500 I Unity : Resetting sprite renderer sprite to original: TileYellow for tile Green
11-21 09:38:28.794 28473 28500 I Unity : Tile 5 selection set to: False
11-21 09:38:28.794 28473 28500 I Unity : Tile 9 number text visibility set to: True (faceDown: False)
11-21 09:38:28.794 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=10, Color=Green, NumberText null: False
11-21 09:38:28.794 28473 28500 I Unity : Set tile text to: 10, text active: True
11-21 09:38:28.794 28473 28500 I Unity : Set sprite renderer sprite to: TileYellow for color Green (index 3)
11-21 09:38:28.794 28473 28500 I Unity : Tile 9 set to face-up
11-21 09:38:28.795 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=True, HasUnplacedTile=True, TestModeAllAI=False
11-21 09:38:28.795 28473 28500 W Unity : Tile 14: SetInteractable(True) - No Collider2D found!
11-21 09:38:28.795 28473 28500 W Unity : Tile 11: SetInteractable(True) - No Collider2D found!
11-21 09:38:28.795 28473 28500 W Unity : Tile 20: SetInteractable(True) - No Collider2D found!
11-21 09:38:28.795 28473 28500 W Unity : Tile 14: SetInteractable(True) - No Collider2D found!
11-21 09:38:28.795 28473 28500 W Unity : Tile 12: SetInteractable(True) - No Collider2D found!
11-21 09:38:28.795 28473 28500 W Unity : Tile 15: SetInteractable(True) - No Collider2D found!
11-21 09:38:28.795 28473 28500 W Unity : Tile 15: SetInteractable(True) - No Collider2D found!
11-21 09:38:28.795 28473 28500 W Unity : Tile 14: SetInteractable(True) - No Collider2D found!
11-21 09:38:28.795 28473 28500 I Unity : UIDiscardDeck interactability set to: True
11-21 09:38:28.796 28473 28500 I Unity : Tile 7: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:38:28.796 28473 28500 I Unity : Tile 7: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:38:28.796 28473 28500 I Unity : Tile 8: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:38:28.796 28473 28500 I Unity : Tile 11: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:38:28.796 28473 28500 I Unity : Tile 16: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:38:28.796 28473 28500 I Unity : Player 0 placed tiles interactivity set to: True
11-21 09:38:28.796 28473 28500 I Unity : Interactability updated for player 0
11-21 09:38:28.796 28473 28500 I Unity : Valid placements changed: 0 positions
11-21 09:38:28.796 28473 28500 I Unity : Highlighted 0 valid placements for Player 0
11-21 09:38:28.796 28473 28500 I Unity : ═══════════════════════════════════════════════════════
11-21 09:38:28.796 28473 28500 I Unity : TURN CHANGE: Player 0 → Player 1
11-21 09:38:28.796 28473 28500 I Unity : Turn #5 | Tiles Remaining: 56 | Discard Pile: 0
11-21 09:38:28.797 28473 28500 I Unity : ═══════════════════════════════════════════════════════
11-21 09:38:28.797 28473 28500 I Unity : Game state changed: Game State: Playing, Turn 5, Player 1, Draw: 56, Discard: 0
11-21 09:38:28.797 28473 28500 I Unity : Updating deck UI with remaining count: 56
11-21 09:38:28.797 28473 28500 I Unity : UpdateRemainingCount called with: 56
11-21 09:38:28.797 28473 28500 I Unity : Set deck count text to: 56
11-21 09:38:28.797 28473 28500 I Unity : Game UI updated
11-21 09:38:28.797 28473 28500 I Unity : Player turn changed to Player 1
11-21 09:38:28.797 28473 28500 I Unity : Player 0 current player status: False
11-21 09:38:28.798 28473 28500 I Unity : Player 1 current player status: True
11-21 09:38:28.798 28473 28500 I Unity : Player 2 current player status: False
11-21 09:38:28.798 28473 28500 I Unity : Player 3 current player status: False
11-21 09:38:28.798 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=False, HasUnplacedTile=False, TestModeAllAI=False
11-21 09:38:28.798 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:28.798 28473 28500 W Unity : Tile 11: SetInteractable(False) - No Collider2D found!
11-21 09:38:28.798 28473 28500 W Unity : Tile 20: SetInteractable(False) - No Collider2D found!
11-21 09:38:28.798 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:28.798 28473 28500 W Unity : Tile 12: SetInteractable(False) - No Collider2D found!
11-21 09:38:28.798 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:38:28.798 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:38:28.798 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:28.799 28473 28500 I Unity : UIDiscardDeck interactability set to: False
11-21 09:38:28.799 28473 28500 I Unity : Tile 2: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:28.799 28473 28500 I Unity : Tile 3: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:28.799 28473 28500 I Unity : Tile 12: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:28.799 28473 28500 I Unity : Tile 14: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:28.799 28473 28500 I Unity : Tile 15: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:28.799 28473 28500 I Unity : Player 1 placed tiles interactivity set to: False
11-21 09:38:28.799 28473 28500 I Unity : Interactability updated for player 1
11-21 09:38:28.799 28473 28500 I Unity : Starting AI turn for Player 1
11-21 09:38:28.799 28473 28500 I Unity : Tile 2: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:28.800 28473 28500 I Unity : ✓ Successfully placed tile 10 at (1.00, 2.00)
11-21 09:38:29.261 28473 28500 I Unity : Tile 9 animation to (-1.05, -5.59, 0.00) complete
11-21 09:38:29.261 28473 28500 I Unity : Tile 10: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:38:29.261 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=10, Color=Green, NumberText null: False
11-21 09:38:29.261 28473 28500 I Unity : Set tile text to: 10, text active: True
11-21 09:38:29.262 28473 28500 I Unity : Set sprite renderer sprite to: TileYellow for color Green (index 3)
11-21 09:38:29.262 28473 28500 I Unity : Player 0: Set particle system and all child particle renderers to sorting order 100
11-21 09:38:29.262 28473 28500 I Unity : Player 0: Triggered click particle at (-1.05, -5.59, 0.00)
11-21 09:38:29.262 28473 28500 I Unity : Animated discard tile placement for Player 0 at (1, 2)
11-21 09:38:29.796 28473 28500 I Unity : AI Player 1 (DefensiveBlocker) starting turn...
11-21 09:38:31.100 28473 28500 I Unity : AI Player 1 decision: DrawFaceDown - Draw face-down tile - unknown potential (Score: 0.99)
11-21 09:38:31.100 28473 28500 I Unity : AI Player 1 drawing from face-down pile
11-21 09:38:31.100 28473 28500 I Unity : Drew tile: Green 10 (55 tiles remaining)
11-21 09:38:31.100 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (0, 0) already occupied by 2
11-21 09:38:31.101 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (0, 1) failed constraints: row=True, col=False
11-21 09:38:31.101 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (0, 2) is VALID
11-21 09:38:31.101 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (0, 3) is VALID
11-21 09:38:31.101 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (1, 0) failed constraints: row=False, col=True
11-21 09:38:31.101 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (1, 1) already occupied by 3
11-21 09:38:31.101 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (1, 2) is VALID
11-21 09:38:31.101 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (1, 3) is VALID
11-21 09:38:31.101 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (2, 0) is VALID
11-21 09:38:31.101 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (2, 1) already occupied by 12
11-21 09:38:31.102 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (2, 2) already occupied by 14
11-21 09:38:31.102 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (2, 3) failed constraints: row=False, col=True
11-21 09:38:31.102 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (3, 0) is VALID
11-21 09:38:31.102 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (3, 1) failed constraints: row=True, col=False
11-21 09:38:31.102 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (3, 2) failed constraints: row=True, col=False
11-21 09:38:31.102 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (3, 3) already occupied by 15
11-21 09:38:31.102 28473 28500 I Unity : → Player 1 drew tile: Green 10 from DrawPile | Valid placements: 6
11-21 09:38:31.102 28473 28500 I Unity : Tile drawn: Player 1 drew Green 10
11-21 09:38:31.104 28473 28500 I Unity : UIGameTile Start: SpriteRenderer=True, NumberText=True
11-21 09:38:31.104 28473 28500 I Unity : SetTileData called with: Green 10, Color enum: 3
11-21 09:38:31.104 28473 28500 I Unity : Updated _originalSprite to: TileYellow for Green
11-21 09:38:31.104 28473 28500 I Unity : Before UpdateVisualRepresentation: _color=Green (enum: 3), GameTileSprites=4
11-21 09:38:31.104 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=10, Color=Green, NumberText null: False
11-21 09:38:31.104 28473 28500 I Unity : Set tile text to: 10, text active: True
11-21 09:38:31.105 28473 28500 I Unity : Set sprite renderer sprite to: TileYellow for color Green (index 3)
11-21 09:38:31.105 28473 28500 I Unity : Tile 0 set to Green 10
11-21 09:38:31.105 28473 28500 I Unity : Tile 0 number text visibility set to: True (faceDown: False)
11-21 09:38:31.105 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=10, Color=Green, NumberText null: False
11-21 09:38:31.105 28473 28500 I Unity : Set tile text to: 10, text active: True
11-21 09:38:31.105 28473 28500 I Unity : Set sprite renderer sprite to: TileYellow for color Green (index 3)
11-21 09:38:31.105 28473 28500 I Unity : Tile 0 set to face-up
11-21 09:38:31.105 28473 28500 I Unity : Tile 10: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:31.105 28473 28500 I Unity : Created temporary drawn tile Green 10 for opponent Player 1
11-21 09:38:31.106 28473 28500 I Unity : UpdateDiscardCount called with: 0
11-21 09:38:31.106 28473 28500 I Unity : Set discard count text to: 0
11-21 09:38:31.106 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=False, HasUnplacedTile=True, TestModeAllAI=False
11-21 09:38:31.106 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:31.106 28473 28500 W Unity : Tile 11: SetInteractable(False) - No Collider2D found!
11-21 09:38:31.106 28473 28500 W Unity : Tile 20: SetInteractable(False) - No Collider2D found!
11-21 09:38:31.106 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:31.106 28473 28500 W Unity : Tile 12: SetInteractable(False) - No Collider2D found!
11-21 09:38:31.106 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:38:31.106 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:38:31.106 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:31.107 28473 28500 I Unity : UIDiscardDeck interactability set to: False
11-21 09:38:31.107 28473 28500 I Unity : Tile 2: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:31.107 28473 28500 I Unity : Tile 3: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:31.107 28473 28500 I Unity : Tile 12: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:31.107 28473 28500 I Unity : Tile 14: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:31.107 28473 28500 I Unity : Tile 15: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:31.107 28473 28500 I Unity : Player 1 placed tiles interactivity set to: False
11-21 09:38:31.107 28473 28500 I Unity : Interactability updated for player 1
11-21 09:38:31.107 28473 28500 I Unity : Checking replacement: tile 10 replacing 2 at (0,0)
11-21 09:38:31.108 28473 28500 I Unity : Board state - Row 0: [2, 0, 0, 0]
11-21 09:38:31.108 28473 28500 I Unity : Board state - Col 0: [2, 0, 0, 0]
11-21 09:38:31.108 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:31.108 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (0, 1) failed constraints: row=True, col=False
11-21 09:38:31.108 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (0, 2) is VALID
11-21 09:38:31.108 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (0, 3) is VALID
11-21 09:38:31.108 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (1, 0) failed constraints: row=False, col=True
11-21 09:38:31.108 28473 28500 I Unity : Checking replacement: tile 10 replacing 3 at (1,1)
11-21 09:38:31.108 28473 28500 I Unity : Board state - Row 1: [0, 3, 0, 0]
11-21 09:38:31.108 28473 28500 I Unity : Board state - Col 1: [0, 3, 12, 0]
11-21 09:38:31.108 28473 28500 I Unity : Col check: tile 12 at (2,1) below 10 at (1,1)
11-21 09:38:31.109 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:31.109 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (1, 2) is VALID
11-21 09:38:31.109 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (1, 3) is VALID
11-21 09:38:31.109 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (2, 0) is VALID
11-21 09:38:31.109 28473 28500 I Unity : Checking replacement: tile 10 replacing 12 at (2,1)
11-21 09:38:31.109 28473 28500 I Unity : Board state - Row 2: [0, 12, 14, 0]
11-21 09:38:31.109 28473 28500 I Unity : Board state - Col 1: [0, 3, 12, 0]
11-21 09:38:31.109 28473 28500 I Unity : Row check: tile 14 at (2,2) to right of 10 at (2,1)
11-21 09:38:31.109 28473 28500 I Unity : Col check: tile 3 at (1,1) above 10 at (2,1)
11-21 09:38:31.109 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:31.109 28473 28500 I Unity : Checking replacement: tile 10 replacing 14 at (2,2)
11-21 09:38:31.110 28473 28500 I Unity : Board state - Row 2: [0, 12, 14, 0]
11-21 09:38:31.110 28473 28500 I Unity : Board state - Col 2: [0, 0, 14, 0]
11-21 09:38:31.110 28473 28500 I Unity : Row check: tile 12 at (2,1) to left of 10 at (2,2)
11-21 09:38:31.110 28473 28500 I Unity : ✗ Row constraint failed: 12 >= 10
11-21 09:38:31.110 28473 28500 I Unity : Replacement validation: row=False, col=True
11-21 09:38:31.110 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (2, 3) failed constraints: row=False, col=True
11-21 09:38:31.110 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (3, 0) is VALID
11-21 09:38:31.110 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (3, 1) failed constraints: row=True, col=False
11-21 09:38:31.110 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (3, 2) failed constraints: row=True, col=False
11-21 09:38:31.111 28473 28500 I Unity : Checking replacement: tile 10 replacing 15 at (3,3)
11-21 09:38:31.111 28473 28500 I Unity : Board state - Row 3: [0, 0, 0, 15]
11-21 09:38:31.111 28473 28500 I Unity : Board state - Col 3: [0, 0, 0, 15]
11-21 09:38:31.111 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:31.111 28473 28500 I Unity : Found 10 valid placements for tile Green 10
11-21 09:38:31.111 28473 28500 I Unity : Valid placements changed: 10 positions
11-21 09:38:31.111 28473 28500 I Unity : Highlighted 10 valid placements for Player 1
11-21 09:38:32.104 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (0, 0) already occupied by 2
11-21 09:38:32.104 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (0, 1) failed constraints: row=True, col=False
11-21 09:38:32.104 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (0, 2) is VALID
11-21 09:38:32.104 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (0, 3) is VALID
11-21 09:38:32.105 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (1, 0) failed constraints: row=False, col=True
11-21 09:38:32.105 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (1, 1) already occupied by 3
11-21 09:38:32.105 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (1, 2) is VALID
11-21 09:38:32.105 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (1, 3) is VALID
11-21 09:38:32.105 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (2, 0) is VALID
11-21 09:38:32.105 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (2, 1) already occupied by 12
11-21 09:38:32.105 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (2, 2) already occupied by 14
11-21 09:38:32.105 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (2, 3) failed constraints: row=False, col=True
11-21 09:38:32.105 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (3, 0) is VALID
11-21 09:38:32.105 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (3, 1) failed constraints: row=True, col=False
11-21 09:38:32.106 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (3, 2) failed constraints: row=True, col=False
11-21 09:38:32.106 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (3, 3) already occupied by 15
11-21 09:38:32.106 28473 28500 I Unity : Checking replacement: tile 10 replacing 2 at (0,0)
11-21 09:38:32.106 28473 28500 I Unity : Board state - Row 0: [2, 0, 0, 0]
11-21 09:38:32.106 28473 28500 I Unity : Board state - Col 0: [2, 0, 0, 0]
11-21 09:38:32.106 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:32.106 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (0, 1) failed constraints: row=True, col=False
11-21 09:38:32.106 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (0, 2) is VALID
11-21 09:38:32.106 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (0, 3) is VALID
11-21 09:38:32.106 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (1, 0) failed constraints: row=False, col=True
11-21 09:38:32.107 28473 28500 I Unity : Checking replacement: tile 10 replacing 3 at (1,1)
11-21 09:38:32.107 28473 28500 I Unity : Board state - Row 1: [0, 3, 0, 0]
11-21 09:38:32.107 28473 28500 I Unity : Board state - Col 1: [0, 3, 12, 0]
11-21 09:38:32.107 28473 28500 I Unity : Col check: tile 12 at (2,1) below 10 at (1,1)
11-21 09:38:32.107 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:32.107 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (1, 2) is VALID
11-21 09:38:32.107 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (1, 3) is VALID
11-21 09:38:32.107 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (2, 0) is VALID
11-21 09:38:32.107 28473 28500 I Unity : Checking replacement: tile 10 replacing 12 at (2,1)
11-21 09:38:32.108 28473 28500 I Unity : Board state - Row 2: [0, 12, 14, 0]
11-21 09:38:32.108 28473 28500 I Unity : Board state - Col 1: [0, 3, 12, 0]
11-21 09:38:32.108 28473 28500 I Unity : Row check: tile 14 at (2,2) to right of 10 at (2,1)
11-21 09:38:32.108 28473 28500 I Unity : Col check: tile 3 at (1,1) above 10 at (2,1)
11-21 09:38:32.108 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:32.108 28473 28500 I Unity : Checking replacement: tile 10 replacing 14 at (2,2)
11-21 09:38:32.108 28473 28500 I Unity : Board state - Row 2: [0, 12, 14, 0]
11-21 09:38:32.108 28473 28500 I Unity : Board state - Col 2: [0, 0, 14, 0]
11-21 09:38:32.108 28473 28500 I Unity : Row check: tile 12 at (2,1) to left of 10 at (2,2)
11-21 09:38:32.108 28473 28500 I Unity : ✗ Row constraint failed: 12 >= 10
11-21 09:38:32.108 28473 28500 I Unity : Replacement validation: row=False, col=True
11-21 09:38:32.109 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (2, 3) failed constraints: row=False, col=True
11-21 09:38:32.109 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (3, 0) is VALID
11-21 09:38:32.109 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (3, 1) failed constraints: row=True, col=False
11-21 09:38:32.109 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (3, 2) failed constraints: row=True, col=False
11-21 09:38:32.109 28473 28500 I Unity : Checking replacement: tile 10 replacing 15 at (3,3)
11-21 09:38:32.109 28473 28500 I Unity : Board state - Row 3: [0, 0, 0, 15]
11-21 09:38:32.109 28473 28500 I Unity : Board state - Col 3: [0, 0, 0, 15]
11-21 09:38:32.109 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:32.109 28473 28500 I Unity : Prefer empty-cell over replacement | emptyPolicy=1.75, replPolicy=0.02, penalty=0.50
11-21 09:38:32.110 28473 28500 I Unity : Chose empty-cell placement over replacement | emptyScore=1.75, replaceScore=0.02
11-21 09:38:32.110 28473 28500 I Unity : AI Player 1 placing tile at (2, 1)
11-21 09:38:32.110 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (1, 2) is VALID
11-21 09:38:32.110 28473 28500 I Unity : [PlayerBoard] Player 1 placed tile 10 at (1, 2) | Board now: 6/16 filled
11-21 09:38:32.110 28473 28500 I Unity : [PLACEMENT] ✓ Player 1 placed Green 10 at (1, 2) | Board: 6/16 filled | Remaining draw: 55
11-21 09:38:32.110 28473 28500 I Unity : Player 1 Board (6/16 filled):
11-21 09:38:32.110 28473 28500 I Unity : 02 -- -- --
11-21 09:38:32.110 28473 28500 I Unity : -- 03 10 --
11-21 09:38:32.111 28473 28500 I Unity : -- 12 14 --
11-21 09:38:32.111 28473 28500 I Unity : -- -- -- 15
11-21 09:38:32.111 28473 28500 I Unity : Tile placed: Player 1 placed Green 10 at (1, 2)
11-21 09:38:32.111 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=False, HasUnplacedTile=True, TestModeAllAI=False
11-21 09:38:32.111 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:32.111 28473 28500 W Unity : Tile 11: SetInteractable(False) - No Collider2D found!
11-21 09:38:32.111 28473 28500 W Unity : Tile 20: SetInteractable(False) - No Collider2D found!
11-21 09:38:32.112 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:32.112 28473 28500 W Unity : Tile 12: SetInteractable(False) - No Collider2D found!
11-21 09:38:32.112 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:38:32.112 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:38:32.112 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:32.112 28473 28500 I Unity : UIDiscardDeck interactability set to: False
11-21 09:38:32.112 28473 28500 I Unity : Tile 2: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:32.112 28473 28500 I Unity : Tile 3: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:32.112 28473 28500 I Unity : Tile 12: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:32.112 28473 28500 I Unity : Tile 14: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:32.112 28473 28500 I Unity : Tile 15: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:32.113 28473 28500 I Unity : Player 1 placed tiles interactivity set to: False
11-21 09:38:32.113 28473 28500 I Unity : Interactability updated for player 1
11-21 09:38:32.113 28473 28500 I Unity : Valid placements changed: 0 positions
11-21 09:38:32.113 28473 28500 I Unity : Highlighted 0 valid placements for Player 1
11-21 09:38:32.113 28473 28500 I Unity : ═══════════════════════════════════════════════════════
11-21 09:38:32.113 28473 28500 I Unity : TURN CHANGE: Player 1 → Player 2
11-21 09:38:32.113 28473 28500 I Unity : Turn #5 | Tiles Remaining: 55 | Discard Pile: 0
11-21 09:38:32.113 28473 28500 I Unity : ═══════════════════════════════════════════════════════
11-21 09:38:32.113 28473 28500 I Unity : Game state changed: Game State: Playing, Turn 5, Player 2, Draw: 55, Discard: 0
11-21 09:38:32.114 28473 28500 I Unity : Updating deck UI with remaining count: 55
11-21 09:38:32.114 28473 28500 I Unity : UpdateRemainingCount called with: 55
11-21 09:38:32.114 28473 28500 I Unity : Set deck count text to: 55
11-21 09:38:32.114 28473 28500 I Unity : Game UI updated
11-21 09:38:32.114 28473 28500 I Unity : Player turn changed to Player 2
11-21 09:38:32.114 28473 28500 I Unity : Player 0 current player status: False
11-21 09:38:32.114 28473 28500 I Unity : Player 1 current player status: False
11-21 09:38:32.115 28473 28500 I Unity : Player 2 current player status: True
11-21 09:38:32.115 28473 28500 I Unity : Player 3 current player status: False
11-21 09:38:32.115 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=False, HasUnplacedTile=False, TestModeAllAI=False
11-21 09:38:32.115 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:32.115 28473 28500 W Unity : Tile 11: SetInteractable(False) - No Collider2D found!
11-21 09:38:32.115 28473 28500 W Unity : Tile 20: SetInteractable(False) - No Collider2D found!
11-21 09:38:32.115 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:32.116 28473 28500 W Unity : Tile 12: SetInteractable(False) - No Collider2D found!
11-21 09:38:32.116 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:38:32.116 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:38:32.116 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:32.116 28473 28500 I Unity : UIDiscardDeck interactability set to: False
11-21 09:38:32.116 28473 28500 I Unity : Tile 13: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:32.116 28473 28500 I Unity : Tile 4: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:32.116 28473 28500 I Unity : Tile 11: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:32.116 28473 28500 I Unity : Tile 12: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:32.116 28473 28500 I Unity : Tile 14: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:32.117 28473 28500 I Unity : Tile 20: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:32.117 28473 28500 I Unity : Player 2 placed tiles interactivity set to: False
11-21 09:38:32.117 28473 28500 I Unity : Interactability updated for player 2
11-21 09:38:32.117 28473 28500 I Unity : Starting AI turn for Player 2
11-21 09:38:32.117 28473 28500 I Unity : Tile 2: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:32.604 28473 28500 I Unity : Tile 0 animation to (-4.48, 7.32, 0.00) complete
11-21 09:38:32.604 28473 28500 I Unity : Tile 6 number text visibility set to: True (faceDown: False)
11-21 09:38:32.605 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=10, Color=Green, NumberText null: False
11-21 09:38:32.605 28473 28500 I Unity : Set tile text to: 10, text active: True
11-21 09:38:32.605 28473 28500 I Unity : Set sprite renderer sprite to: TileYellow for color Green (index 3)
11-21 09:38:32.605 28473 28500 I Unity : Tile 6 set to face-up
11-21 09:38:32.605 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=10, Color=Green, NumberText null: False
11-21 09:38:32.605 28473 28500 I Unity : Set tile text to: 10, text active: True
11-21 09:38:32.605 28473 28500 I Unity : Set sprite renderer sprite to: TileYellow for color Green (index 3)
11-21 09:38:32.606 28473 28500 I Unity : Placed tile 10 on grid cell 6 at (2.00, 1.00)
11-21 09:38:32.606 28473 28500 I Unity : Animated opponent tile placement for Player 1 at (2, 1) (board scale: (0.50, 0.50, 1.00))
11-21 09:38:32.606 28473 28500 I Unity : AI Player 1 turn completed
11-21 09:38:32.606 28473 28500 I Unity : AI turn completed for Player 1
11-21 09:38:33.106 28473 28500 I Unity : AI Player 2 (MethodicalPlanner) starting turn...
11-21 09:38:36.081 28473 28500 I Unity : AI Player 2 decision: DrawFaceDown - Draw face-down tile - unknown potential (Score: 1.00)
11-21 09:38:36.081 28473 28500 I Unity : AI Player 2 drawing from face-down pile
11-21 09:38:36.081 28473 28500 I Unity : Drew tile: Purple 1 (54 tiles remaining)
11-21 09:38:36.082 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (0, 0) already occupied by 13
11-21 09:38:36.082 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 1 at (0, 1) failed constraints: row=False, col=True
11-21 09:38:36.082 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 1 at (0, 2) failed constraints: row=False, col=True
11-21 09:38:36.082 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 1 at (0, 3) failed constraints: row=False, col=True
11-21 09:38:36.082 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 1 at (1, 0) failed constraints: row=True, col=False
11-21 09:38:36.082 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (1, 1) already occupied by 4
11-21 09:38:36.082 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 1 at (1, 2) failed constraints: row=False, col=True
11-21 09:38:36.082 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 1 at (1, 3) failed constraints: row=False, col=True
11-21 09:38:36.082 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 1 at (2, 0) failed constraints: row=True, col=False
11-21 09:38:36.082 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 1 at (2, 1) failed constraints: row=True, col=False
11-21 09:38:36.083 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (2, 2) already occupied by 11
11-21 09:38:36.083 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (2, 3) already occupied by 12
11-21 09:38:36.083 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 1 at (3, 0) failed constraints: row=True, col=False
11-21 09:38:36.083 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 1 at (3, 1) failed constraints: row=True, col=False
11-21 09:38:36.083 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (3, 2) already occupied by 14
11-21 09:38:36.083 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (3, 3) already occupied by 20
11-21 09:38:36.083 28473 28500 I Unity : → Player 2 drew tile: Purple 1 from DrawPile | Valid placements: 0
11-21 09:38:36.083 28473 28500 I Unity : Tile drawn: Player 2 drew Purple 1
11-21 09:38:36.085 28473 28500 I Unity : UIGameTile Start: SpriteRenderer=True, NumberText=True
11-21 09:38:36.085 28473 28500 I Unity : SetTileData called with: Purple 1, Color enum: 2
11-21 09:38:36.085 28473 28500 I Unity : Updated _originalSprite to: TileRed for Purple
11-21 09:38:36.085 28473 28500 I Unity : Before UpdateVisualRepresentation: _color=Purple (enum: 2), GameTileSprites=4
11-21 09:38:36.085 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=1, Color=Purple, NumberText null: False
11-21 09:38:36.085 28473 28500 I Unity : Set tile text to: 1, text active: True
11-21 09:38:36.086 28473 28500 I Unity : Set sprite renderer sprite to: TileRed for color Purple (index 2)
11-21 09:38:36.086 28473 28500 I Unity : Tile 0 set to Purple 1
11-21 09:38:36.086 28473 28500 I Unity : Tile 0 number text visibility set to: True (faceDown: False)
11-21 09:38:36.086 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=1, Color=Purple, NumberText null: False
11-21 09:38:36.086 28473 28500 I Unity : Set tile text to: 1, text active: True
11-21 09:38:36.086 28473 28500 I Unity : Set sprite renderer sprite to: TileRed for color Purple (index 2)
11-21 09:38:36.086 28473 28500 I Unity : Tile 0 set to face-up
11-21 09:38:36.086 28473 28500 I Unity : Tile 1: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:36.087 28473 28500 I Unity : Created temporary drawn tile Purple 1 for opponent Player 2
11-21 09:38:36.087 28473 28500 I Unity : UpdateDiscardCount called with: 0
11-21 09:38:36.087 28473 28500 I Unity : Set discard count text to: 0
11-21 09:38:36.087 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=False, HasUnplacedTile=True, TestModeAllAI=False
11-21 09:38:36.087 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:36.087 28473 28500 W Unity : Tile 11: SetInteractable(False) - No Collider2D found!
11-21 09:38:36.087 28473 28500 W Unity : Tile 20: SetInteractable(False) - No Collider2D found!
11-21 09:38:36.087 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:36.087 28473 28500 W Unity : Tile 12: SetInteractable(False) - No Collider2D found!
11-21 09:38:36.088 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:38:36.088 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:38:36.088 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:36.088 28473 28500 I Unity : UIDiscardDeck interactability set to: False
11-21 09:38:36.088 28473 28500 I Unity : Tile 13: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:36.088 28473 28500 I Unity : Tile 4: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:36.088 28473 28500 I Unity : Tile 11: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:36.088 28473 28500 I Unity : Tile 12: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:36.088 28473 28500 I Unity : Tile 14: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:36.088 28473 28500 I Unity : Tile 20: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:36.088 28473 28500 I Unity : Player 2 placed tiles interactivity set to: False
11-21 09:38:36.089 28473 28500 I Unity : Interactability updated for player 2
11-21 09:38:36.089 28473 28500 I Unity : Checking replacement: tile 1 replacing 13 at (0,0)
11-21 09:38:36.089 28473 28500 I Unity : Board state - Row 0: [13, 0, 0, 0]
11-21 09:38:36.089 28473 28500 I Unity : Board state - Col 0: [13, 0, 0, 0]
11-21 09:38:36.089 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:36.089 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 1 at (0, 1) failed constraints: row=False, col=True
11-21 09:38:36.089 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 1 at (0, 2) failed constraints: row=False, col=True
11-21 09:38:36.089 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 1 at (0, 3) failed constraints: row=False, col=True
11-21 09:38:36.089 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 1 at (1, 0) failed constraints: row=True, col=False
11-21 09:38:36.089 28473 28500 I Unity : Checking replacement: tile 1 replacing 4 at (1,1)
11-21 09:38:36.090 28473 28500 I Unity : Board state - Row 1: [0, 4, 0, 0]
11-21 09:38:36.090 28473 28500 I Unity : Board state - Col 1: [0, 4, 0, 0]
11-21 09:38:36.090 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:36.090 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 1 at (1, 2) failed constraints: row=False, col=True
11-21 09:38:36.090 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 1 at (1, 3) failed constraints: row=False, col=True
11-21 09:38:36.090 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 1 at (2, 0) failed constraints: row=True, col=False
11-21 09:38:36.090 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 1 at (2, 1) failed constraints: row=True, col=False
11-21 09:38:36.090 28473 28500 I Unity : Checking replacement: tile 1 replacing 11 at (2,2)
11-21 09:38:36.090 28473 28500 I Unity : Board state - Row 2: [0, 0, 11, 12]
11-21 09:38:36.090 28473 28500 I Unity : Board state - Col 2: [0, 0, 11, 14]
11-21 09:38:36.090 28473 28500 I Unity : Row check: tile 12 at (2,3) to right of 1 at (2,2)
11-21 09:38:36.091 28473 28500 I Unity : Col check: tile 14 at (3,2) below 1 at (2,2)
11-21 09:38:36.091 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:36.091 28473 28500 I Unity : Checking replacement: tile 1 replacing 12 at (2,3)
11-21 09:38:36.091 28473 28500 I Unity : Board state - Row 2: [0, 0, 11, 12]
11-21 09:38:36.091 28473 28500 I Unity : Board state - Col 3: [0, 0, 12, 20]
11-21 09:38:36.091 28473 28500 I Unity : Row check: tile 11 at (2,2) to left of 1 at (2,3)
11-21 09:38:36.091 28473 28500 I Unity : ✗ Row constraint failed: 11 >= 1
11-21 09:38:36.091 28473 28500 I Unity : Col check: tile 20 at (3,3) below 1 at (2,3)
11-21 09:38:36.091 28473 28500 I Unity : Replacement validation: row=False, col=True
11-21 09:38:36.091 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 1 at (3, 0) failed constraints: row=True, col=False
11-21 09:38:36.092 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 1 at (3, 1) failed constraints: row=True, col=False
11-21 09:38:36.092 28473 28500 I Unity : Checking replacement: tile 1 replacing 14 at (3,2)
11-21 09:38:36.092 28473 28500 I Unity : Board state - Row 3: [0, 0, 14, 20]
11-21 09:38:36.092 28473 28500 I Unity : Board state - Col 2: [0, 0, 11, 14]
11-21 09:38:36.092 28473 28500 I Unity : Row check: tile 20 at (3,3) to right of 1 at (3,2)
11-21 09:38:36.092 28473 28500 I Unity : Col check: tile 11 at (2,2) above 1 at (3,2)
11-21 09:38:36.092 28473 28500 I Unity : ✗ Column constraint failed: 11 >= 1
11-21 09:38:36.092 28473 28500 I Unity : Replacement validation: row=True, col=False
11-21 09:38:36.092 28473 28500 I Unity : Checking replacement: tile 1 replacing 20 at (3,3)
11-21 09:38:36.092 28473 28500 I Unity : Board state - Row 3: [0, 0, 14, 20]
11-21 09:38:36.092 28473 28500 I Unity : Board state - Col 3: [0, 0, 12, 20]
11-21 09:38:36.093 28473 28500 I Unity : Row check: tile 14 at (3,2) to left of 1 at (3,3)
11-21 09:38:36.093 28473 28500 I Unity : ✗ Row constraint failed: 14 >= 1
11-21 09:38:36.093 28473 28500 I Unity : Col check: tile 12 at (2,3) above 1 at (3,3)
11-21 09:38:36.093 28473 28500 I Unity : ✗ Column constraint failed: 12 >= 1
11-21 09:38:36.093 28473 28500 I Unity : Replacement validation: row=False, col=False
11-21 09:38:36.093 28473 28500 I Unity : Found 3 valid placements for tile Purple 1
11-21 09:38:36.093 28473 28500 I Unity : Valid placements changed: 3 positions
11-21 09:38:36.093 28473 28500 I Unity : Highlighted 3 valid placements for Player 2
11-21 09:38:37.080 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (0, 0) already occupied by 13
11-21 09:38:37.080 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 1 at (0, 1) failed constraints: row=False, col=True
11-21 09:38:37.080 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 1 at (0, 2) failed constraints: row=False, col=True
11-21 09:38:37.080 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 1 at (0, 3) failed constraints: row=False, col=True
11-21 09:38:37.080 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 1 at (1, 0) failed constraints: row=True, col=False
11-21 09:38:37.081 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (1, 1) already occupied by 4
11-21 09:38:37.081 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 1 at (1, 2) failed constraints: row=False, col=True
11-21 09:38:37.081 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 1 at (1, 3) failed constraints: row=False, col=True
11-21 09:38:37.081 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 1 at (2, 0) failed constraints: row=True, col=False
11-21 09:38:37.081 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 1 at (2, 1) failed constraints: row=True, col=False
11-21 09:38:37.081 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (2, 2) already occupied by 11
11-21 09:38:37.081 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (2, 3) already occupied by 12
11-21 09:38:37.081 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 1 at (3, 0) failed constraints: row=True, col=False
11-21 09:38:37.081 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 1 at (3, 1) failed constraints: row=True, col=False
11-21 09:38:37.081 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (3, 2) already occupied by 14
11-21 09:38:37.082 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (3, 3) already occupied by 20
11-21 09:38:37.082 28473 28500 I Unity : Checking replacement: tile 1 replacing 13 at (0,0)
11-21 09:38:37.082 28473 28500 I Unity : Board state - Row 0: [13, 0, 0, 0]
11-21 09:38:37.082 28473 28500 I Unity : Board state - Col 0: [13, 0, 0, 0]
11-21 09:38:37.082 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:37.082 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 1 at (0, 1) failed constraints: row=False, col=True
11-21 09:38:37.082 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 1 at (0, 2) failed constraints: row=False, col=True
11-21 09:38:37.082 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 1 at (0, 3) failed constraints: row=False, col=True
11-21 09:38:37.082 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 1 at (1, 0) failed constraints: row=True, col=False
11-21 09:38:37.082 28473 28500 I Unity : Checking replacement: tile 1 replacing 4 at (1,1)
11-21 09:38:37.083 28473 28500 I Unity : Board state - Row 1: [0, 4, 0, 0]
11-21 09:38:37.083 28473 28500 I Unity : Board state - Col 1: [0, 4, 0, 0]
11-21 09:38:37.083 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:37.083 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 1 at (1, 2) failed constraints: row=False, col=True
11-21 09:38:37.083 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 1 at (1, 3) failed constraints: row=False, col=True
11-21 09:38:37.083 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 1 at (2, 0) failed constraints: row=True, col=False
11-21 09:38:37.083 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 1 at (2, 1) failed constraints: row=True, col=False
11-21 09:38:37.083 28473 28500 I Unity : Checking replacement: tile 1 replacing 11 at (2,2)
11-21 09:38:37.083 28473 28500 I Unity : Board state - Row 2: [0, 0, 11, 12]
11-21 09:38:37.084 28473 28500 I Unity : Board state - Col 2: [0, 0, 11, 14]
11-21 09:38:37.084 28473 28500 I Unity : Row check: tile 12 at (2,3) to right of 1 at (2,2)
11-21 09:38:37.084 28473 28500 I Unity : Col check: tile 14 at (3,2) below 1 at (2,2)
11-21 09:38:37.084 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:37.084 28473 28500 I Unity : Checking replacement: tile 1 replacing 12 at (2,3)
11-21 09:38:37.084 28473 28500 I Unity : Board state - Row 2: [0, 0, 11, 12]
11-21 09:38:37.084 28473 28500 I Unity : Board state - Col 3: [0, 0, 12, 20]
11-21 09:38:37.084 28473 28500 I Unity : Row check: tile 11 at (2,2) to left of 1 at (2,3)
11-21 09:38:37.084 28473 28500 I Unity : ✗ Row constraint failed: 11 >= 1
11-21 09:38:37.084 28473 28500 I Unity : Col check: tile 20 at (3,3) below 1 at (2,3)
11-21 09:38:37.084 28473 28500 I Unity : Replacement validation: row=False, col=True
11-21 09:38:37.085 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 1 at (3, 0) failed constraints: row=True, col=False
11-21 09:38:37.085 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 1 at (3, 1) failed constraints: row=True, col=False
11-21 09:38:37.085 28473 28500 I Unity : Checking replacement: tile 1 replacing 14 at (3,2)
11-21 09:38:37.085 28473 28500 I Unity : Board state - Row 3: [0, 0, 14, 20]
11-21 09:38:37.085 28473 28500 I Unity : Board state - Col 2: [0, 0, 11, 14]
11-21 09:38:37.085 28473 28500 I Unity : Row check: tile 20 at (3,3) to right of 1 at (3,2)
11-21 09:38:37.085 28473 28500 I Unity : Col check: tile 11 at (2,2) above 1 at (3,2)
11-21 09:38:37.085 28473 28500 I Unity : ✗ Column constraint failed: 11 >= 1
11-21 09:38:37.085 28473 28500 I Unity : Replacement validation: row=True, col=False
11-21 09:38:37.085 28473 28500 I Unity : Checking replacement: tile 1 replacing 20 at (3,3)
11-21 09:38:37.086 28473 28500 I Unity : Board state - Row 3: [0, 0, 14, 20]
11-21 09:38:37.086 28473 28500 I Unity : Board state - Col 3: [0, 0, 12, 20]
11-21 09:38:37.086 28473 28500 I Unity : Row check: tile 14 at (3,2) to left of 1 at (3,3)
11-21 09:38:37.086 28473 28500 I Unity : ✗ Row constraint failed: 14 >= 1
11-21 09:38:37.086 28473 28500 I Unity : Col check: tile 12 at (2,3) above 1 at (3,3)
11-21 09:38:37.086 28473 28500 I Unity : ✗ Column constraint failed: 12 >= 1
11-21 09:38:37.086 28473 28500 I Unity : Replacement validation: row=False, col=False
11-21 09:38:37.086 28473 28500 I Unity : AI Player 2 replacement decision: Replacement chosen (no beneficial empty) | pot=0.37, policy=-0.13
11-21 09:38:37.087 28473 28500 I Unity : AI Player 2 replacing tile at (0, 0)
11-21 09:38:37.087 28473 28500 I Unity : Checking replacement: tile 1 replacing 13 at (0,0)
11-21 09:38:37.087 28473 28500 I Unity : Board state - Row 0: [13, 0, 0, 0]
11-21 09:38:37.087 28473 28500 I Unity : Board state - Col 0: [13, 0, 0, 0]
11-21 09:38:37.087 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:37.087 28473 28500 I Unity : Replacing tile 13 at (0, 0) with Purple 1
11-21 09:38:37.087 28473 28500 I Unity : Discarded tile: Purple 13 (1 tiles in discard pile)
11-21 09:38:37.088 28473 28500 I Unity : Tile discarded: Player 2 discarded Purple 13
11-21 09:38:37.088 28473 28500 I Unity : [DISCARD DEBUG] Cached logical discarded tile for player 2: Purple 13
11-21 09:38:37.088 28473 28500 I Unity : [PlayerBoard] Player 2 removed tile 13 from (0, 0) | Board now: 5/16 filled
11-21 09:38:37.088 28473 28500 I Unity : [PlayerBoard] Player 2 placed tile 01 at (0, 0) | Board now: 6/16 filled
11-21 09:38:37.088 28473 28500 I Unity : Player 2 placed Purple 1 with replacement at (0, 0)
11-21 09:38:37.088 28473 28500 I Unity : Player 2 Board (6/16 filled):
11-21 09:38:37.088 28473 28500 I Unity : 01 -- -- --
11-21 09:38:37.088 28473 28500 I Unity : -- 04 -- --
11-21 09:38:37.088 28473 28500 I Unity : -- -- 11 12
11-21 09:38:37.088 28473 28500 I Unity : -- -- 14 20
11-21 09:38:37.089 28473 28500 I Unity : Tile placed: Player 2 placed Purple 1 at (0, 0)
11-21 09:38:37.089 28473 28500 I Unity : Opponent replacing tile 13 with 1 at (0, 0)
11-21 09:38:37.089 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=False, HasUnplacedTile=True, TestModeAllAI=False
11-21 09:38:37.089 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:37.089 28473 28500 W Unity : Tile 11: SetInteractable(False) - No Collider2D found!
11-21 09:38:37.089 28473 28500 W Unity : Tile 20: SetInteractable(False) - No Collider2D found!
11-21 09:38:37.090 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:37.090 28473 28500 W Unity : Tile 12: SetInteractable(False) - No Collider2D found!
11-21 09:38:37.090 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:38:37.090 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:38:37.090 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:37.090 28473 28500 I Unity : UIDiscardDeck interactability set to: False
11-21 09:38:37.090 28473 28500 I Unity : Tile 13: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:37.090 28473 28500 I Unity : Tile 4: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:37.090 28473 28500 I Unity : Tile 11: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:37.090 28473 28500 I Unity : Tile 12: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:37.091 28473 28500 I Unity : Tile 14: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:37.091 28473 28500 I Unity : Tile 20: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:37.091 28473 28500 I Unity : Player 2 placed tiles interactivity set to: False
11-21 09:38:37.091 28473 28500 I Unity : Interactability updated for player 2
11-21 09:38:37.091 28473 28500 I Unity : Valid placements changed: 0 positions
11-21 09:38:37.091 28473 28500 I Unity : Highlighted 0 valid placements for Player 2
11-21 09:38:37.091 28473 28500 I Unity : ═══════════════════════════════════════════════════════
11-21 09:38:37.091 28473 28500 I Unity : TURN CHANGE: Player 2 → Player 3
11-21 09:38:37.091 28473 28500 I Unity : Turn #5 | Tiles Remaining: 54 | Discard Pile: 1
11-21 09:38:37.092 28473 28500 I Unity : ═══════════════════════════════════════════════════════
11-21 09:38:37.092 28473 28500 I Unity : Game state changed: Game State: Playing, Turn 5, Player 3, Draw: 54, Discard: 1
11-21 09:38:37.092 28473 28500 I Unity : Updating deck UI with remaining count: 54
11-21 09:38:37.092 28473 28500 I Unity : UpdateRemainingCount called with: 54
11-21 09:38:37.092 28473 28500 I Unity : Set deck count text to: 54
11-21 09:38:37.092 28473 28500 I Unity : Game UI updated
11-21 09:38:37.092 28473 28500 I Unity : Player turn changed to Player 3
11-21 09:38:37.092 28473 28500 I Unity : Player 0 current player status: False
11-21 09:38:37.093 28473 28500 I Unity : Player 1 current player status: False
11-21 09:38:37.093 28473 28500 I Unity : Player 2 current player status: False
11-21 09:38:37.093 28473 28500 I Unity : Player 3 current player status: True
11-21 09:38:37.093 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=False, HasUnplacedTile=False, TestModeAllAI=False
11-21 09:38:37.093 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:37.094 28473 28500 W Unity : Tile 11: SetInteractable(False) - No Collider2D found!
11-21 09:38:37.094 28473 28500 W Unity : Tile 20: SetInteractable(False) - No Collider2D found!
11-21 09:38:37.094 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:37.094 28473 28500 W Unity : Tile 12: SetInteractable(False) - No Collider2D found!
11-21 09:38:37.094 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:38:37.094 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:38:37.094 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:37.094 28473 28500 I Unity : UIDiscardDeck interactability set to: False
11-21 09:38:37.094 28473 28500 I Unity : Tile 7: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:37.094 28473 28500 I Unity : Tile 6: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:37.095 28473 28500 I Unity : Tile 11: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:37.095 28473 28500 I Unity : Tile 14: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:37.095 28473 28500 I Unity : Tile 15: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:37.095 28473 28500 I Unity : Tile 20: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:37.095 28473 28500 I Unity : Player 3 placed tiles interactivity set to: False
11-21 09:38:37.095 28473 28500 I Unity : Interactability updated for player 3
11-21 09:38:37.095 28473 28500 I Unity : Starting AI turn for Player 3
11-21 09:38:37.095 28473 28500 I Unity : Tile 2: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:37.381 28473 28500 I Unity : Tile 0 animation to (2.00, 1.99, 0.00) complete
11-21 09:38:37.381 28473 28500 I Unity : SetTileData called with: Purple 13, Color enum: 2
11-21 09:38:37.381 28473 28500 I Unity : Updated _originalSprite to: TileRed for Purple
11-21 09:38:37.382 28473 28500 I Unity : Before UpdateVisualRepresentation: _color=Purple (enum: 2), GameTileSprites=4
11-21 09:38:37.382 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=13, Color=Purple, NumberText null: False
11-21 09:38:37.382 28473 28500 I Unity : Set tile text to: 13, text active: True
11-21 09:38:37.382 28473 28500 I Unity : Set sprite renderer sprite to: TileRed for color Purple (index 2)
11-21 09:38:37.382 28473 28500 I Unity : Tile 0 set to Purple 13
11-21 09:38:37.382 28473 28500 I Unity : Tile 13: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:38:37.383 28473 28500 I Unity : [UIDiscardDeck] Destroyed collider for discard pile tile 13
11-21 09:38:37.383 28473 28500 I Unity : Tile 13: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:37.383 28473 28500 I Unity : Discard Pile: Tile 12 (index 4) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 11, Text Order: 12
11-21 09:38:37.383 28473 28500 I Unity : Discard Pile: Tile 15 (index 5) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 13, Text Order: 14
11-21 09:38:37.383 28473 28500 I Unity : Discard Pile: Tile 15 (index 6) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 15, Text Order: 16
11-21 09:38:37.383 28473 28500 I Unity : Discard Pile: Tile 14 (index 7) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 17, Text Order: 18
11-21 09:38:37.384 28473 28500 I Unity : Discard Pile: Tile 13 (index 8) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 19, Text Order: 20
11-21 09:38:37.384 28473 28500 I Unity : UpdateDiscardCount called with: 1
11-21 09:38:37.384 28473 28500 I Unity : Set discard count text to: 1
11-21 09:38:37.384 28473 28500 I Unity : [UIDiscardDeck] Added tile 13 to discard deck (9 total)
11-21 09:38:37.384 28473 28500 I Unity : UpdateDiscardCount called with: 1
11-21 09:38:37.384 28473 28500 I Unity : Set discard count text to: 1
11-21 09:38:37.582 28473 28500 I Unity : Tile 0 animation to (-1.58, 8.37, 0.00) complete
11-21 09:38:37.582 28473 28500 I Unity : Tile 0 number text visibility set to: True (faceDown: False)
11-21 09:38:37.582 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=1, Color=Purple, NumberText null: False
11-21 09:38:37.582 28473 28500 I Unity : Set tile text to: 1, text active: True
11-21 09:38:37.582 28473 28500 I Unity : Set sprite renderer sprite to: TileRed for color Purple (index 2)
11-21 09:38:37.583 28473 28500 I Unity : Tile 0 set to face-up
11-21 09:38:37.583 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=1, Color=Purple, NumberText null: False
11-21 09:38:37.583 28473 28500 I Unity : Set tile text to: 1, text active: True
11-21 09:38:37.583 28473 28500 I Unity : Set sprite renderer sprite to: TileRed for color Purple (index 2)
11-21 09:38:37.583 28473 28500 I Unity : Placed tile 1 on grid cell 0 at (0.00, 0.00)
11-21 09:38:37.583 28473 28500 I Unity : Animated opponent tile placement for Player 2 at (0, 0) (board scale: (0.50, 0.50, 1.00))
11-21 09:38:37.584 28473 28500 I Unity : AI Player 2 turn completed
11-21 09:38:37.584 28473 28500 I Unity : AI turn completed for Player 2
11-21 09:38:38.083 28473 28500 I Unity : AI Player 3 (MethodicalPlanner) starting turn...
11-21 09:38:40.918 28473 28500 I Unity : Checking replacement: tile 13 replacing 7 at (0,0)
11-21 09:38:40.918 28473 28500 I Unity : Board state - Row 0: [7, 0, 0, 0]
11-21 09:38:40.918 28473 28500 I Unity : Board state - Col 0: [7, 0, 0, 0]
11-21 09:38:40.918 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:40.919 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (0, 1) failed constraints: row=True, col=False
11-21 09:38:40.919 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (0, 2) is VALID
11-21 09:38:40.919 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (0, 3) is VALID
11-21 09:38:40.919 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (1, 0) failed constraints: row=False, col=True
11-21 09:38:40.919 28473 28500 I Unity : Checking replacement: tile 13 replacing 6 at (1,1)
11-21 09:38:40.919 28473 28500 I Unity : Board state - Row 1: [0, 6, 0, 0]
11-21 09:38:40.919 28473 28500 I Unity : Board state - Col 1: [0, 6, 11, 0]
11-21 09:38:40.919 28473 28500 I Unity : Col check: tile 11 at (2,1) below 13 at (1,1)
11-21 09:38:40.920 28473 28500 I Unity : ✗ Column constraint failed: 11 <= 13
11-21 09:38:40.920 28473 28500 I Unity : Replacement validation: row=True, col=False
11-21 09:38:40.920 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (1, 2) is VALID
11-21 09:38:40.920 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (1, 3) is VALID
11-21 09:38:40.920 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (2, 0) failed constraints: row=False, col=True
11-21 09:38:40.920 28473 28500 I Unity : Checking replacement: tile 13 replacing 11 at (2,1)
11-21 09:38:40.920 28473 28500 I Unity : Board state - Row 2: [0, 11, 14, 15]
11-21 09:38:40.920 28473 28500 I Unity : Board state - Col 1: [0, 6, 11, 0]
11-21 09:38:40.920 28473 28500 I Unity : Row check: tile 14 at (2,2) to right of 13 at (2,1)
11-21 09:38:40.921 28473 28500 I Unity : Col check: tile 6 at (1,1) above 13 at (2,1)
11-21 09:38:40.921 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:40.921 28473 28500 I Unity : Checking replacement: tile 13 replacing 14 at (2,2)
11-21 09:38:40.921 28473 28500 I Unity : Board state - Row 2: [0, 11, 14, 15]
11-21 09:38:40.921 28473 28500 I Unity : Board state - Col 2: [0, 0, 14, 0]
11-21 09:38:40.921 28473 28500 I Unity : Row check: tile 11 at (2,1) to left of 13 at (2,2)
11-21 09:38:40.921 28473 28500 I Unity : Row check: tile 15 at (2,3) to right of 13 at (2,2)
11-21 09:38:40.922 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:40.922 28473 28500 I Unity : Checking replacement: tile 13 replacing 15 at (2,3)
11-21 09:38:40.922 28473 28500 I Unity : Board state - Row 2: [0, 11, 14, 15]
11-21 09:38:40.922 28473 28500 I Unity : Board state - Col 3: [0, 0, 15, 20]
11-21 09:38:40.922 28473 28500 I Unity : Row check: tile 14 at (2,2) to left of 13 at (2,3)
11-21 09:38:40.922 28473 28500 I Unity : ✗ Row constraint failed: 14 >= 13
11-21 09:38:40.922 28473 28500 I Unity : Col check: tile 20 at (3,3) below 13 at (2,3)
11-21 09:38:40.922 28473 28500 I Unity : Replacement validation: row=False, col=True
11-21 09:38:40.922 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (3, 0) is VALID
11-21 09:38:40.923 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (3, 1) is VALID
11-21 09:38:40.923 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (3, 2) failed constraints: row=True, col=False
11-21 09:38:40.923 28473 28500 I Unity : Checking replacement: tile 13 replacing 20 at (3,3)
11-21 09:38:40.923 28473 28500 I Unity : Board state - Row 3: [0, 0, 0, 20]
11-21 09:38:40.923 28473 28500 I Unity : Board state - Col 3: [0, 0, 15, 20]
11-21 09:38:40.923 28473 28500 I Unity : Col check: tile 15 at (2,3) above 13 at (3,3)
11-21 09:38:40.923 28473 28500 I Unity : ✗ Column constraint failed: 15 >= 13
11-21 09:38:40.923 28473 28500 I Unity : Replacement validation: row=True, col=False
11-21 09:38:40.924 28473 28500 I Unity : AI Player 3 decision: TakeFaceUp - Top discard Purple 13 has beneficial placement(s): 7 (Score: 0.90)
11-21 09:38:40.924 28473 28500 I Unity : AI Player 3 taking tile 0 from discard pile
11-21 09:38:40.924 28473 28500 I Unity : Took discarded tile: Purple 13 from index 0
11-21 09:38:40.924 28473 28500 I Unity : Player 3 took discarded tile: Purple 13 from DiscardPile
11-21 09:38:40.924 28473 28500 I Unity : Tile drawn: Player 3 drew Purple 13
11-21 09:38:40.925 28473 28500 I Unity : UIGameTile Start: SpriteRenderer=True, NumberText=True
11-21 09:38:40.925 28473 28500 I Unity : SetTileData called with: Purple 13, Color enum: 2
11-21 09:38:40.926 28473 28500 I Unity : Updated _originalSprite to: TileRed for Purple
11-21 09:38:40.926 28473 28500 I Unity : Before UpdateVisualRepresentation: _color=Purple (enum: 2), GameTileSprites=4
11-21 09:38:40.926 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=13, Color=Purple, NumberText null: False
11-21 09:38:40.926 28473 28500 I Unity : Set tile text to: 13, text active: True
11-21 09:38:40.926 28473 28500 I Unity : Set sprite renderer sprite to: TileRed for color Purple (index 2)
11-21 09:38:40.926 28473 28500 I Unity : Tile 0 set to Purple 13
11-21 09:38:40.926 28473 28500 I Unity : Tile 0 number text visibility set to: True (faceDown: False)
11-21 09:38:40.927 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=13, Color=Purple, NumberText null: False
11-21 09:38:40.927 28473 28500 I Unity : Set tile text to: 13, text active: True
11-21 09:38:40.927 28473 28500 I Unity : Set sprite renderer sprite to: TileRed for color Purple (index 2)
11-21 09:38:40.927 28473 28500 I Unity : Tile 0 set to face-up
11-21 09:38:40.927 28473 28500 I Unity : Tile 13: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:40.927 28473 28500 I Unity : Created temporary drawn tile Purple 13 for opponent Player 3
11-21 09:38:40.927 28473 28500 I Unity : UpdateDiscardCount called with: 0
11-21 09:38:40.927 28473 28500 I Unity : Set discard count text to: 0
11-21 09:38:40.928 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=False, HasUnplacedTile=True, TestModeAllAI=False
11-21 09:38:40.928 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:40.928 28473 28500 W Unity : Tile 11: SetInteractable(False) - No Collider2D found!
11-21 09:38:40.928 28473 28500 W Unity : Tile 20: SetInteractable(False) - No Collider2D found!
11-21 09:38:40.928 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:40.928 28473 28500 W Unity : Tile 12: SetInteractable(False) - No Collider2D found!
11-21 09:38:40.928 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:38:40.928 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:38:40.928 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:40.928 28473 28500 W Unity : Tile 13: SetInteractable(False) - No Collider2D found!
11-21 09:38:40.929 28473 28500 I Unity : UIDiscardDeck interactability set to: False
11-21 09:38:40.929 28473 28500 I Unity : Tile 7: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:40.929 28473 28500 I Unity : Tile 6: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:40.929 28473 28500 I Unity : Tile 11: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:40.929 28473 28500 I Unity : Tile 14: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:40.929 28473 28500 I Unity : Tile 15: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:40.929 28473 28500 I Unity : Tile 20: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:40.929 28473 28500 I Unity : Player 3 placed tiles interactivity set to: False
11-21 09:38:40.929 28473 28500 I Unity : Interactability updated for player 3
11-21 09:38:40.930 28473 28500 I Unity : Checking replacement: tile 13 replacing 7 at (0,0)
11-21 09:38:40.930 28473 28500 I Unity : Board state - Row 0: [7, 0, 0, 0]
11-21 09:38:40.930 28473 28500 I Unity : Board state - Col 0: [7, 0, 0, 0]
11-21 09:38:40.930 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:40.930 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (0, 1) failed constraints: row=True, col=False
11-21 09:38:40.930 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (0, 2) is VALID
11-21 09:38:40.930 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (0, 3) is VALID
11-21 09:38:40.930 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (1, 0) failed constraints: row=False, col=True
11-21 09:38:40.930 28473 28500 I Unity : Checking replacement: tile 13 replacing 6 at (1,1)
11-21 09:38:40.930 28473 28500 I Unity : Board state - Row 1: [0, 6, 0, 0]
11-21 09:38:40.931 28473 28500 I Unity : Board state - Col 1: [0, 6, 11, 0]
11-21 09:38:40.931 28473 28500 I Unity : Col check: tile 11 at (2,1) below 13 at (1,1)
11-21 09:38:40.931 28473 28500 I Unity : ✗ Column constraint failed: 11 <= 13
11-21 09:38:40.931 28473 28500 I Unity : Replacement validation: row=True, col=False
11-21 09:38:40.931 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (1, 2) is VALID
11-21 09:38:40.931 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (1, 3) is VALID
11-21 09:38:40.931 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (2, 0) failed constraints: row=False, col=True
11-21 09:38:40.931 28473 28500 I Unity : Checking replacement: tile 13 replacing 11 at (2,1)
11-21 09:38:40.932 28473 28500 I Unity : Board state - Row 2: [0, 11, 14, 15]
11-21 09:38:40.932 28473 28500 I Unity : Board state - Col 1: [0, 6, 11, 0]
11-21 09:38:40.932 28473 28500 I Unity : Row check: tile 14 at (2,2) to right of 13 at (2,1)
11-21 09:38:40.932 28473 28500 I Unity : Col check: tile 6 at (1,1) above 13 at (2,1)
11-21 09:38:40.932 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:40.932 28473 28500 I Unity : Checking replacement: tile 13 replacing 14 at (2,2)
11-21 09:38:40.932 28473 28500 I Unity : Board state - Row 2: [0, 11, 14, 15]
11-21 09:38:40.932 28473 28500 I Unity : Board state - Col 2: [0, 0, 14, 0]
11-21 09:38:40.932 28473 28500 I Unity : Row check: tile 11 at (2,1) to left of 13 at (2,2)
11-21 09:38:40.933 28473 28500 I Unity : Row check: tile 15 at (2,3) to right of 13 at (2,2)
11-21 09:38:40.933 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:40.933 28473 28500 I Unity : Checking replacement: tile 13 replacing 15 at (2,3)
11-21 09:38:40.933 28473 28500 I Unity : Board state - Row 2: [0, 11, 14, 15]
11-21 09:38:40.933 28473 28500 I Unity : Board state - Col 3: [0, 0, 15, 20]
11-21 09:38:40.933 28473 28500 I Unity : Row check: tile 14 at (2,2) to left of 13 at (2,3)
11-21 09:38:40.933 28473 28500 I Unity : ✗ Row constraint failed: 14 >= 13
11-21 09:38:40.933 28473 28500 I Unity : Col check: tile 20 at (3,3) below 13 at (2,3)
11-21 09:38:40.933 28473 28500 I Unity : Replacement validation: row=False, col=True
11-21 09:38:40.934 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (3, 0) is VALID
11-21 09:38:40.934 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (3, 1) is VALID
11-21 09:38:40.934 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (3, 2) failed constraints: row=True, col=False
11-21 09:38:40.934 28473 28500 I Unity : Checking replacement: tile 13 replacing 20 at (3,3)
11-21 09:38:40.934 28473 28500 I Unity : Board state - Row 3: [0, 0, 0, 20]
11-21 09:38:40.934 28473 28500 I Unity : Board state - Col 3: [0, 0, 15, 20]
11-21 09:38:40.934 28473 28500 I Unity : Col check: tile 15 at (2,3) above 13 at (3,3)
11-21 09:38:40.934 28473 28500 I Unity : ✗ Column constraint failed: 15 >= 13
11-21 09:38:40.934 28473 28500 I Unity : Replacement validation: row=True, col=False
11-21 09:38:40.935 28473 28500 I Unity : Found 9 valid placements for tile Purple 13
11-21 09:38:40.935 28473 28500 I Unity : Valid placements changed: 9 positions
11-21 09:38:40.935 28473 28500 I Unity : Highlighted 9 valid placements for Player 3
11-21 09:38:40.935 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (0, 0) already occupied by 7
11-21 09:38:40.935 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (0, 1) failed constraints: row=True, col=False
11-21 09:38:40.935 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (0, 2) is VALID
11-21 09:38:40.936 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (0, 3) is VALID
11-21 09:38:40.936 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (1, 0) failed constraints: row=False, col=True
11-21 09:38:40.936 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (1, 1) already occupied by 6
11-21 09:38:40.936 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (1, 2) is VALID
11-21 09:38:40.936 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (1, 3) is VALID
11-21 09:38:40.936 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (2, 0) failed constraints: row=False, col=True
11-21 09:38:40.936 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (2, 1) already occupied by 11
11-21 09:38:40.936 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (2, 2) already occupied by 14
11-21 09:38:40.936 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (2, 3) already occupied by 15
11-21 09:38:40.937 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (3, 0) is VALID
11-21 09:38:40.937 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (3, 1) is VALID
11-21 09:38:40.937 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (3, 2) failed constraints: row=True, col=False
11-21 09:38:40.937 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (3, 3) already occupied by 20
11-21 09:38:40.937 28473 28500 I Unity : Checking replacement: tile 13 replacing 7 at (0,0)
11-21 09:38:40.937 28473 28500 I Unity : Board state - Row 0: [7, 0, 0, 0]
11-21 09:38:40.937 28473 28500 I Unity : Board state - Col 0: [7, 0, 0, 0]
11-21 09:38:40.937 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:40.937 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (0, 1) failed constraints: row=True, col=False
11-21 09:38:40.938 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (0, 2) is VALID
11-21 09:38:40.938 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (0, 3) is VALID
11-21 09:38:40.938 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (1, 0) failed constraints: row=False, col=True
11-21 09:38:40.938 28473 28500 I Unity : Checking replacement: tile 13 replacing 6 at (1,1)
11-21 09:38:40.938 28473 28500 I Unity : Board state - Row 1: [0, 6, 0, 0]
11-21 09:38:40.938 28473 28500 I Unity : Board state - Col 1: [0, 6, 11, 0]
11-21 09:38:40.938 28473 28500 I Unity : Col check: tile 11 at (2,1) below 13 at (1,1)
11-21 09:38:40.938 28473 28500 I Unity : ✗ Column constraint failed: 11 <= 13
11-21 09:38:40.938 28473 28500 I Unity : Replacement validation: row=True, col=False
11-21 09:38:40.939 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (1, 2) is VALID
11-21 09:38:40.939 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (1, 3) is VALID
11-21 09:38:40.939 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (2, 0) failed constraints: row=False, col=True
11-21 09:38:40.939 28473 28500 I Unity : Checking replacement: tile 13 replacing 11 at (2,1)
11-21 09:38:40.939 28473 28500 I Unity : Board state - Row 2: [0, 11, 14, 15]
11-21 09:38:40.939 28473 28500 I Unity : Board state - Col 1: [0, 6, 11, 0]
11-21 09:38:40.939 28473 28500 I Unity : Row check: tile 14 at (2,2) to right of 13 at (2,1)
11-21 09:38:40.939 28473 28500 I Unity : Col check: tile 6 at (1,1) above 13 at (2,1)
11-21 09:38:40.939 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:40.940 28473 28500 I Unity : Checking replacement: tile 13 replacing 14 at (2,2)
11-21 09:38:40.940 28473 28500 I Unity : Board state - Row 2: [0, 11, 14, 15]
11-21 09:38:40.940 28473 28500 I Unity : Board state - Col 2: [0, 0, 14, 0]
11-21 09:38:40.940 28473 28500 I Unity : Row check: tile 11 at (2,1) to left of 13 at (2,2)
11-21 09:38:40.940 28473 28500 I Unity : Row check: tile 15 at (2,3) to right of 13 at (2,2)
11-21 09:38:40.940 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:40.940 28473 28500 I Unity : Checking replacement: tile 13 replacing 15 at (2,3)
11-21 09:38:40.940 28473 28500 I Unity : Board state - Row 2: [0, 11, 14, 15]
11-21 09:38:40.940 28473 28500 I Unity : Board state - Col 3: [0, 0, 15, 20]
11-21 09:38:40.941 28473 28500 I Unity : Row check: tile 14 at (2,2) to left of 13 at (2,3)
11-21 09:38:40.941 28473 28500 I Unity : ✗ Row constraint failed: 14 >= 13
11-21 09:38:40.941 28473 28500 I Unity : Col check: tile 20 at (3,3) below 13 at (2,3)
11-21 09:38:40.941 28473 28500 I Unity : Replacement validation: row=False, col=True
11-21 09:38:40.941 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (3, 0) is VALID
11-21 09:38:40.941 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (3, 1) is VALID
11-21 09:38:40.941 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (3, 2) failed constraints: row=True, col=False
11-21 09:38:40.942 28473 28500 I Unity : Checking replacement: tile 13 replacing 20 at (3,3)
11-21 09:38:40.942 28473 28500 I Unity : Board state - Row 3: [0, 0, 0, 20]
11-21 09:38:40.942 28473 28500 I Unity : Board state - Col 3: [0, 0, 15, 20]
11-21 09:38:40.942 28473 28500 I Unity : Col check: tile 15 at (2,3) above 13 at (3,3)
11-21 09:38:40.942 28473 28500 I Unity : ✗ Column constraint failed: 15 >= 13
11-21 09:38:40.942 28473 28500 I Unity : Replacement validation: row=True, col=False
11-21 09:38:40.942 28473 28500 I Unity : Prefer empty-cell over replacement | emptyPolicy=1.90, replPolicy=0.36, penalty=0.50
11-21 09:38:40.943 28473 28500 I Unity : Chose empty-cell placement over replacement | emptyScore=1.90, replaceScore=0.36
11-21 09:38:40.943 28473 28500 I Unity : AI Player 3 placing tile at (2, 1)
11-21 09:38:40.943 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (1, 2) is VALID
11-21 09:38:40.943 28473 28500 I Unity : [PlayerBoard] Player 3 placed tile 13 at (1, 2) | Board now: 7/16 filled
11-21 09:38:40.943 28473 28500 I Unity : [PLACEMENT] ✓ Player 3 placed Purple 13 at (1, 2) | Board: 7/16 filled | Remaining draw: 54
11-21 09:38:40.943 28473 28500 I Unity : Player 3 Board (7/16 filled):
11-21 09:38:40.943 28473 28500 I Unity : 07 -- -- --
11-21 09:38:40.944 28473 28500 I Unity : -- 06 13 --
11-21 09:38:40.944 28473 28500 I Unity : -- 11 14 15
11-21 09:38:40.944 28473 28500 I Unity : -- -- -- 20
11-21 09:38:40.944 28473 28500 I Unity : Tile placed: Player 3 placed Purple 13 at (1, 2)
11-21 09:38:40.944 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=False, HasUnplacedTile=True, TestModeAllAI=False
11-21 09:38:40.944 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:40.944 28473 28500 W Unity : Tile 11: SetInteractable(False) - No Collider2D found!
11-21 09:38:40.945 28473 28500 W Unity : Tile 20: SetInteractable(False) - No Collider2D found!
11-21 09:38:40.945 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:40.945 28473 28500 W Unity : Tile 12: SetInteractable(False) - No Collider2D found!
11-21 09:38:40.945 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:38:40.945 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:38:40.945 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:40.945 28473 28500 W Unity : Tile 13: SetInteractable(False) - No Collider2D found!
11-21 09:38:40.945 28473 28500 I Unity : UIDiscardDeck interactability set to: False
11-21 09:38:40.945 28473 28500 I Unity : Tile 7: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:40.946 28473 28500 I Unity : Tile 6: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:40.946 28473 28500 I Unity : Tile 11: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:40.946 28473 28500 I Unity : Tile 14: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:40.946 28473 28500 I Unity : Tile 15: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:40.946 28473 28500 I Unity : Tile 20: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:40.946 28473 28500 I Unity : Player 3 placed tiles interactivity set to: False
11-21 09:38:40.946 28473 28500 I Unity : Interactability updated for player 3
11-21 09:38:40.946 28473 28500 I Unity : Valid placements changed: 0 positions
11-21 09:38:40.946 28473 28500 I Unity : Highlighted 0 valid placements for Player 3
11-21 09:38:40.947 28473 28500 I Unity : ═══════════════════════════════════════════════════════
11-21 09:38:40.947 28473 28500 I Unity : TURN CHANGE: Player 3 → Player 0
11-21 09:38:40.947 28473 28500 I Unity : Turn #6 | Tiles Remaining: 54 | Discard Pile: 0
11-21 09:38:40.947 28473 28500 I Unity : ═══════════════════════════════════════════════════════
11-21 09:38:40.947 28473 28500 I Unity : Game state changed: Game State: Playing, Turn 6, Player 0, Draw: 54, Discard: 0
11-21 09:38:40.947 28473 28500 I Unity : Updating deck UI with remaining count: 54
11-21 09:38:40.947 28473 28500 I Unity : UpdateRemainingCount called with: 54
11-21 09:38:40.947 28473 28500 I Unity : Set deck count text to: 54
11-21 09:38:40.948 28473 28500 I Unity : Game UI updated
11-21 09:38:40.948 28473 28500 I Unity : Player turn changed to Player 0
11-21 09:38:40.948 28473 28500 I Unity : Player 0 current player status: True
11-21 09:38:40.948 28473 28500 I Unity : Player 1 current player status: False
11-21 09:38:40.948 28473 28500 I Unity : Player 2 current player status: False
11-21 09:38:40.949 28473 28500 I Unity : Player 3 current player status: False
11-21 09:38:40.949 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=True, HasUnplacedTile=False, TestModeAllAI=False
11-21 09:38:40.949 28473 28500 W Unity : Tile 14: SetInteractable(True) - No Collider2D found!
11-21 09:38:40.949 28473 28500 W Unity : Tile 11: SetInteractable(True) - No Collider2D found!
11-21 09:38:40.949 28473 28500 W Unity : Tile 20: SetInteractable(True) - No Collider2D found!
11-21 09:38:40.949 28473 28500 W Unity : Tile 14: SetInteractable(True) - No Collider2D found!
11-21 09:38:40.949 28473 28500 W Unity : Tile 12: SetInteractable(True) - No Collider2D found!
11-21 09:38:40.949 28473 28500 W Unity : Tile 15: SetInteractable(True) - No Collider2D found!
11-21 09:38:40.949 28473 28500 W Unity : Tile 15: SetInteractable(True) - No Collider2D found!
11-21 09:38:40.950 28473 28500 W Unity : Tile 14: SetInteractable(True) - No Collider2D found!
11-21 09:38:40.950 28473 28500 W Unity : Tile 13: SetInteractable(True) - No Collider2D found!
11-21 09:38:40.950 28473 28500 I Unity : UIDiscardDeck interactability set to: True
11-21 09:38:40.950 28473 28500 I Unity : Tile 7: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:40.950 28473 28500 I Unity : Tile 7: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:40.950 28473 28500 I Unity : Tile 8: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:40.950 28473 28500 I Unity : Tile 10: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:40.950 28473 28500 I Unity : Tile 11: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:40.950 28473 28500 I Unity : Tile 16: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:40.951 28473 28500 I Unity : Player 0 placed tiles interactivity set to: False
11-21 09:38:40.951 28473 28500 I Unity : Interactability updated for player 0
11-21 09:38:40.951 28473 28500 I Unity : Tile 2: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:38:41.423 28473 28500 I Unity : Tile 0 animation to (5.53, 7.32, 0.00) complete
11-21 09:38:41.423 28473 28500 I Unity : Tile 6 number text visibility set to: True (faceDown: False)
11-21 09:38:41.423 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=13, Color=Purple, NumberText null: False
11-21 09:38:41.423 28473 28500 I Unity : Set tile text to: 13, text active: True
11-21 09:38:41.424 28473 28500 I Unity : Set sprite renderer sprite to: TileRed for color Purple (index 2)
11-21 09:38:41.424 28473 28500 I Unity : Tile 6 set to face-up
11-21 09:38:41.424 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=13, Color=Purple, NumberText null: False
11-21 09:38:41.424 28473 28500 I Unity : Set tile text to: 13, text active: True
11-21 09:38:41.424 28473 28500 I Unity : Set sprite renderer sprite to: TileRed for color Purple (index 2)
11-21 09:38:41.424 28473 28500 I Unity : Placed tile 13 on grid cell 6 at (2.00, 1.00)
11-21 09:38:41.424 28473 28500 I Unity : Animated opponent tile placement for Player 3 at (2, 1) (board scale: (0.50, 0.50, 1.00))
11-21 09:38:41.424 28473 28500 I Unity : AI Player 3 turn completed
11-21 09:38:41.425 28473 28500 I Unity : AI turn completed for Player 3
11-21 09:38:45.261 28473 28500 I Unity : Interacting with discard deck
11-21 09:38:45.262 28473 28500 I Unity : Checking replacement: tile 13 replacing 7 at (0,0)
11-21 09:38:45.262 28473 28500 I Unity : Board state - Row 0: [7, 0, 0, 0]
11-21 09:38:45.262 28473 28500 I Unity : Board state - Col 0: [7, 0, 0, 0]
11-21 09:38:45.262 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:45.262 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (0, 1) failed constraints: row=True, col=False
11-21 09:38:45.262 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (0, 2) failed constraints: row=True, col=False
11-21 09:38:45.262 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (0, 3) is VALID
11-21 09:38:45.262 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (1, 0) failed constraints: row=False, col=True
11-21 09:38:45.262 28473 28500 I Unity : Checking replacement: tile 13 replacing 7 at (1,1)
11-21 09:38:45.262 28473 28500 I Unity : Board state - Row 1: [0, 7, 8, 0]
11-21 09:38:45.262 28473 28500 I Unity : Board state - Col 1: [0, 7, 10, 0]
11-21 09:38:45.263 28473 28500 I Unity : Row check: tile 8 at (1,2) to right of 13 at (1,1)
11-21 09:38:45.263 28473 28500 I Unity : ✗ Row constraint failed: 8 <= 13
11-21 09:38:45.263 28473 28500 I Unity : Col check: tile 10 at (2,1) below 13 at (1,1)
11-21 09:38:45.263 28473 28500 I Unity : ✗ Column constraint failed: 10 <= 13
11-21 09:38:45.263 28473 28500 I Unity : Replacement validation: row=False, col=False
11-21 09:38:45.263 28473 28500 I Unity : Checking replacement: tile 13 replacing 8 at (1,2)
11-21 09:38:45.263 28473 28500 I Unity : Board state - Row 1: [0, 7, 8, 0]
11-21 09:38:45.263 28473 28500 I Unity : Board state - Col 2: [0, 8, 11, 0]
11-21 09:38:45.263 28473 28500 I Unity : Row check: tile 7 at (1,1) to left of 13 at (1,2)
11-21 09:38:45.263 28473 28500 I Unity : Col check: tile 11 at (2,2) below 13 at (1,2)
11-21 09:38:45.263 28473 28500 I Unity : ✗ Column constraint failed: 11 <= 13
11-21 09:38:45.263 28473 28500 I Unity : Replacement validation: row=True, col=False
11-21 09:38:45.263 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (1, 3) is VALID
11-21 09:38:45.264 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (2, 0) failed constraints: row=False, col=True
11-21 09:38:45.264 28473 28500 I Unity : Checking replacement: tile 13 replacing 10 at (2,1)
11-21 09:38:45.264 28473 28500 I Unity : Board state - Row 2: [0, 10, 11, 0]
11-21 09:38:45.264 28473 28500 I Unity : Board state - Col 1: [0, 7, 10, 0]
11-21 09:38:45.264 28473 28500 I Unity : Row check: tile 11 at (2,2) to right of 13 at (2,1)
11-21 09:38:45.264 28473 28500 I Unity : ✗ Row constraint failed: 11 <= 13
11-21 09:38:45.264 28473 28500 I Unity : Col check: tile 7 at (1,1) above 13 at (2,1)
11-21 09:38:45.264 28473 28500 I Unity : Replacement validation: row=False, col=True
11-21 09:38:45.264 28473 28500 I Unity : Checking replacement: tile 13 replacing 11 at (2,2)
11-21 09:38:45.264 28473 28500 I Unity : Board state - Row 2: [0, 10, 11, 0]
11-21 09:38:45.264 28473 28500 I Unity : Board state - Col 2: [0, 8, 11, 0]
11-21 09:38:45.264 28473 28500 I Unity : Row check: tile 10 at (2,1) to left of 13 at (2,2)
11-21 09:38:45.264 28473 28500 I Unity : Col check: tile 8 at (1,2) above 13 at (2,2)
11-21 09:38:45.265 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:45.265 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (2, 3) is VALID
11-21 09:38:45.265 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (3, 0) is VALID
11-21 09:38:45.265 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (3, 1) is VALID
11-21 09:38:45.265 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (3, 2) is VALID
11-21 09:38:45.265 28473 28500 I Unity : Checking replacement: tile 13 replacing 16 at (3,3)
11-21 09:38:45.265 28473 28500 I Unity : Board state - Row 3: [0, 0, 0, 16]
11-21 09:38:45.265 28473 28500 I Unity : Board state - Col 3: [0, 0, 0, 16]
11-21 09:38:45.265 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:45.265 28473 28500 I Unity : Tile 13 has 9 valid placements - allowing player to take it
11-21 09:38:45.265 28473 28500 W Unity : TileManager reports discard pile is empty - cannot take tile
11-21 09:38:45.963 28473 28500 I Unity : Interacting with grid cell 11 at position (3.00, 2.00)
11-21 09:38:45.963 28473 28500 I Unity : Grid cell 11 is not a valid placement target. IsValidPlacement: False, HasUnplacedTile: False
11-21 09:38:46.130 28473 28500 I Unity : Interacting with grid cell 11 at position (3.00, 2.00)
11-21 09:38:46.130 28473 28500 I Unity : Grid cell 11 is not a valid placement target. IsValidPlacement: False, HasUnplacedTile: False
11-21 09:38:46.532 28473 28500 I Unity : Interacting with tile 0 (Number: 2)
11-21 09:38:46.532 28473 28500 I Unity : Player clicked deck card: Purple 2
11-21 09:38:46.533 28473 28500 I Unity : SelectDeckCard called. HasUnplacedTile: False, CurrentPlayerTile:
11-21 09:38:46.533 28473 28500 I Unity : Tile 0 number text visibility set to: True (faceDown: False)
11-21 09:38:46.533 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=2, Color=Purple, NumberText null: False
11-21 09:38:46.533 28473 28500 I Unity : Set tile text to: 2, text active: True
11-21 09:38:46.533 28473 28500 I Unity : Set sprite renderer sprite to: TileRed for color Purple (index 2)
11-21 09:38:46.534 28473 28500 I Unity : Tile 0 set to face-up
11-21 09:38:46.534 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=2, Color=Purple, NumberText null: False
11-21 09:38:46.534 28473 28500 I Unity : Set tile text to: 2, text active: True
11-21 09:38:46.534 28473 28500 I Unity : Set sprite renderer sprite to: TileRed for color Purple (index 2)
11-21 09:38:46.534 28473 28500 I Unity : Tile 0 selection set to: True
11-21 09:38:46.534 28473 28500 I Unity : About to set current player tile. Current HasUnplacedTile: False
11-21 09:38:46.534 28473 28500 I Unity : SetCurrentPlayerTile called with tile: Purple 2, current HasUnplacedTile: False
11-21 09:38:46.534 28473 28500 I Unity : Set current player tile to: Purple 2 from DrawPile, HasUnplacedTile is now: True
11-21 09:38:46.534 28473 28500 I Unity : Tile drawn: Player 0 drew Purple 2
11-21 09:38:46.535 28473 28500 I Unity : UpdateDiscardCount called with: 0
11-21 09:38:46.535 28473 28500 I Unity : Set discard count text to: 0
11-21 09:38:46.535 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=True, HasUnplacedTile=True, TestModeAllAI=False
11-21 09:38:46.535 28473 28500 W Unity : Tile 14: SetInteractable(True) - No Collider2D found!
11-21 09:38:46.535 28473 28500 W Unity : Tile 11: SetInteractable(True) - No Collider2D found!
11-21 09:38:46.535 28473 28500 W Unity : Tile 20: SetInteractable(True) - No Collider2D found!
11-21 09:38:46.535 28473 28500 W Unity : Tile 14: SetInteractable(True) - No Collider2D found!
11-21 09:38:46.535 28473 28500 W Unity : Tile 12: SetInteractable(True) - No Collider2D found!
11-21 09:38:46.535 28473 28500 W Unity : Tile 15: SetInteractable(True) - No Collider2D found!
11-21 09:38:46.535 28473 28500 W Unity : Tile 15: SetInteractable(True) - No Collider2D found!
11-21 09:38:46.536 28473 28500 W Unity : Tile 14: SetInteractable(True) - No Collider2D found!
11-21 09:38:46.536 28473 28500 W Unity : Tile 13: SetInteractable(True) - No Collider2D found!
11-21 09:38:46.536 28473 28500 I Unity : UIDiscardDeck interactability set to: True
11-21 09:38:46.536 28473 28500 I Unity : Tile 7: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:38:46.536 28473 28500 I Unity : Tile 7: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:38:46.536 28473 28500 I Unity : Tile 8: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:38:46.536 28473 28500 I Unity : Tile 10: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:38:46.536 28473 28500 I Unity : Tile 11: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:38:46.536 28473 28500 I Unity : Tile 16: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:38:46.536 28473 28500 I Unity : Player 0 placed tiles interactivity set to: True
11-21 09:38:46.536 28473 28500 I Unity : Interactability updated for player 0
11-21 09:38:46.537 28473 28500 I Unity : Checking replacement: tile 2 replacing 7 at (0,0)
11-21 09:38:46.537 28473 28500 I Unity : Board state - Row 0: [7, 0, 0, 0]
11-21 09:38:46.537 28473 28500 I Unity : Board state - Col 0: [7, 0, 0, 0]
11-21 09:38:46.537 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:46.537 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 2 at (0, 1) failed constraints: row=False, col=True
11-21 09:38:46.537 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 2 at (0, 2) failed constraints: row=False, col=True
11-21 09:38:46.537 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 2 at (0, 3) failed constraints: row=False, col=True
11-21 09:38:46.537 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 2 at (1, 0) failed constraints: row=True, col=False
11-21 09:38:46.537 28473 28500 I Unity : Checking replacement: tile 2 replacing 7 at (1,1)
11-21 09:38:46.537 28473 28500 I Unity : Board state - Row 1: [0, 7, 8, 0]
11-21 09:38:46.538 28473 28500 I Unity : Board state - Col 1: [0, 7, 10, 0]
11-21 09:38:46.538 28473 28500 I Unity : Row check: tile 8 at (1,2) to right of 2 at (1,1)
11-21 09:38:46.538 28473 28500 I Unity : Col check: tile 10 at (2,1) below 2 at (1,1)
11-21 09:38:46.538 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:46.538 28473 28500 I Unity : Checking replacement: tile 2 replacing 8 at (1,2)
11-21 09:38:46.538 28473 28500 I Unity : Board state - Row 1: [0, 7, 8, 0]
11-21 09:38:46.538 28473 28500 I Unity : Board state - Col 2: [0, 8, 11, 0]
11-21 09:38:46.538 28473 28500 I Unity : Row check: tile 7 at (1,1) to left of 2 at (1,2)
11-21 09:38:46.538 28473 28500 I Unity : ✗ Row constraint failed: 7 >= 2
11-21 09:38:46.538 28473 28500 I Unity : Col check: tile 11 at (2,2) below 2 at (1,2)
11-21 09:38:46.538 28473 28500 I Unity : Replacement validation: row=False, col=True
11-21 09:38:46.538 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 2 at (1, 3) failed constraints: row=False, col=True
11-21 09:38:46.539 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 2 at (2, 0) failed constraints: row=True, col=False
11-21 09:38:46.539 28473 28500 I Unity : Checking replacement: tile 2 replacing 10 at (2,1)
11-21 09:38:46.539 28473 28500 I Unity : Board state - Row 2: [0, 10, 11, 0]
11-21 09:38:46.539 28473 28500 I Unity : Board state - Col 1: [0, 7, 10, 0]
11-21 09:38:46.539 28473 28500 I Unity : Row check: tile 11 at (2,2) to right of 2 at (2,1)
11-21 09:38:46.539 28473 28500 I Unity : Col check: tile 7 at (1,1) above 2 at (2,1)
11-21 09:38:46.539 28473 28500 I Unity : ✗ Column constraint failed: 7 >= 2
11-21 09:38:46.539 28473 28500 I Unity : Replacement validation: row=True, col=False
11-21 09:38:46.539 28473 28500 I Unity : Checking replacement: tile 2 replacing 11 at (2,2)
11-21 09:38:46.539 28473 28500 I Unity : Board state - Row 2: [0, 10, 11, 0]
11-21 09:38:46.539 28473 28500 I Unity : Board state - Col 2: [0, 8, 11, 0]
11-21 09:38:46.540 28473 28500 I Unity : Row check: tile 10 at (2,1) to left of 2 at (2,2)
11-21 09:38:46.540 28473 28500 I Unity : ✗ Row constraint failed: 10 >= 2
11-21 09:38:46.540 28473 28500 I Unity : Col check: tile 8 at (1,2) above 2 at (2,2)
11-21 09:38:46.540 28473 28500 I Unity : ✗ Column constraint failed: 8 >= 2
11-21 09:38:46.540 28473 28500 I Unity : Replacement validation: row=False, col=False
11-21 09:38:46.540 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 2 at (2, 3) failed constraints: row=False, col=True
11-21 09:38:46.540 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 2 at (3, 0) failed constraints: row=True, col=False
11-21 09:38:46.540 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 2 at (3, 1) failed constraints: row=True, col=False
11-21 09:38:46.540 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 2 at (3, 2) failed constraints: row=True, col=False
11-21 09:38:46.540 28473 28500 I Unity : Checking replacement: tile 2 replacing 16 at (3,3)
11-21 09:38:46.540 28473 28500 I Unity : Board state - Row 3: [0, 0, 0, 16]
11-21 09:38:46.541 28473 28500 I Unity : Board state - Col 3: [0, 0, 0, 16]
11-21 09:38:46.541 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:46.541 28473 28500 I Unity : Found 3 valid placements for tile Purple 2
11-21 09:38:46.541 28473 28500 I Unity : Valid placements changed: 3 positions
11-21 09:38:46.541 28473 28500 I Unity : Highlighted 3 valid placements for Player 0
11-21 09:38:46.541 28473 28500 I Unity : After setting current player tile. HasUnplacedTile: True
11-21 09:38:46.541 28473 28500 I Unity : Deck card selected: Purple 2
11-21 09:38:47.835 28473 28500 I Unity : Interacting with tile 0 (Number: 7)
11-21 09:38:47.835 28473 28500 I Unity : Forwarding placed tile click to parent cell for replacement at (0.00, 0.00)
11-21 09:38:47.835 28473 28500 I Unity : Interacting with grid cell 0 at position (0.00, 0.00)
11-21 09:38:47.835 28473 28500 I Unity : HandleTilePlacement: Attempting to place tile 2 at grid position (0.00, 0.00)
11-21 09:38:47.835 28473 28500 I Unity : HandleTilePlacement: Converted to board coordinates - row=0, col=0
11-21 09:38:47.835 28473 28500 I Unity : Cell at (0.00, 0.00) is occupied by tile 7 - attempting tile replacement
11-21 09:38:47.835 28473 28500 I Unity : Checking replacement: tile 2 replacing 7 at (0,0)
11-21 09:38:47.836 28473 28500 I Unity : Board state - Row 0: [7, 0, 0, 0]
11-21 09:38:47.836 28473 28500 I Unity : Board state - Col 0: [7, 0, 0, 0]
11-21 09:38:47.836 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:47.836 28473 28500 I Unity : Replacing tile 7 at (0, 0) with Purple 2
11-21 09:38:47.836 28473 28500 I Unity : Discarded tile: Yellow 7 (1 tiles in discard pile)
11-21 09:38:47.836 28473 28500 I Unity : Tile discarded: Player 0 discarded Yellow 7
11-21 09:38:47.836 28473 28500 I Unity : [DISCARD DEBUG] Cached logical discarded tile for player 0: Yellow 7
11-21 09:38:47.836 28473 28500 I Unity : [PlayerBoard] Player 0 removed tile 07 from (0, 0) | Board now: 5/16 filled
11-21 09:38:47.836 28473 28500 I Unity : [PlayerBoard] Player 0 placed tile 02 at (0, 0) | Board now: 6/16 filled
11-21 09:38:47.837 28473 28500 I Unity : Player 0 placed Purple 2 with replacement at (0, 0)
11-21 09:38:47.837 28473 28500 I Unity : Player 0 Board (6/16 filled):
11-21 09:38:47.837 28473 28500 I Unity : 02 -- -- --
11-21 09:38:47.837 28473 28500 I Unity : -- 07 08 --
11-21 09:38:47.837 28473 28500 I Unity : -- 10 11 --
11-21 09:38:47.837 28473 28500 I Unity : -- -- -- 16
11-21 09:38:47.837 28473 28500 I Unity : Tile placed: Player 0 placed Purple 2 at (0, 0)
11-21 09:38:47.837 28473 28500 I Unity : Local player replacing tile 7 with 2 at (0, 0)
11-21 09:38:47.837 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=True, HasUnplacedTile=True, TestModeAllAI=False
11-21 09:38:47.838 28473 28500 W Unity : Tile 14: SetInteractable(True) - No Collider2D found!
11-21 09:38:47.838 28473 28500 W Unity : Tile 11: SetInteractable(True) - No Collider2D found!
11-21 09:38:47.838 28473 28500 W Unity : Tile 20: SetInteractable(True) - No Collider2D found!
11-21 09:38:47.838 28473 28500 W Unity : Tile 14: SetInteractable(True) - No Collider2D found!
11-21 09:38:47.838 28473 28500 W Unity : Tile 12: SetInteractable(True) - No Collider2D found!
11-21 09:38:47.838 28473 28500 W Unity : Tile 15: SetInteractable(True) - No Collider2D found!
11-21 09:38:47.838 28473 28500 W Unity : Tile 15: SetInteractable(True) - No Collider2D found!
11-21 09:38:47.838 28473 28500 W Unity : Tile 14: SetInteractable(True) - No Collider2D found!
11-21 09:38:47.838 28473 28500 W Unity : Tile 13: SetInteractable(True) - No Collider2D found!
11-21 09:38:47.838 28473 28500 I Unity : UIDiscardDeck interactability set to: True
11-21 09:38:47.838 28473 28500 I Unity : Tile 7: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:38:47.838 28473 28500 I Unity : Tile 7: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:38:47.839 28473 28500 I Unity : Tile 8: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:38:47.839 28473 28500 I Unity : Tile 10: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:38:47.839 28473 28500 I Unity : Tile 11: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:38:47.839 28473 28500 I Unity : Tile 16: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:38:47.839 28473 28500 I Unity : Player 0 placed tiles interactivity set to: True
11-21 09:38:47.839 28473 28500 I Unity : Interactability updated for player 0
11-21 09:38:47.839 28473 28500 I Unity : Deck card Purple 2 was placed, ready for next card
11-21 09:38:47.839 28473 28500 I Unity : Auto-spawning deck card after tile placement (playerIndex: 0)
11-21 09:38:47.839 28473 28500 I Unity : SpawnDeckCard method called
11-21 09:38:47.839 28473 28500 I Unity : All checks passed, attempting to draw tile through GameManager
11-21 09:38:47.839 28473 28500 I Unity : Drew tile: Green 4 (53 tiles remaining)
11-21 09:38:47.840 28473 28500 I Unity : Drew tile for deck card: Green 4
11-21 09:38:47.840 28473 28500 I Unity : UpdateRemainingCount called with: 53
11-21 09:38:47.840 28473 28500 I Unity : Set deck count text to: 53
11-21 09:38:47.841 28473 28500 I Unity : UIGameTile Start: SpriteRenderer=True, NumberText=True
11-21 09:38:47.841 28473 28500 I Unity : SetTileData called with: Green 4, Color enum: 3
11-21 09:38:47.841 28473 28500 I Unity : Updated _originalSprite to: TileYellow for Green
11-21 09:38:47.841 28473 28500 I Unity : Before UpdateVisualRepresentation: _color=Green (enum: 3), GameTileSprites=4
11-21 09:38:47.841 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=4, Color=Green, NumberText null: False
11-21 09:38:47.841 28473 28500 I Unity : Set tile text to: 4, text active: True
11-21 09:38:47.841 28473 28500 I Unity : Set sprite renderer sprite to: TileYellow for color Green (index 3)
11-21 09:38:47.842 28473 28500 I Unity : Tile 0 set to Green 4
11-21 09:38:47.842 28473 28500 I Unity : Tile 0 number text visibility set to: False (faceDown: True)
11-21 09:38:47.842 28473 28500 I Unity : Tile 0 set to face-down
11-21 09:38:47.842 28473 28500 I Unity : Tile 4: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:38:47.842 28473 28500 I Unity : Spawned deck card: Green 4
11-21 09:38:47.842 28473 28500 I Unity : Valid placements changed: 0 positions
11-21 09:38:47.842 28473 28500 I Unity : Highlighted 0 valid placements for Player 0
11-21 09:38:47.842 28473 28500 I Unity : ═══════════════════════════════════════════════════════
11-21 09:38:47.842 28473 28500 I Unity : TURN CHANGE: Player 0 → Player 1
11-21 09:38:47.843 28473 28500 I Unity : Turn #6 | Tiles Remaining: 53 | Discard Pile: 1
11-21 09:38:47.843 28473 28500 I Unity : ═══════════════════════════════════════════════════════
11-21 09:38:47.843 28473 28500 I Unity : Game state changed: Game State: Playing, Turn 6, Player 1, Draw: 53, Discard: 1
11-21 09:38:47.843 28473 28500 I Unity : Updating deck UI with remaining count: 53
11-21 09:38:47.843 28473 28500 I Unity : UpdateRemainingCount called with: 53
11-21 09:38:47.843 28473 28500 I Unity : Set deck count text to: 53
11-21 09:38:47.843 28473 28500 I Unity : Game UI updated
11-21 09:38:47.843 28473 28500 I Unity : Player turn changed to Player 1
11-21 09:38:47.843 28473 28500 I Unity : Player 0 current player status: False
11-21 09:38:47.844 28473 28500 I Unity : Player 1 current player status: True
11-21 09:38:47.844 28473 28500 I Unity : Player 2 current player status: False
11-21 09:38:47.844 28473 28500 I Unity : Player 3 current player status: False
11-21 09:38:47.844 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=False, HasUnplacedTile=False, TestModeAllAI=False
11-21 09:38:47.844 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:47.844 28473 28500 W Unity : Tile 11: SetInteractable(False) - No Collider2D found!
11-21 09:38:47.844 28473 28500 W Unity : Tile 20: SetInteractable(False) - No Collider2D found!
11-21 09:38:47.844 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:47.844 28473 28500 W Unity : Tile 12: SetInteractable(False) - No Collider2D found!
11-21 09:38:47.844 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:38:47.844 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:38:47.845 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:47.845 28473 28500 W Unity : Tile 13: SetInteractable(False) - No Collider2D found!
11-21 09:38:47.845 28473 28500 I Unity : UIDiscardDeck interactability set to: False
11-21 09:38:47.845 28473 28500 I Unity : Tile 2: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:47.845 28473 28500 I Unity : Tile 3: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:47.845 28473 28500 I Unity : Tile 10: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:47.845 28473 28500 I Unity : Tile 12: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:47.845 28473 28500 I Unity : Tile 14: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:47.845 28473 28500 I Unity : Tile 15: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:47.845 28473 28500 I Unity : Player 1 placed tiles interactivity set to: False
11-21 09:38:47.845 28473 28500 I Unity : Interactability updated for player 1
11-21 09:38:47.846 28473 28500 I Unity : Starting AI turn for Player 1
11-21 09:38:47.846 28473 28500 I Unity : Tile 4: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:47.846 28473 28500 I Unity : ✓ Successfully replaced tile at (0.00, 0.00) with 2
11-21 09:38:48.102 28473 28500 I Unity : Tile 0 animation to (2.00, 1.99, 0.00) complete
11-21 09:38:48.102 28473 28500 I Unity : SetTileData called with: Yellow 7, Color enum: 0
11-21 09:38:48.102 28473 28500 I Unity : Updated _originalSprite to: TileGreen for Yellow
11-21 09:38:48.102 28473 28500 I Unity : Before UpdateVisualRepresentation: _color=Yellow (enum: 0), GameTileSprites=4
11-21 09:38:48.102 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=7, Color=Yellow, NumberText null: False
11-21 09:38:48.102 28473 28500 I Unity : Set tile text to: 7, text active: True
11-21 09:38:48.103 28473 28500 I Unity : Set sprite renderer sprite to: TileGreen for color Yellow (index 0)
11-21 09:38:48.103 28473 28500 I Unity : Tile 0 set to Yellow 7
11-21 09:38:48.103 28473 28500 I Unity : Tile 7: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:38:48.103 28473 28500 I Unity : [UIDiscardDeck] Destroyed collider for discard pile tile 7
11-21 09:38:48.103 28473 28500 I Unity : Tile 7: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:48.104 28473 28500 I Unity : Discard Pile: Tile 15 (index 5) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 13, Text Order: 14
11-21 09:38:48.104 28473 28500 I Unity : Discard Pile: Tile 15 (index 6) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 15, Text Order: 16
11-21 09:38:48.104 28473 28500 I Unity : Discard Pile: Tile 14 (index 7) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 17, Text Order: 18
11-21 09:38:48.104 28473 28500 I Unity : Discard Pile: Tile 13 (index 8) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 19, Text Order: 20
11-21 09:38:48.104 28473 28500 I Unity : Discard Pile: Tile 7 (index 9) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 21, Text Order: 22
11-21 09:38:48.104 28473 28500 I Unity : UpdateDiscardCount called with: 1
11-21 09:38:48.104 28473 28500 I Unity : Set discard count text to: 1
11-21 09:38:48.104 28473 28500 I Unity : [UIDiscardDeck] Added tile 7 to discard deck (10 total)
11-21 09:38:48.104 28473 28500 I Unity : UpdateDiscardCount called with: 1
11-21 09:38:48.105 28473 28500 I Unity : Set discard count text to: 1
11-21 09:38:48.303 28473 28500 I Unity : Tile 0 animation to (-3.15, -1.39, 0.00) complete
11-21 09:38:48.304 28473 28500 I Unity : Tile 0 number text visibility set to: True (faceDown: False)
11-21 09:38:48.304 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=2, Color=Purple, NumberText null: False
11-21 09:38:48.304 28473 28500 I Unity : Set tile text to: 2, text active: True
11-21 09:38:48.304 28473 28500 I Unity : Set sprite renderer sprite to: TileRed for color Purple (index 2)
11-21 09:38:48.304 28473 28500 I Unity : Tile 0 set to face-up
11-21 09:38:48.304 28473 28500 I Unity : Resetting sprite renderer sprite to original: TileRed for tile Purple
11-21 09:38:48.304 28473 28500 I Unity : Tile 0 selection set to: False
11-21 09:38:48.305 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=2, Color=Purple, NumberText null: False
11-21 09:38:48.305 28473 28500 I Unity : Set tile text to: 2, text active: True
11-21 09:38:48.305 28473 28500 I Unity : Set sprite renderer sprite to: TileRed for color Purple (index 2)
11-21 09:38:48.305 28473 28500 I Unity : Placed tile 2 on grid cell 0 at (0.00, 0.00)
11-21 09:38:48.305 28473 28500 I Unity : Player 0: Set particle system and all child particle renderers to sorting order 100
11-21 09:38:48.305 28473 28500 I Unity : Player 0: Triggered click particle at (-3.15, -1.39, 0.00)
11-21 09:38:48.305 28473 28500 I Unity : Animated deck card placement for Player 0 at (0, 0)
11-21 09:38:48.306 28473 28500 I Unity : SpawnInitialDeckCard called
11-21 09:38:48.306 28473 28500 I Unity : TileManager has 53 tiles remaining, HasTilesRemaining: True
11-21 09:38:48.306 28473 28500 I Unity : All checks passed, calling SpawnDeckCard
11-21 09:38:48.306 28473 28500 I Unity : SpawnDeckCard method called
11-21 09:38:48.306 28473 28500 W Unity : Cannot spawn deck card - one already exists
11-21 09:38:48.836 28473 28500 I Unity : AI Player 1 (DefensiveBlocker) starting turn...
11-21 09:38:50.311 28473 28500 I Unity : Checking replacement: tile 7 replacing 2 at (0,0)
11-21 09:38:50.311 28473 28500 I Unity : Board state - Row 0: [2, 0, 0, 0]
11-21 09:38:50.311 28473 28500 I Unity : Board state - Col 0: [2, 0, 0, 0]
11-21 09:38:50.311 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:50.312 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 7 at (0, 1) failed constraints: row=True, col=False
11-21 09:38:50.312 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 7 at (0, 2) is VALID
11-21 09:38:50.312 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 7 at (0, 3) is VALID
11-21 09:38:50.312 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 7 at (1, 0) failed constraints: row=False, col=True
11-21 09:38:50.312 28473 28500 I Unity : Checking replacement: tile 7 replacing 3 at (1,1)
11-21 09:38:50.312 28473 28500 I Unity : Board state - Row 1: [0, 3, 10, 0]
11-21 09:38:50.312 28473 28500 I Unity : Board state - Col 1: [0, 3, 12, 0]
11-21 09:38:50.312 28473 28500 I Unity : Row check: tile 10 at (1,2) to right of 7 at (1,1)
11-21 09:38:50.312 28473 28500 I Unity : Col check: tile 12 at (2,1) below 7 at (1,1)
11-21 09:38:50.312 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:50.313 28473 28500 I Unity : Checking replacement: tile 7 replacing 10 at (1,2)
11-21 09:38:50.313 28473 28500 I Unity : Board state - Row 1: [0, 3, 10, 0]
11-21 09:38:50.313 28473 28500 I Unity : Board state - Col 2: [0, 10, 14, 0]
11-21 09:38:50.313 28473 28500 I Unity : Row check: tile 3 at (1,1) to left of 7 at (1,2)
11-21 09:38:50.313 28473 28500 I Unity : Col check: tile 14 at (2,2) below 7 at (1,2)
11-21 09:38:50.313 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:50.313 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 7 at (1, 3) failed constraints: row=False, col=True
11-21 09:38:50.313 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 7 at (2, 0) is VALID
11-21 09:38:50.313 28473 28500 I Unity : Checking replacement: tile 7 replacing 12 at (2,1)
11-21 09:38:50.313 28473 28500 I Unity : Board state - Row 2: [0, 12, 14, 0]
11-21 09:38:50.314 28473 28500 I Unity : Board state - Col 1: [0, 3, 12, 0]
11-21 09:38:50.314 28473 28500 I Unity : Row check: tile 14 at (2,2) to right of 7 at (2,1)
11-21 09:38:50.314 28473 28500 I Unity : Col check: tile 3 at (1,1) above 7 at (2,1)
11-21 09:38:50.314 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:50.314 28473 28500 I Unity : Checking replacement: tile 7 replacing 14 at (2,2)
11-21 09:38:50.314 28473 28500 I Unity : Board state - Row 2: [0, 12, 14, 0]
11-21 09:38:50.314 28473 28500 I Unity : Board state - Col 2: [0, 10, 14, 0]
11-21 09:38:50.314 28473 28500 I Unity : Row check: tile 12 at (2,1) to left of 7 at (2,2)
11-21 09:38:50.314 28473 28500 I Unity : ✗ Row constraint failed: 12 >= 7
11-21 09:38:50.314 28473 28500 I Unity : Col check: tile 10 at (1,2) above 7 at (2,2)
11-21 09:38:50.314 28473 28500 I Unity : ✗ Column constraint failed: 10 >= 7
11-21 09:38:50.315 28473 28500 I Unity : Replacement validation: row=False, col=False
11-21 09:38:50.315 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 7 at (2, 3) failed constraints: row=False, col=True
11-21 09:38:50.315 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 7 at (3, 0) is VALID
11-21 09:38:50.315 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 7 at (3, 1) failed constraints: row=True, col=False
11-21 09:38:50.315 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 7 at (3, 2) failed constraints: row=True, col=False
11-21 09:38:50.315 28473 28500 I Unity : Checking replacement: tile 7 replacing 15 at (3,3)
11-21 09:38:50.315 28473 28500 I Unity : Board state - Row 3: [0, 0, 0, 15]
11-21 09:38:50.315 28473 28500 I Unity : Board state - Col 3: [0, 0, 0, 15]
11-21 09:38:50.316 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:50.316 28473 28500 I Unity : AI Player 1 decision: TakeFaceUp - Top discard Yellow 7 has beneficial placement(s): 5 (Score: 0.69)
11-21 09:38:50.316 28473 28500 I Unity : AI Player 1 taking tile 0 from discard pile
11-21 09:38:50.316 28473 28500 I Unity : Took discarded tile: Yellow 7 from index 0
11-21 09:38:50.316 28473 28500 I Unity : Player 1 took discarded tile: Yellow 7 from DiscardPile
11-21 09:38:50.317 28473 28500 I Unity : Tile drawn: Player 1 drew Yellow 7
11-21 09:38:50.318 28473 28500 I Unity : UIGameTile Start: SpriteRenderer=True, NumberText=True
11-21 09:38:50.318 28473 28500 I Unity : SetTileData called with: Yellow 7, Color enum: 0
11-21 09:38:50.318 28473 28500 I Unity : Updated _originalSprite to: TileGreen for Yellow
11-21 09:38:50.318 28473 28500 I Unity : Before UpdateVisualRepresentation: _color=Yellow (enum: 0), GameTileSprites=4
11-21 09:38:50.318 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=7, Color=Yellow, NumberText null: False
11-21 09:38:50.319 28473 28500 I Unity : Set tile text to: 7, text active: True
11-21 09:38:50.319 28473 28500 I Unity : Set sprite renderer sprite to: TileGreen for color Yellow (index 0)
11-21 09:38:50.319 28473 28500 I Unity : Tile 0 set to Yellow 7
11-21 09:38:50.319 28473 28500 I Unity : Tile 0 number text visibility set to: True (faceDown: False)
11-21 09:38:50.319 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=7, Color=Yellow, NumberText null: False
11-21 09:38:50.319 28473 28500 I Unity : Set tile text to: 7, text active: True
11-21 09:38:50.319 28473 28500 I Unity : Set sprite renderer sprite to: TileGreen for color Yellow (index 0)
11-21 09:38:50.320 28473 28500 I Unity : Tile 0 set to face-up
11-21 09:38:50.320 28473 28500 I Unity : Tile 7: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:50.320 28473 28500 I Unity : Created temporary drawn tile Yellow 7 for opponent Player 1
11-21 09:38:50.320 28473 28500 I Unity : UpdateDiscardCount called with: 0
11-21 09:38:50.320 28473 28500 I Unity : Set discard count text to: 0
11-21 09:38:50.320 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=False, HasUnplacedTile=True, TestModeAllAI=False
11-21 09:38:50.320 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:50.320 28473 28500 W Unity : Tile 11: SetInteractable(False) - No Collider2D found!
11-21 09:38:50.320 28473 28500 W Unity : Tile 20: SetInteractable(False) - No Collider2D found!
11-21 09:38:50.321 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:50.321 28473 28500 W Unity : Tile 12: SetInteractable(False) - No Collider2D found!
11-21 09:38:50.321 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:38:50.321 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:38:50.321 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:50.321 28473 28500 W Unity : Tile 13: SetInteractable(False) - No Collider2D found!
11-21 09:38:50.321 28473 28500 W Unity : Tile 7: SetInteractable(False) - No Collider2D found!
11-21 09:38:50.321 28473 28500 I Unity : UIDiscardDeck interactability set to: False
11-21 09:38:50.321 28473 28500 I Unity : Tile 2: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:50.321 28473 28500 I Unity : Tile 3: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:50.322 28473 28500 I Unity : Tile 10: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:50.322 28473 28500 I Unity : Tile 12: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:50.322 28473 28500 I Unity : Tile 14: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:50.322 28473 28500 I Unity : Tile 15: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:50.322 28473 28500 I Unity : Player 1 placed tiles interactivity set to: False
11-21 09:38:50.322 28473 28500 I Unity : Interactability updated for player 1
11-21 09:38:50.322 28473 28500 I Unity : Checking replacement: tile 7 replacing 2 at (0,0)
11-21 09:38:50.322 28473 28500 I Unity : Board state - Row 0: [2, 0, 0, 0]
11-21 09:38:50.322 28473 28500 I Unity : Board state - Col 0: [2, 0, 0, 0]
11-21 09:38:50.322 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:50.323 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 7 at (0, 1) failed constraints: row=True, col=False
11-21 09:38:50.323 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 7 at (0, 2) is VALID
11-21 09:38:50.323 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 7 at (0, 3) is VALID
11-21 09:38:50.323 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 7 at (1, 0) failed constraints: row=False, col=True
11-21 09:38:50.323 28473 28500 I Unity : Checking replacement: tile 7 replacing 3 at (1,1)
11-21 09:38:50.323 28473 28500 I Unity : Board state - Row 1: [0, 3, 10, 0]
11-21 09:38:50.323 28473 28500 I Unity : Board state - Col 1: [0, 3, 12, 0]
11-21 09:38:50.323 28473 28500 I Unity : Row check: tile 10 at (1,2) to right of 7 at (1,1)
11-21 09:38:50.323 28473 28500 I Unity : Col check: tile 12 at (2,1) below 7 at (1,1)
11-21 09:38:50.323 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:50.324 28473 28500 I Unity : Checking replacement: tile 7 replacing 10 at (1,2)
11-21 09:38:50.324 28473 28500 I Unity : Board state - Row 1: [0, 3, 10, 0]
11-21 09:38:50.324 28473 28500 I Unity : Board state - Col 2: [0, 10, 14, 0]
11-21 09:38:50.324 28473 28500 I Unity : Row check: tile 3 at (1,1) to left of 7 at (1,2)
11-21 09:38:50.324 28473 28500 I Unity : Col check: tile 14 at (2,2) below 7 at (1,2)
11-21 09:38:50.324 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:50.324 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 7 at (1, 3) failed constraints: row=False, col=True
11-21 09:38:50.324 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 7 at (2, 0) is VALID
11-21 09:38:50.324 28473 28500 I Unity : Checking replacement: tile 7 replacing 12 at (2,1)
11-21 09:38:50.324 28473 28500 I Unity : Board state - Row 2: [0, 12, 14, 0]
11-21 09:38:50.325 28473 28500 I Unity : Board state - Col 1: [0, 3, 12, 0]
11-21 09:38:50.325 28473 28500 I Unity : Row check: tile 14 at (2,2) to right of 7 at (2,1)
11-21 09:38:50.325 28473 28500 I Unity : Col check: tile 3 at (1,1) above 7 at (2,1)
11-21 09:38:50.325 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:50.325 28473 28500 I Unity : Checking replacement: tile 7 replacing 14 at (2,2)
11-21 09:38:50.325 28473 28500 I Unity : Board state - Row 2: [0, 12, 14, 0]
11-21 09:38:50.325 28473 28500 I Unity : Board state - Col 2: [0, 10, 14, 0]
11-21 09:38:50.325 28473 28500 I Unity : Row check: tile 12 at (2,1) to left of 7 at (2,2)
11-21 09:38:50.325 28473 28500 I Unity : ✗ Row constraint failed: 12 >= 7
11-21 09:38:50.325 28473 28500 I Unity : Col check: tile 10 at (1,2) above 7 at (2,2)
11-21 09:38:50.325 28473 28500 I Unity : ✗ Column constraint failed: 10 >= 7
11-21 09:38:50.326 28473 28500 I Unity : Replacement validation: row=False, col=False
11-21 09:38:50.326 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 7 at (2, 3) failed constraints: row=False, col=True
11-21 09:38:50.326 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 7 at (3, 0) is VALID
11-21 09:38:50.326 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 7 at (3, 1) failed constraints: row=True, col=False
11-21 09:38:50.326 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 7 at (3, 2) failed constraints: row=True, col=False
11-21 09:38:50.326 28473 28500 I Unity : Checking replacement: tile 7 replacing 15 at (3,3)
11-21 09:38:50.326 28473 28500 I Unity : Board state - Row 3: [0, 0, 0, 15]
11-21 09:38:50.326 28473 28500 I Unity : Board state - Col 3: [0, 0, 0, 15]
11-21 09:38:50.326 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:50.326 28473 28500 I Unity : Found 9 valid placements for tile Yellow 7
11-21 09:38:50.327 28473 28500 I Unity : Valid placements changed: 9 positions
11-21 09:38:50.327 28473 28500 I Unity : Highlighted 9 valid placements for Player 1
11-21 09:38:50.327 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (0, 0) already occupied by 2
11-21 09:38:50.327 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 7 at (0, 1) failed constraints: row=True, col=False
11-21 09:38:50.327 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 7 at (0, 2) is VALID
11-21 09:38:50.327 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 7 at (0, 3) is VALID
11-21 09:38:50.328 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 7 at (1, 0) failed constraints: row=False, col=True
11-21 09:38:50.328 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (1, 1) already occupied by 3
11-21 09:38:50.328 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (1, 2) already occupied by 10
11-21 09:38:50.328 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 7 at (1, 3) failed constraints: row=False, col=True
11-21 09:38:50.328 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 7 at (2, 0) is VALID
11-21 09:38:50.328 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (2, 1) already occupied by 12
11-21 09:38:50.328 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (2, 2) already occupied by 14
11-21 09:38:50.328 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 7 at (2, 3) failed constraints: row=False, col=True
11-21 09:38:50.328 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 7 at (3, 0) is VALID
11-21 09:38:50.328 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 7 at (3, 1) failed constraints: row=True, col=False
11-21 09:38:50.329 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 7 at (3, 2) failed constraints: row=True, col=False
11-21 09:38:50.329 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (3, 3) already occupied by 15
11-21 09:38:50.329 28473 28500 I Unity : Checking replacement: tile 7 replacing 2 at (0,0)
11-21 09:38:50.329 28473 28500 I Unity : Board state - Row 0: [2, 0, 0, 0]
11-21 09:38:50.329 28473 28500 I Unity : Board state - Col 0: [2, 0, 0, 0]
11-21 09:38:50.329 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:50.329 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 7 at (0, 1) failed constraints: row=True, col=False
11-21 09:38:50.329 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 7 at (0, 2) is VALID
11-21 09:38:50.329 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 7 at (0, 3) is VALID
11-21 09:38:50.329 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 7 at (1, 0) failed constraints: row=False, col=True
11-21 09:38:50.330 28473 28500 I Unity : Checking replacement: tile 7 replacing 3 at (1,1)
11-21 09:38:50.330 28473 28500 I Unity : Board state - Row 1: [0, 3, 10, 0]
11-21 09:38:50.330 28473 28500 I Unity : Board state - Col 1: [0, 3, 12, 0]
11-21 09:38:50.330 28473 28500 I Unity : Row check: tile 10 at (1,2) to right of 7 at (1,1)
11-21 09:38:50.330 28473 28500 I Unity : Col check: tile 12 at (2,1) below 7 at (1,1)
11-21 09:38:50.330 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:50.330 28473 28500 I Unity : Checking replacement: tile 7 replacing 10 at (1,2)
11-21 09:38:50.330 28473 28500 I Unity : Board state - Row 1: [0, 3, 10, 0]
11-21 09:38:50.330 28473 28500 I Unity : Board state - Col 2: [0, 10, 14, 0]
11-21 09:38:50.331 28473 28500 I Unity : Row check: tile 3 at (1,1) to left of 7 at (1,2)
11-21 09:38:50.331 28473 28500 I Unity : Col check: tile 14 at (2,2) below 7 at (1,2)
11-21 09:38:50.331 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:50.331 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 7 at (1, 3) failed constraints: row=False, col=True
11-21 09:38:50.331 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 7 at (2, 0) is VALID
11-21 09:38:50.331 28473 28500 I Unity : Checking replacement: tile 7 replacing 12 at (2,1)
11-21 09:38:50.331 28473 28500 I Unity : Board state - Row 2: [0, 12, 14, 0]
11-21 09:38:50.331 28473 28500 I Unity : Board state - Col 1: [0, 3, 12, 0]
11-21 09:38:50.331 28473 28500 I Unity : Row check: tile 14 at (2,2) to right of 7 at (2,1)
11-21 09:38:50.331 28473 28500 I Unity : Col check: tile 3 at (1,1) above 7 at (2,1)
11-21 09:38:50.332 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:50.332 28473 28500 I Unity : Checking replacement: tile 7 replacing 14 at (2,2)
11-21 09:38:50.332 28473 28500 I Unity : Board state - Row 2: [0, 12, 14, 0]
11-21 09:38:50.332 28473 28500 I Unity : Board state - Col 2: [0, 10, 14, 0]
11-21 09:38:50.332 28473 28500 I Unity : Row check: tile 12 at (2,1) to left of 7 at (2,2)
11-21 09:38:50.332 28473 28500 I Unity : ✗ Row constraint failed: 12 >= 7
11-21 09:38:50.332 28473 28500 I Unity : Col check: tile 10 at (1,2) above 7 at (2,2)
11-21 09:38:50.332 28473 28500 I Unity : ✗ Column constraint failed: 10 >= 7
11-21 09:38:50.332 28473 28500 I Unity : Replacement validation: row=False, col=False
11-21 09:38:50.332 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 7 at (2, 3) failed constraints: row=False, col=True
11-21 09:38:50.333 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 7 at (3, 0) is VALID
11-21 09:38:50.333 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 7 at (3, 1) failed constraints: row=True, col=False
11-21 09:38:50.333 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 7 at (3, 2) failed constraints: row=True, col=False
11-21 09:38:50.333 28473 28500 I Unity : Checking replacement: tile 7 replacing 15 at (3,3)
11-21 09:38:50.333 28473 28500 I Unity : Board state - Row 3: [0, 0, 0, 15]
11-21 09:38:50.333 28473 28500 I Unity : Board state - Col 3: [0, 0, 0, 15]
11-21 09:38:50.333 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:50.333 28473 28500 I Unity : Prefer empty-cell over replacement | emptyPolicy=1.54, replPolicy=0.19, penalty=0.50
11-21 09:38:50.334 28473 28500 I Unity : Chose empty-cell placement over replacement | emptyScore=1.54, replaceScore=0.19
11-21 09:38:50.334 28473 28500 I Unity : AI Player 1 placing tile at (2, 0)
11-21 09:38:50.334 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 7 at (0, 2) is VALID
11-21 09:38:50.334 28473 28500 I Unity : [PlayerBoard] Player 1 placed tile 07 at (0, 2) | Board now: 7/16 filled
11-21 09:38:50.334 28473 28500 I Unity : [PLACEMENT] ✓ Player 1 placed Yellow 7 at (0, 2) | Board: 7/16 filled | Remaining draw: 53
11-21 09:38:50.334 28473 28500 I Unity : Player 1 Board (7/16 filled):
11-21 09:38:50.334 28473 28500 I Unity : 02 -- 07 --
11-21 09:38:50.334 28473 28500 I Unity : -- 03 10 --
11-21 09:38:50.335 28473 28500 I Unity : -- 12 14 --
11-21 09:38:50.335 28473 28500 I Unity : -- -- -- 15
11-21 09:38:50.335 28473 28500 I Unity : Tile placed: Player 1 placed Yellow 7 at (0, 2)
11-21 09:38:50.335 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=False, HasUnplacedTile=True, TestModeAllAI=False
11-21 09:38:50.335 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:50.335 28473 28500 W Unity : Tile 11: SetInteractable(False) - No Collider2D found!
11-21 09:38:50.336 28473 28500 W Unity : Tile 20: SetInteractable(False) - No Collider2D found!
11-21 09:38:50.336 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:50.336 28473 28500 W Unity : Tile 12: SetInteractable(False) - No Collider2D found!
11-21 09:38:50.336 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:38:50.336 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:38:50.336 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:50.336 28473 28500 W Unity : Tile 13: SetInteractable(False) - No Collider2D found!
11-21 09:38:50.336 28473 28500 W Unity : Tile 7: SetInteractable(False) - No Collider2D found!
11-21 09:38:50.336 28473 28500 I Unity : UIDiscardDeck interactability set to: False
11-21 09:38:50.339 28473 28500 I Unity : Tile 2: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:50.339 28473 28500 I Unity : Tile 3: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:50.339 28473 28500 I Unity : Tile 10: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:50.339 28473 28500 I Unity : Tile 12: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:50.340 28473 28500 I Unity : Tile 14: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:50.340 28473 28500 I Unity : Tile 15: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:50.340 28473 28500 I Unity : Player 1 placed tiles interactivity set to: False
11-21 09:38:50.340 28473 28500 I Unity : Interactability updated for player 1
11-21 09:38:50.340 28473 28500 I Unity : Valid placements changed: 0 positions
11-21 09:38:50.340 28473 28500 I Unity : Highlighted 0 valid placements for Player 1
11-21 09:38:50.340 28473 28500 I Unity : ═══════════════════════════════════════════════════════
11-21 09:38:50.340 28473 28500 I Unity : TURN CHANGE: Player 1 → Player 2
11-21 09:38:50.341 28473 28500 I Unity : Turn #6 | Tiles Remaining: 53 | Discard Pile: 0
11-21 09:38:50.341 28473 28500 I Unity : ═══════════════════════════════════════════════════════
11-21 09:38:50.341 28473 28500 I Unity : Game state changed: Game State: Playing, Turn 6, Player 2, Draw: 53, Discard: 0
11-21 09:38:50.341 28473 28500 I Unity : Updating deck UI with remaining count: 53
11-21 09:38:50.341 28473 28500 I Unity : UpdateRemainingCount called with: 53
11-21 09:38:50.341 28473 28500 I Unity : Set deck count text to: 53
11-21 09:38:50.341 28473 28500 I Unity : Game UI updated
11-21 09:38:50.341 28473 28500 I Unity : Player turn changed to Player 2
11-21 09:38:50.341 28473 28500 I Unity : Player 0 current player status: False
11-21 09:38:50.342 28473 28500 I Unity : Player 1 current player status: False
11-21 09:38:50.342 28473 28500 I Unity : Player 2 current player status: True
11-21 09:38:50.342 28473 28500 I Unity : Player 3 current player status: False
11-21 09:38:50.342 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=False, HasUnplacedTile=False, TestModeAllAI=False
11-21 09:38:50.342 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:50.343 28473 28500 W Unity : Tile 11: SetInteractable(False) - No Collider2D found!
11-21 09:38:50.343 28473 28500 W Unity : Tile 20: SetInteractable(False) - No Collider2D found!
11-21 09:38:50.343 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:50.343 28473 28500 W Unity : Tile 12: SetInteractable(False) - No Collider2D found!
11-21 09:38:50.343 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:38:50.343 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:38:50.343 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:50.343 28473 28500 W Unity : Tile 13: SetInteractable(False) - No Collider2D found!
11-21 09:38:50.344 28473 28500 W Unity : Tile 7: SetInteractable(False) - No Collider2D found!
11-21 09:38:50.344 28473 28500 I Unity : UIDiscardDeck interactability set to: False
11-21 09:38:50.344 28473 28500 I Unity : Tile 1: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:50.344 28473 28500 I Unity : Tile 4: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:50.344 28473 28500 I Unity : Tile 11: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:50.344 28473 28500 I Unity : Tile 12: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:50.344 28473 28500 I Unity : Tile 14: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:50.344 28473 28500 I Unity : Tile 20: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:50.344 28473 28500 I Unity : Player 2 placed tiles interactivity set to: False
11-21 09:38:50.345 28473 28500 I Unity : Interactability updated for player 2
11-21 09:38:50.345 28473 28500 I Unity : Starting AI turn for Player 2
11-21 09:38:50.345 28473 28500 I Unity : Tile 4: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:50.813 28473 28500 I Unity : Tile 0 animation to (-4.48, 8.37, 0.00) complete
11-21 09:38:50.813 28473 28500 I Unity : Tile 2 number text visibility set to: True (faceDown: False)
11-21 09:38:50.813 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=7, Color=Yellow, NumberText null: False
11-21 09:38:50.813 28473 28500 I Unity : Set tile text to: 7, text active: True
11-21 09:38:50.814 28473 28500 I Unity : Set sprite renderer sprite to: TileGreen for color Yellow (index 0)
11-21 09:38:50.814 28473 28500 I Unity : Tile 2 set to face-up
11-21 09:38:50.814 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=7, Color=Yellow, NumberText null: False
11-21 09:38:50.814 28473 28500 I Unity : Set tile text to: 7, text active: True
11-21 09:38:50.814 28473 28500 I Unity : Set sprite renderer sprite to: TileGreen for color Yellow (index 0)
11-21 09:38:50.814 28473 28500 I Unity : Placed tile 7 on grid cell 2 at (2.00, 0.00)
11-21 09:38:50.814 28473 28500 I Unity : Animated opponent tile placement for Player 1 at (2, 0) (board scale: (0.50, 0.50, 1.00))
11-21 09:38:50.815 28473 28500 I Unity : AI Player 1 turn completed
11-21 09:38:50.815 28473 28500 I Unity : AI turn completed for Player 1
11-21 09:38:51.311 28473 28500 I Unity : AI Player 2 (MethodicalPlanner) starting turn...
11-21 09:38:53.985 28473 28500 I Unity : AI Player 2 decision: DrawFaceDown - Draw face-down tile - unknown potential (Score: 1.00)
11-21 09:38:53.985 28473 28500 I Unity : AI Player 2 drawing from face-down pile
11-21 09:38:53.985 28473 28500 I Unity : Drew tile: Purple 10 (52 tiles remaining)
11-21 09:38:53.985 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (0, 0) already occupied by 1
11-21 09:38:53.985 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (0, 1) failed constraints: row=True, col=False
11-21 09:38:53.985 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (0, 2) is VALID
11-21 09:38:53.986 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (0, 3) is VALID
11-21 09:38:53.986 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (1, 0) failed constraints: row=False, col=True
11-21 09:38:53.986 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (1, 1) already occupied by 4
11-21 09:38:53.986 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (1, 2) is VALID
11-21 09:38:53.986 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (1, 3) is VALID
11-21 09:38:53.986 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (2, 0) is VALID
11-21 09:38:53.986 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (2, 1) is VALID
11-21 09:38:53.986 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (2, 2) already occupied by 11
11-21 09:38:53.986 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (2, 3) already occupied by 12
11-21 09:38:53.986 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (3, 0) is VALID
11-21 09:38:53.986 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (3, 1) is VALID
11-21 09:38:53.987 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (3, 2) already occupied by 14
11-21 09:38:53.987 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (3, 3) already occupied by 20
11-21 09:38:53.987 28473 28500 I Unity : → Player 2 drew tile: Purple 10 from DrawPile | Valid placements: 8
11-21 09:38:53.987 28473 28500 I Unity : Tile drawn: Player 2 drew Purple 10
11-21 09:38:53.989 28473 28500 I Unity : UIGameTile Start: SpriteRenderer=True, NumberText=True
11-21 09:38:53.989 28473 28500 I Unity : SetTileData called with: Purple 10, Color enum: 2
11-21 09:38:53.989 28473 28500 I Unity : Updated _originalSprite to: TileRed for Purple
11-21 09:38:53.989 28473 28500 I Unity : Before UpdateVisualRepresentation: _color=Purple (enum: 2), GameTileSprites=4
11-21 09:38:53.989 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=10, Color=Purple, NumberText null: False
11-21 09:38:53.989 28473 28500 I Unity : Set tile text to: 10, text active: True
11-21 09:38:53.990 28473 28500 I Unity : Set sprite renderer sprite to: TileRed for color Purple (index 2)
11-21 09:38:53.990 28473 28500 I Unity : Tile 0 set to Purple 10
11-21 09:38:53.990 28473 28500 I Unity : Tile 0 number text visibility set to: True (faceDown: False)
11-21 09:38:53.990 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=10, Color=Purple, NumberText null: False
11-21 09:38:53.990 28473 28500 I Unity : Set tile text to: 10, text active: True
11-21 09:38:53.990 28473 28500 I Unity : Set sprite renderer sprite to: TileRed for color Purple (index 2)
11-21 09:38:53.990 28473 28500 I Unity : Tile 0 set to face-up
11-21 09:38:53.990 28473 28500 I Unity : Tile 10: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:53.991 28473 28500 I Unity : Created temporary drawn tile Purple 10 for opponent Player 2
11-21 09:38:53.991 28473 28500 I Unity : UpdateDiscardCount called with: 0
11-21 09:38:53.991 28473 28500 I Unity : Set discard count text to: 0
11-21 09:38:53.991 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=False, HasUnplacedTile=True, TestModeAllAI=False
11-21 09:38:53.991 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:53.991 28473 28500 W Unity : Tile 11: SetInteractable(False) - No Collider2D found!
11-21 09:38:53.991 28473 28500 W Unity : Tile 20: SetInteractable(False) - No Collider2D found!
11-21 09:38:53.991 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:53.991 28473 28500 W Unity : Tile 12: SetInteractable(False) - No Collider2D found!
11-21 09:38:53.991 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:38:53.992 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:38:53.992 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:53.992 28473 28500 W Unity : Tile 13: SetInteractable(False) - No Collider2D found!
11-21 09:38:53.992 28473 28500 W Unity : Tile 7: SetInteractable(False) - No Collider2D found!
11-21 09:38:53.992 28473 28500 I Unity : UIDiscardDeck interactability set to: False
11-21 09:38:53.992 28473 28500 I Unity : Tile 1: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:53.992 28473 28500 I Unity : Tile 4: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:53.992 28473 28500 I Unity : Tile 11: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:53.992 28473 28500 I Unity : Tile 12: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:53.992 28473 28500 I Unity : Tile 14: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:53.993 28473 28500 I Unity : Tile 20: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:53.993 28473 28500 I Unity : Player 2 placed tiles interactivity set to: False
11-21 09:38:53.993 28473 28500 I Unity : Interactability updated for player 2
11-21 09:38:53.993 28473 28500 I Unity : Checking replacement: tile 10 replacing 1 at (0,0)
11-21 09:38:53.993 28473 28500 I Unity : Board state - Row 0: [1, 0, 0, 0]
11-21 09:38:53.993 28473 28500 I Unity : Board state - Col 0: [1, 0, 0, 0]
11-21 09:38:53.993 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:53.993 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (0, 1) failed constraints: row=True, col=False
11-21 09:38:53.993 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (0, 2) is VALID
11-21 09:38:53.993 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (0, 3) is VALID
11-21 09:38:53.993 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (1, 0) failed constraints: row=False, col=True
11-21 09:38:53.994 28473 28500 I Unity : Checking replacement: tile 10 replacing 4 at (1,1)
11-21 09:38:53.994 28473 28500 I Unity : Board state - Row 1: [0, 4, 0, 0]
11-21 09:38:53.994 28473 28500 I Unity : Board state - Col 1: [0, 4, 0, 0]
11-21 09:38:53.994 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:53.994 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (1, 2) is VALID
11-21 09:38:53.994 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (1, 3) is VALID
11-21 09:38:53.994 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (2, 0) is VALID
11-21 09:38:53.994 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (2, 1) is VALID
11-21 09:38:53.994 28473 28500 I Unity : Checking replacement: tile 10 replacing 11 at (2,2)
11-21 09:38:53.994 28473 28500 I Unity : Board state - Row 2: [0, 0, 11, 12]
11-21 09:38:53.994 28473 28500 I Unity : Board state - Col 2: [0, 0, 11, 14]
11-21 09:38:53.995 28473 28500 I Unity : Row check: tile 12 at (2,3) to right of 10 at (2,2)
11-21 09:38:53.995 28473 28500 I Unity : Col check: tile 14 at (3,2) below 10 at (2,2)
11-21 09:38:53.995 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:53.995 28473 28500 I Unity : Checking replacement: tile 10 replacing 12 at (2,3)
11-21 09:38:53.995 28473 28500 I Unity : Board state - Row 2: [0, 0, 11, 12]
11-21 09:38:53.995 28473 28500 I Unity : Board state - Col 3: [0, 0, 12, 20]
11-21 09:38:53.995 28473 28500 I Unity : Row check: tile 11 at (2,2) to left of 10 at (2,3)
11-21 09:38:53.995 28473 28500 I Unity : ✗ Row constraint failed: 11 >= 10
11-21 09:38:53.995 28473 28500 I Unity : Col check: tile 20 at (3,3) below 10 at (2,3)
11-21 09:38:53.996 28473 28500 I Unity : Replacement validation: row=False, col=True
11-21 09:38:53.996 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (3, 0) is VALID
11-21 09:38:53.996 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (3, 1) is VALID
11-21 09:38:53.996 28473 28500 I Unity : Checking replacement: tile 10 replacing 14 at (3,2)
11-21 09:38:53.996 28473 28500 I Unity : Board state - Row 3: [0, 0, 14, 20]
11-21 09:38:53.996 28473 28500 I Unity : Board state - Col 2: [0, 0, 11, 14]
11-21 09:38:53.996 28473 28500 I Unity : Row check: tile 20 at (3,3) to right of 10 at (3,2)
11-21 09:38:53.996 28473 28500 I Unity : Col check: tile 11 at (2,2) above 10 at (3,2)
11-21 09:38:53.996 28473 28500 I Unity : ✗ Column constraint failed: 11 >= 10
11-21 09:38:53.996 28473 28500 I Unity : Replacement validation: row=True, col=False
11-21 09:38:53.996 28473 28500 I Unity : Checking replacement: tile 10 replacing 20 at (3,3)
11-21 09:38:53.997 28473 28500 I Unity : Board state - Row 3: [0, 0, 14, 20]
11-21 09:38:53.997 28473 28500 I Unity : Board state - Col 3: [0, 0, 12, 20]
11-21 09:38:53.997 28473 28500 I Unity : Row check: tile 14 at (3,2) to left of 10 at (3,3)
11-21 09:38:53.997 28473 28500 I Unity : ✗ Row constraint failed: 14 >= 10
11-21 09:38:53.997 28473 28500 I Unity : Col check: tile 12 at (2,3) above 10 at (3,3)
11-21 09:38:53.997 28473 28500 I Unity : ✗ Column constraint failed: 12 >= 10
11-21 09:38:53.997 28473 28500 I Unity : Replacement validation: row=False, col=False
11-21 09:38:53.997 28473 28500 I Unity : Found 11 valid placements for tile Purple 10
11-21 09:38:53.997 28473 28500 I Unity : Valid placements changed: 11 positions
11-21 09:38:53.998 28473 28500 I Unity : Highlighted 11 valid placements for Player 2
11-21 09:38:54.988 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (0, 0) already occupied by 1
11-21 09:38:54.988 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (0, 1) failed constraints: row=True, col=False
11-21 09:38:54.988 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (0, 2) is VALID
11-21 09:38:54.989 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (0, 3) is VALID
11-21 09:38:54.989 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (1, 0) failed constraints: row=False, col=True
11-21 09:38:54.989 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (1, 1) already occupied by 4
11-21 09:38:54.989 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (1, 2) is VALID
11-21 09:38:54.989 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (1, 3) is VALID
11-21 09:38:54.989 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (2, 0) is VALID
11-21 09:38:54.989 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (2, 1) is VALID
11-21 09:38:54.989 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (2, 2) already occupied by 11
11-21 09:38:54.989 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (2, 3) already occupied by 12
11-21 09:38:54.990 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (3, 0) is VALID
11-21 09:38:54.990 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (3, 1) is VALID
11-21 09:38:54.990 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (3, 2) already occupied by 14
11-21 09:38:54.990 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (3, 3) already occupied by 20
11-21 09:38:54.990 28473 28500 I Unity : Checking replacement: tile 10 replacing 1 at (0,0)
11-21 09:38:54.990 28473 28500 I Unity : Board state - Row 0: [1, 0, 0, 0]
11-21 09:38:54.990 28473 28500 I Unity : Board state - Col 0: [1, 0, 0, 0]
11-21 09:38:54.990 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:54.990 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (0, 1) failed constraints: row=True, col=False
11-21 09:38:54.990 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (0, 2) is VALID
11-21 09:38:54.990 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (0, 3) is VALID
11-21 09:38:54.991 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (1, 0) failed constraints: row=False, col=True
11-21 09:38:54.991 28473 28500 I Unity : Checking replacement: tile 10 replacing 4 at (1,1)
11-21 09:38:54.991 28473 28500 I Unity : Board state - Row 1: [0, 4, 0, 0]
11-21 09:38:54.991 28473 28500 I Unity : Board state - Col 1: [0, 4, 0, 0]
11-21 09:38:54.991 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:54.991 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (1, 2) is VALID
11-21 09:38:54.991 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (1, 3) is VALID
11-21 09:38:54.991 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (2, 0) is VALID
11-21 09:38:54.991 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (2, 1) is VALID
11-21 09:38:54.992 28473 28500 I Unity : Checking replacement: tile 10 replacing 11 at (2,2)
11-21 09:38:54.992 28473 28500 I Unity : Board state - Row 2: [0, 0, 11, 12]
11-21 09:38:54.992 28473 28500 I Unity : Board state - Col 2: [0, 0, 11, 14]
11-21 09:38:54.992 28473 28500 I Unity : Row check: tile 12 at (2,3) to right of 10 at (2,2)
11-21 09:38:54.992 28473 28500 I Unity : Col check: tile 14 at (3,2) below 10 at (2,2)
11-21 09:38:54.992 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:54.992 28473 28500 I Unity : Checking replacement: tile 10 replacing 12 at (2,3)
11-21 09:38:54.992 28473 28500 I Unity : Board state - Row 2: [0, 0, 11, 12]
11-21 09:38:54.992 28473 28500 I Unity : Board state - Col 3: [0, 0, 12, 20]
11-21 09:38:54.992 28473 28500 I Unity : Row check: tile 11 at (2,2) to left of 10 at (2,3)
11-21 09:38:54.992 28473 28500 I Unity : ✗ Row constraint failed: 11 >= 10
11-21 09:38:54.993 28473 28500 I Unity : Col check: tile 20 at (3,3) below 10 at (2,3)
11-21 09:38:54.993 28473 28500 I Unity : Replacement validation: row=False, col=True
11-21 09:38:54.993 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (3, 0) is VALID
11-21 09:38:54.993 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (3, 1) is VALID
11-21 09:38:54.993 28473 28500 I Unity : Checking replacement: tile 10 replacing 14 at (3,2)
11-21 09:38:54.993 28473 28500 I Unity : Board state - Row 3: [0, 0, 14, 20]
11-21 09:38:54.993 28473 28500 I Unity : Board state - Col 2: [0, 0, 11, 14]
11-21 09:38:54.993 28473 28500 I Unity : Row check: tile 20 at (3,3) to right of 10 at (3,2)
11-21 09:38:54.993 28473 28500 I Unity : Col check: tile 11 at (2,2) above 10 at (3,2)
11-21 09:38:54.993 28473 28500 I Unity : ✗ Column constraint failed: 11 >= 10
11-21 09:38:54.993 28473 28500 I Unity : Replacement validation: row=True, col=False
11-21 09:38:54.994 28473 28500 I Unity : Checking replacement: tile 10 replacing 20 at (3,3)
11-21 09:38:54.994 28473 28500 I Unity : Board state - Row 3: [0, 0, 14, 20]
11-21 09:38:54.994 28473 28500 I Unity : Board state - Col 3: [0, 0, 12, 20]
11-21 09:38:54.994 28473 28500 I Unity : Row check: tile 14 at (3,2) to left of 10 at (3,3)
11-21 09:38:54.994 28473 28500 I Unity : ✗ Row constraint failed: 14 >= 10
11-21 09:38:54.994 28473 28500 I Unity : Col check: tile 12 at (2,3) above 10 at (3,3)
11-21 09:38:54.994 28473 28500 I Unity : ✗ Column constraint failed: 12 >= 10
11-21 09:38:54.994 28473 28500 I Unity : Replacement validation: row=False, col=False
11-21 09:38:54.994 28473 28500 I Unity : AI Player 2 placing tile at (2, 1)
11-21 09:38:54.995 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 10 at (1, 2) is VALID
11-21 09:38:54.995 28473 28500 I Unity : [PlayerBoard] Player 2 placed tile 10 at (1, 2) | Board now: 7/16 filled
11-21 09:38:54.995 28473 28500 I Unity : [PLACEMENT] ✓ Player 2 placed Purple 10 at (1, 2) | Board: 7/16 filled | Remaining draw: 52
11-21 09:38:54.995 28473 28500 I Unity : Player 2 Board (7/16 filled):
11-21 09:38:54.995 28473 28500 I Unity : 01 -- -- --
11-21 09:38:54.995 28473 28500 I Unity : -- 04 10 --
11-21 09:38:54.995 28473 28500 I Unity : -- -- 11 12
11-21 09:38:54.996 28473 28500 I Unity : -- -- 14 20
11-21 09:38:54.996 28473 28500 I Unity : Tile placed: Player 2 placed Purple 10 at (1, 2)
11-21 09:38:54.996 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=False, HasUnplacedTile=True, TestModeAllAI=False
11-21 09:38:54.996 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:54.996 28473 28500 W Unity : Tile 11: SetInteractable(False) - No Collider2D found!
11-21 09:38:54.996 28473 28500 W Unity : Tile 20: SetInteractable(False) - No Collider2D found!
11-21 09:38:54.996 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:54.996 28473 28500 W Unity : Tile 12: SetInteractable(False) - No Collider2D found!
11-21 09:38:54.997 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:38:54.997 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:38:54.997 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:54.997 28473 28500 W Unity : Tile 13: SetInteractable(False) - No Collider2D found!
11-21 09:38:54.997 28473 28500 W Unity : Tile 7: SetInteractable(False) - No Collider2D found!
11-21 09:38:54.997 28473 28500 I Unity : UIDiscardDeck interactability set to: False
11-21 09:38:54.997 28473 28500 I Unity : Tile 1: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:54.997 28473 28500 I Unity : Tile 4: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:54.997 28473 28500 I Unity : Tile 11: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:54.997 28473 28500 I Unity : Tile 12: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:54.998 28473 28500 I Unity : Tile 14: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:54.998 28473 28500 I Unity : Tile 20: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:54.998 28473 28500 I Unity : Player 2 placed tiles interactivity set to: False
11-21 09:38:54.998 28473 28500 I Unity : Interactability updated for player 2
11-21 09:38:54.998 28473 28500 I Unity : Valid placements changed: 0 positions
11-21 09:38:54.998 28473 28500 I Unity : Highlighted 0 valid placements for Player 2
11-21 09:38:54.998 28473 28500 I Unity : ═══════════════════════════════════════════════════════
11-21 09:38:54.998 28473 28500 I Unity : TURN CHANGE: Player 2 → Player 3
11-21 09:38:54.998 28473 28500 I Unity : Turn #6 | Tiles Remaining: 52 | Discard Pile: 0
11-21 09:38:54.999 28473 28500 I Unity : ═══════════════════════════════════════════════════════
11-21 09:38:54.999 28473 28500 I Unity : Game state changed: Game State: Playing, Turn 6, Player 3, Draw: 52, Discard: 0
11-21 09:38:54.999 28473 28500 I Unity : Updating deck UI with remaining count: 52
11-21 09:38:54.999 28473 28500 I Unity : UpdateRemainingCount called with: 52
11-21 09:38:54.999 28473 28500 I Unity : Set deck count text to: 52
11-21 09:38:54.999 28473 28500 I Unity : Game UI updated
11-21 09:38:54.999 28473 28500 I Unity : Player turn changed to Player 3
11-21 09:38:54.999 28473 28500 I Unity : Player 0 current player status: False
11-21 09:38:55.000 28473 28500 I Unity : Player 1 current player status: False
11-21 09:38:55.000 28473 28500 I Unity : Player 2 current player status: False
11-21 09:38:55.000 28473 28500 I Unity : Player 3 current player status: True
11-21 09:38:55.000 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=False, HasUnplacedTile=False, TestModeAllAI=False
11-21 09:38:55.001 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:55.001 28473 28500 W Unity : Tile 11: SetInteractable(False) - No Collider2D found!
11-21 09:38:55.001 28473 28500 W Unity : Tile 20: SetInteractable(False) - No Collider2D found!
11-21 09:38:55.001 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:55.001 28473 28500 W Unity : Tile 12: SetInteractable(False) - No Collider2D found!
11-21 09:38:55.001 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:38:55.001 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:38:55.001 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:55.001 28473 28500 W Unity : Tile 13: SetInteractable(False) - No Collider2D found!
11-21 09:38:55.001 28473 28500 W Unity : Tile 7: SetInteractable(False) - No Collider2D found!
11-21 09:38:55.002 28473 28500 I Unity : UIDiscardDeck interactability set to: False
11-21 09:38:55.002 28473 28500 I Unity : Tile 7: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:55.002 28473 28500 I Unity : Tile 6: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:55.002 28473 28500 I Unity : Tile 13: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:55.002 28473 28500 I Unity : Tile 11: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:55.002 28473 28500 I Unity : Tile 14: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:55.003 28473 28500 I Unity : Tile 15: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:55.003 28473 28500 I Unity : Tile 20: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:55.003 28473 28500 I Unity : Player 3 placed tiles interactivity set to: False
11-21 09:38:55.003 28473 28500 I Unity : Interactability updated for player 3
11-21 09:38:55.003 28473 28500 I Unity : Starting AI turn for Player 3
11-21 09:38:55.003 28473 28500 I Unity : Tile 4: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:55.489 28473 28500 I Unity : Tile 0 animation to (0.52, 7.32, 0.00) complete
11-21 09:38:55.489 28473 28500 I Unity : Tile 6 number text visibility set to: True (faceDown: False)
11-21 09:38:55.489 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=10, Color=Purple, NumberText null: False
11-21 09:38:55.489 28473 28500 I Unity : Set tile text to: 10, text active: True
11-21 09:38:55.490 28473 28500 I Unity : Set sprite renderer sprite to: TileRed for color Purple (index 2)
11-21 09:38:55.490 28473 28500 I Unity : Tile 6 set to face-up
11-21 09:38:55.490 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=10, Color=Purple, NumberText null: False
11-21 09:38:55.490 28473 28500 I Unity : Set tile text to: 10, text active: True
11-21 09:38:55.490 28473 28500 I Unity : Set sprite renderer sprite to: TileRed for color Purple (index 2)
11-21 09:38:55.490 28473 28500 I Unity : Placed tile 10 on grid cell 6 at (2.00, 1.00)
11-21 09:38:55.490 28473 28500 I Unity : Animated opponent tile placement for Player 2 at (2, 1) (board scale: (0.50, 0.50, 1.00))
11-21 09:38:55.491 28473 28500 I Unity : AI Player 2 turn completed
11-21 09:38:55.491 28473 28500 I Unity : AI turn completed for Player 2
11-21 09:38:55.990 28473 28500 I Unity : AI Player 3 (MethodicalPlanner) starting turn...
11-21 09:38:58.695 28473 28500 I Unity : AI Player 3 decision: DrawFaceDown - Draw face-down tile - unknown potential (Score: 1.00)
11-21 09:38:58.695 28473 28500 I Unity : AI Player 3 drawing from face-down pile
11-21 09:38:58.695 28473 28500 I Unity : Drew tile: Purple 18 (51 tiles remaining)
11-21 09:38:58.695 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (0, 0) already occupied by 7
11-21 09:38:58.695 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 18 at (0, 1) failed constraints: row=True, col=False
11-21 09:38:58.695 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 18 at (0, 2) failed constraints: row=True, col=False
11-21 09:38:58.696 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 18 at (0, 3) failed constraints: row=True, col=False
11-21 09:38:58.696 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 18 at (1, 0) failed constraints: row=False, col=True
11-21 09:38:58.696 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (1, 1) already occupied by 6
11-21 09:38:58.696 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (1, 2) already occupied by 13
11-21 09:38:58.696 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 18 at (1, 3) failed constraints: row=True, col=False
11-21 09:38:58.696 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 18 at (2, 0) failed constraints: row=False, col=True
11-21 09:38:58.696 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (2, 1) already occupied by 11
11-21 09:38:58.696 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (2, 2) already occupied by 14
11-21 09:38:58.696 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (2, 3) already occupied by 15
11-21 09:38:58.696 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 18 at (3, 0) is VALID
11-21 09:38:58.697 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 18 at (3, 1) is VALID
11-21 09:38:58.697 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 18 at (3, 2) is VALID
11-21 09:38:58.697 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (3, 3) already occupied by 20
11-21 09:38:58.697 28473 28500 I Unity : → Player 3 drew tile: Purple 18 from DrawPile | Valid placements: 3
11-21 09:38:58.697 28473 28500 I Unity : Tile drawn: Player 3 drew Purple 18
11-21 09:38:58.698 28473 28500 I Unity : UIGameTile Start: SpriteRenderer=True, NumberText=True
11-21 09:38:58.698 28473 28500 I Unity : SetTileData called with: Purple 18, Color enum: 2
11-21 09:38:58.698 28473 28500 I Unity : Updated _originalSprite to: TileRed for Purple
11-21 09:38:58.699 28473 28500 I Unity : Before UpdateVisualRepresentation: _color=Purple (enum: 2), GameTileSprites=4
11-21 09:38:58.699 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=18, Color=Purple, NumberText null: False
11-21 09:38:58.699 28473 28500 I Unity : Set tile text to: 18, text active: True
11-21 09:38:58.699 28473 28500 I Unity : Set sprite renderer sprite to: TileRed for color Purple (index 2)
11-21 09:38:58.699 28473 28500 I Unity : Tile 0 set to Purple 18
11-21 09:38:58.699 28473 28500 I Unity : Tile 0 number text visibility set to: True (faceDown: False)
11-21 09:38:58.699 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=18, Color=Purple, NumberText null: False
11-21 09:38:58.700 28473 28500 I Unity : Set tile text to: 18, text active: True
11-21 09:38:58.700 28473 28500 I Unity : Set sprite renderer sprite to: TileRed for color Purple (index 2)
11-21 09:38:58.700 28473 28500 I Unity : Tile 0 set to face-up
11-21 09:38:58.700 28473 28500 I Unity : Tile 18: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:58.700 28473 28500 I Unity : Created temporary drawn tile Purple 18 for opponent Player 3
11-21 09:38:58.700 28473 28500 I Unity : UpdateDiscardCount called with: 0
11-21 09:38:58.700 28473 28500 I Unity : Set discard count text to: 0
11-21 09:38:58.700 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=False, HasUnplacedTile=True, TestModeAllAI=False
11-21 09:38:58.700 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:58.701 28473 28500 W Unity : Tile 11: SetInteractable(False) - No Collider2D found!
11-21 09:38:58.701 28473 28500 W Unity : Tile 20: SetInteractable(False) - No Collider2D found!
11-21 09:38:58.701 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:58.701 28473 28500 W Unity : Tile 12: SetInteractable(False) - No Collider2D found!
11-21 09:38:58.701 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:38:58.701 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:38:58.701 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:58.701 28473 28500 W Unity : Tile 13: SetInteractable(False) - No Collider2D found!
11-21 09:38:58.701 28473 28500 W Unity : Tile 7: SetInteractable(False) - No Collider2D found!
11-21 09:38:58.701 28473 28500 I Unity : UIDiscardDeck interactability set to: False
11-21 09:38:58.701 28473 28500 I Unity : Tile 7: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:58.702 28473 28500 I Unity : Tile 6: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:58.702 28473 28500 I Unity : Tile 13: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:58.702 28473 28500 I Unity : Tile 11: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:58.702 28473 28500 I Unity : Tile 14: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:58.702 28473 28500 I Unity : Tile 15: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:58.702 28473 28500 I Unity : Tile 20: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:58.702 28473 28500 I Unity : Player 3 placed tiles interactivity set to: False
11-21 09:38:58.702 28473 28500 I Unity : Interactability updated for player 3
11-21 09:38:58.702 28473 28500 I Unity : Checking replacement: tile 18 replacing 7 at (0,0)
11-21 09:38:58.702 28473 28500 I Unity : Board state - Row 0: [7, 0, 0, 0]
11-21 09:38:58.703 28473 28500 I Unity : Board state - Col 0: [7, 0, 0, 0]
11-21 09:38:58.703 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:58.703 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 18 at (0, 1) failed constraints: row=True, col=False
11-21 09:38:58.703 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 18 at (0, 2) failed constraints: row=True, col=False
11-21 09:38:58.703 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 18 at (0, 3) failed constraints: row=True, col=False
11-21 09:38:58.703 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 18 at (1, 0) failed constraints: row=False, col=True
11-21 09:38:58.703 28473 28500 I Unity : Checking replacement: tile 18 replacing 6 at (1,1)
11-21 09:38:58.703 28473 28500 I Unity : Board state - Row 1: [0, 6, 13, 0]
11-21 09:38:58.703 28473 28500 I Unity : Board state - Col 1: [0, 6, 11, 0]
11-21 09:38:58.703 28473 28500 I Unity : Row check: tile 13 at (1,2) to right of 18 at (1,1)
11-21 09:38:58.704 28473 28500 I Unity : ✗ Row constraint failed: 13 <= 18
11-21 09:38:58.704 28473 28500 I Unity : Col check: tile 11 at (2,1) below 18 at (1,1)
11-21 09:38:58.704 28473 28500 I Unity : ✗ Column constraint failed: 11 <= 18
11-21 09:38:58.704 28473 28500 I Unity : Replacement validation: row=False, col=False
11-21 09:38:58.704 28473 28500 I Unity : Checking replacement: tile 18 replacing 13 at (1,2)
11-21 09:38:58.704 28473 28500 I Unity : Board state - Row 1: [0, 6, 13, 0]
11-21 09:38:58.704 28473 28500 I Unity : Board state - Col 2: [0, 13, 14, 0]
11-21 09:38:58.704 28473 28500 I Unity : Row check: tile 6 at (1,1) to left of 18 at (1,2)
11-21 09:38:58.704 28473 28500 I Unity : Col check: tile 14 at (2,2) below 18 at (1,2)
11-21 09:38:58.704 28473 28500 I Unity : ✗ Column constraint failed: 14 <= 18
11-21 09:38:58.704 28473 28500 I Unity : Replacement validation: row=True, col=False
11-21 09:38:58.705 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 18 at (1, 3) failed constraints: row=True, col=False
11-21 09:38:58.705 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 18 at (2, 0) failed constraints: row=False, col=True
11-21 09:38:58.705 28473 28500 I Unity : Checking replacement: tile 18 replacing 11 at (2,1)
11-21 09:38:58.705 28473 28500 I Unity : Board state - Row 2: [0, 11, 14, 15]
11-21 09:38:58.705 28473 28500 I Unity : Board state - Col 1: [0, 6, 11, 0]
11-21 09:38:58.705 28473 28500 I Unity : Row check: tile 14 at (2,2) to right of 18 at (2,1)
11-21 09:38:58.705 28473 28500 I Unity : ✗ Row constraint failed: 14 <= 18
11-21 09:38:58.705 28473 28500 I Unity : Col check: tile 6 at (1,1) above 18 at (2,1)
11-21 09:38:58.705 28473 28500 I Unity : Replacement validation: row=False, col=True
11-21 09:38:58.705 28473 28500 I Unity : Checking replacement: tile 18 replacing 14 at (2,2)
11-21 09:38:58.705 28473 28500 I Unity : Board state - Row 2: [0, 11, 14, 15]
11-21 09:38:58.706 28473 28500 I Unity : Board state - Col 2: [0, 13, 14, 0]
11-21 09:38:58.706 28473 28500 I Unity : Row check: tile 11 at (2,1) to left of 18 at (2,2)
11-21 09:38:58.706 28473 28500 I Unity : Row check: tile 15 at (2,3) to right of 18 at (2,2)
11-21 09:38:58.706 28473 28500 I Unity : ✗ Row constraint failed: 15 <= 18
11-21 09:38:58.706 28473 28500 I Unity : Col check: tile 13 at (1,2) above 18 at (2,2)
11-21 09:38:58.706 28473 28500 I Unity : Replacement validation: row=False, col=True
11-21 09:38:58.706 28473 28500 I Unity : Checking replacement: tile 18 replacing 15 at (2,3)
11-21 09:38:58.706 28473 28500 I Unity : Board state - Row 2: [0, 11, 14, 15]
11-21 09:38:58.706 28473 28500 I Unity : Board state - Col 3: [0, 0, 15, 20]
11-21 09:38:58.706 28473 28500 I Unity : Row check: tile 14 at (2,2) to left of 18 at (2,3)
11-21 09:38:58.707 28473 28500 I Unity : Col check: tile 20 at (3,3) below 18 at (2,3)
11-21 09:38:58.707 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:58.707 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 18 at (3, 0) is VALID
11-21 09:38:58.707 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 18 at (3, 1) is VALID
11-21 09:38:58.707 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 18 at (3, 2) is VALID
11-21 09:38:58.707 28473 28500 I Unity : Checking replacement: tile 18 replacing 20 at (3,3)
11-21 09:38:58.707 28473 28500 I Unity : Board state - Row 3: [0, 0, 0, 20]
11-21 09:38:58.707 28473 28500 I Unity : Board state - Col 3: [0, 0, 15, 20]
11-21 09:38:58.707 28473 28500 I Unity : Col check: tile 15 at (2,3) above 18 at (3,3)
11-21 09:38:58.707 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:58.708 28473 28500 I Unity : Found 6 valid placements for tile Purple 18
11-21 09:38:58.708 28473 28500 I Unity : Valid placements changed: 6 positions
11-21 09:38:58.708 28473 28500 I Unity : Highlighted 6 valid placements for Player 3
11-21 09:38:59.697 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (0, 0) already occupied by 7
11-21 09:38:59.697 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 18 at (0, 1) failed constraints: row=True, col=False
11-21 09:38:59.697 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 18 at (0, 2) failed constraints: row=True, col=False
11-21 09:38:59.698 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 18 at (0, 3) failed constraints: row=True, col=False
11-21 09:38:59.698 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 18 at (1, 0) failed constraints: row=False, col=True
11-21 09:38:59.698 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (1, 1) already occupied by 6
11-21 09:38:59.698 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (1, 2) already occupied by 13
11-21 09:38:59.698 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 18 at (1, 3) failed constraints: row=True, col=False
11-21 09:38:59.698 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 18 at (2, 0) failed constraints: row=False, col=True
11-21 09:38:59.698 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (2, 1) already occupied by 11
11-21 09:38:59.698 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (2, 2) already occupied by 14
11-21 09:38:59.698 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (2, 3) already occupied by 15
11-21 09:38:59.698 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 18 at (3, 0) is VALID
11-21 09:38:59.699 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 18 at (3, 1) is VALID
11-21 09:38:59.699 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 18 at (3, 2) is VALID
11-21 09:38:59.699 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (3, 3) already occupied by 20
11-21 09:38:59.699 28473 28500 I Unity : Checking replacement: tile 18 replacing 7 at (0,0)
11-21 09:38:59.699 28473 28500 I Unity : Board state - Row 0: [7, 0, 0, 0]
11-21 09:38:59.699 28473 28500 I Unity : Board state - Col 0: [7, 0, 0, 0]
11-21 09:38:59.699 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:59.699 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 18 at (0, 1) failed constraints: row=True, col=False
11-21 09:38:59.699 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 18 at (0, 2) failed constraints: row=True, col=False
11-21 09:38:59.699 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 18 at (0, 3) failed constraints: row=True, col=False
11-21 09:38:59.700 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 18 at (1, 0) failed constraints: row=False, col=True
11-21 09:38:59.700 28473 28500 I Unity : Checking replacement: tile 18 replacing 6 at (1,1)
11-21 09:38:59.700 28473 28500 I Unity : Board state - Row 1: [0, 6, 13, 0]
11-21 09:38:59.700 28473 28500 I Unity : Board state - Col 1: [0, 6, 11, 0]
11-21 09:38:59.700 28473 28500 I Unity : Row check: tile 13 at (1,2) to right of 18 at (1,1)
11-21 09:38:59.700 28473 28500 I Unity : ✗ Row constraint failed: 13 <= 18
11-21 09:38:59.700 28473 28500 I Unity : Col check: tile 11 at (2,1) below 18 at (1,1)
11-21 09:38:59.700 28473 28500 I Unity : ✗ Column constraint failed: 11 <= 18
11-21 09:38:59.700 28473 28500 I Unity : Replacement validation: row=False, col=False
11-21 09:38:59.700 28473 28500 I Unity : Checking replacement: tile 18 replacing 13 at (1,2)
11-21 09:38:59.700 28473 28500 I Unity : Board state - Row 1: [0, 6, 13, 0]
11-21 09:38:59.701 28473 28500 I Unity : Board state - Col 2: [0, 13, 14, 0]
11-21 09:38:59.701 28473 28500 I Unity : Row check: tile 6 at (1,1) to left of 18 at (1,2)
11-21 09:38:59.701 28473 28500 I Unity : Col check: tile 14 at (2,2) below 18 at (1,2)
11-21 09:38:59.701 28473 28500 I Unity : ✗ Column constraint failed: 14 <= 18
11-21 09:38:59.701 28473 28500 I Unity : Replacement validation: row=True, col=False
11-21 09:38:59.701 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 18 at (1, 3) failed constraints: row=True, col=False
11-21 09:38:59.701 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 18 at (2, 0) failed constraints: row=False, col=True
11-21 09:38:59.701 28473 28500 I Unity : Checking replacement: tile 18 replacing 11 at (2,1)
11-21 09:38:59.701 28473 28500 I Unity : Board state - Row 2: [0, 11, 14, 15]
11-21 09:38:59.701 28473 28500 I Unity : Board state - Col 1: [0, 6, 11, 0]
11-21 09:38:59.701 28473 28500 I Unity : Row check: tile 14 at (2,2) to right of 18 at (2,1)
11-21 09:38:59.702 28473 28500 I Unity : ✗ Row constraint failed: 14 <= 18
11-21 09:38:59.702 28473 28500 I Unity : Col check: tile 6 at (1,1) above 18 at (2,1)
11-21 09:38:59.702 28473 28500 I Unity : Replacement validation: row=False, col=True
11-21 09:38:59.702 28473 28500 I Unity : Checking replacement: tile 18 replacing 14 at (2,2)
11-21 09:38:59.702 28473 28500 I Unity : Board state - Row 2: [0, 11, 14, 15]
11-21 09:38:59.702 28473 28500 I Unity : Board state - Col 2: [0, 13, 14, 0]
11-21 09:38:59.702 28473 28500 I Unity : Row check: tile 11 at (2,1) to left of 18 at (2,2)
11-21 09:38:59.702 28473 28500 I Unity : Row check: tile 15 at (2,3) to right of 18 at (2,2)
11-21 09:38:59.702 28473 28500 I Unity : ✗ Row constraint failed: 15 <= 18
11-21 09:38:59.702 28473 28500 I Unity : Col check: tile 13 at (1,2) above 18 at (2,2)
11-21 09:38:59.702 28473 28500 I Unity : Replacement validation: row=False, col=True
11-21 09:38:59.703 28473 28500 I Unity : Checking replacement: tile 18 replacing 15 at (2,3)
11-21 09:38:59.703 28473 28500 I Unity : Board state - Row 2: [0, 11, 14, 15]
11-21 09:38:59.703 28473 28500 I Unity : Board state - Col 3: [0, 0, 15, 20]
11-21 09:38:59.703 28473 28500 I Unity : Row check: tile 14 at (2,2) to left of 18 at (2,3)
11-21 09:38:59.703 28473 28500 I Unity : Col check: tile 20 at (3,3) below 18 at (2,3)
11-21 09:38:59.703 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:59.703 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 18 at (3, 0) is VALID
11-21 09:38:59.703 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 18 at (3, 1) is VALID
11-21 09:38:59.703 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 18 at (3, 2) is VALID
11-21 09:38:59.703 28473 28500 I Unity : Checking replacement: tile 18 replacing 20 at (3,3)
11-21 09:38:59.704 28473 28500 I Unity : Board state - Row 3: [0, 0, 0, 20]
11-21 09:38:59.704 28473 28500 I Unity : Board state - Col 3: [0, 0, 15, 20]
11-21 09:38:59.704 28473 28500 I Unity : Col check: tile 15 at (2,3) above 18 at (3,3)
11-21 09:38:59.704 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:38:59.704 28473 28500 I Unity : AI Player 3 placing tile at (2, 3)
11-21 09:38:59.704 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 18 at (3, 2) is VALID
11-21 09:38:59.704 28473 28500 I Unity : [PlayerBoard] Player 3 placed tile 18 at (3, 2) | Board now: 8/16 filled
11-21 09:38:59.705 28473 28500 I Unity : [PLACEMENT] ✓ Player 3 placed Purple 18 at (3, 2) | Board: 8/16 filled | Remaining draw: 51
11-21 09:38:59.705 28473 28500 I Unity : Player 3 Board (8/16 filled):
11-21 09:38:59.705 28473 28500 I Unity : 07 -- -- --
11-21 09:38:59.705 28473 28500 I Unity : -- 06 13 --
11-21 09:38:59.705 28473 28500 I Unity : -- 11 14 15
11-21 09:38:59.705 28473 28500 I Unity : -- -- 18 20
11-21 09:38:59.705 28473 28500 I Unity : Tile placed: Player 3 placed Purple 18 at (3, 2)
11-21 09:38:59.705 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=False, HasUnplacedTile=True, TestModeAllAI=False
11-21 09:38:59.706 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:59.706 28473 28500 W Unity : Tile 11: SetInteractable(False) - No Collider2D found!
11-21 09:38:59.706 28473 28500 W Unity : Tile 20: SetInteractable(False) - No Collider2D found!
11-21 09:38:59.706 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:59.706 28473 28500 W Unity : Tile 12: SetInteractable(False) - No Collider2D found!
11-21 09:38:59.706 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:38:59.706 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:38:59.706 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:38:59.706 28473 28500 W Unity : Tile 13: SetInteractable(False) - No Collider2D found!
11-21 09:38:59.706 28473 28500 W Unity : Tile 7: SetInteractable(False) - No Collider2D found!
11-21 09:38:59.707 28473 28500 I Unity : UIDiscardDeck interactability set to: False
11-21 09:38:59.707 28473 28500 I Unity : Tile 7: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:59.707 28473 28500 I Unity : Tile 6: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:59.707 28473 28500 I Unity : Tile 13: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:59.707 28473 28500 I Unity : Tile 11: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:59.707 28473 28500 I Unity : Tile 14: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:59.707 28473 28500 I Unity : Tile 15: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:59.707 28473 28500 I Unity : Tile 20: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:59.707 28473 28500 I Unity : Player 3 placed tiles interactivity set to: False
11-21 09:38:59.707 28473 28500 I Unity : Interactability updated for player 3
11-21 09:38:59.708 28473 28500 I Unity : Valid placements changed: 0 positions
11-21 09:38:59.708 28473 28500 I Unity : Highlighted 0 valid placements for Player 3
11-21 09:38:59.708 28473 28500 I Unity : ═══════════════════════════════════════════════════════
11-21 09:38:59.708 28473 28500 I Unity : TURN CHANGE: Player 3 → Player 0
11-21 09:38:59.708 28473 28500 I Unity : Turn #7 | Tiles Remaining: 51 | Discard Pile: 0
11-21 09:38:59.708 28473 28500 I Unity : ═══════════════════════════════════════════════════════
11-21 09:38:59.708 28473 28500 I Unity : Game state changed: Game State: Playing, Turn 7, Player 0, Draw: 51, Discard: 0
11-21 09:38:59.708 28473 28500 I Unity : Updating deck UI with remaining count: 51
11-21 09:38:59.708 28473 28500 I Unity : UpdateRemainingCount called with: 51
11-21 09:38:59.709 28473 28500 I Unity : Set deck count text to: 51
11-21 09:38:59.709 28473 28500 I Unity : Game UI updated
11-21 09:38:59.709 28473 28500 I Unity : Player turn changed to Player 0
11-21 09:38:59.709 28473 28500 I Unity : Player 0 current player status: True
11-21 09:38:59.710 28473 28500 I Unity : Player 1 current player status: False
11-21 09:38:59.710 28473 28500 I Unity : Player 2 current player status: False
11-21 09:38:59.710 28473 28500 I Unity : Player 3 current player status: False
11-21 09:38:59.710 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=True, HasUnplacedTile=False, TestModeAllAI=False
11-21 09:38:59.710 28473 28500 W Unity : Tile 14: SetInteractable(True) - No Collider2D found!
11-21 09:38:59.710 28473 28500 W Unity : Tile 11: SetInteractable(True) - No Collider2D found!
11-21 09:38:59.710 28473 28500 W Unity : Tile 20: SetInteractable(True) - No Collider2D found!
11-21 09:38:59.710 28473 28500 W Unity : Tile 14: SetInteractable(True) - No Collider2D found!
11-21 09:38:59.710 28473 28500 W Unity : Tile 12: SetInteractable(True) - No Collider2D found!
11-21 09:38:59.710 28473 28500 W Unity : Tile 15: SetInteractable(True) - No Collider2D found!
11-21 09:38:59.711 28473 28500 W Unity : Tile 15: SetInteractable(True) - No Collider2D found!
11-21 09:38:59.711 28473 28500 W Unity : Tile 14: SetInteractable(True) - No Collider2D found!
11-21 09:38:59.711 28473 28500 W Unity : Tile 13: SetInteractable(True) - No Collider2D found!
11-21 09:38:59.711 28473 28500 W Unity : Tile 7: SetInteractable(True) - No Collider2D found!
11-21 09:38:59.711 28473 28500 I Unity : UIDiscardDeck interactability set to: True
11-21 09:38:59.711 28473 28500 I Unity : Tile 2: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:59.711 28473 28500 I Unity : Tile 7: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:59.711 28473 28500 I Unity : Tile 8: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:59.711 28473 28500 I Unity : Tile 10: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:59.712 28473 28500 I Unity : Tile 11: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:59.712 28473 28500 I Unity : Tile 16: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:38:59.712 28473 28500 I Unity : Player 0 placed tiles interactivity set to: False
11-21 09:38:59.712 28473 28500 I Unity : Interactability updated for player 0
11-21 09:38:59.712 28473 28500 I Unity : Tile 4: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:39:00.197 28473 28500 I Unity : Tile 0 animation to (5.53, 5.22, 0.00) complete
11-21 09:39:00.197 28473 28500 I Unity : Tile 14 number text visibility set to: True (faceDown: False)
11-21 09:39:00.198 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=18, Color=Purple, NumberText null: False
11-21 09:39:00.198 28473 28500 I Unity : Set tile text to: 18, text active: True
11-21 09:39:00.198 28473 28500 I Unity : Set sprite renderer sprite to: TileRed for color Purple (index 2)
11-21 09:39:00.198 28473 28500 I Unity : Tile 14 set to face-up
11-21 09:39:00.198 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=18, Color=Purple, NumberText null: False
11-21 09:39:00.198 28473 28500 I Unity : Set tile text to: 18, text active: True
11-21 09:39:00.198 28473 28500 I Unity : Set sprite renderer sprite to: TileRed for color Purple (index 2)
11-21 09:39:00.199 28473 28500 I Unity : Placed tile 18 on grid cell 14 at (2.00, 3.00)
11-21 09:39:00.199 28473 28500 I Unity : Animated opponent tile placement for Player 3 at (2, 3) (board scale: (0.50, 0.50, 1.00))
11-21 09:39:00.199 28473 28500 I Unity : AI Player 3 turn completed
11-21 09:39:00.199 28473 28500 I Unity : AI turn completed for Player 3
11-21 09:39:02.299 28473 28500 I Unity : Interacting with discard deck
11-21 09:39:02.299 28473 28500 I Unity : Checking replacement: tile 7 replacing 2 at (0,0)
11-21 09:39:02.299 28473 28500 I Unity : Board state - Row 0: [2, 0, 0, 0]
11-21 09:39:02.299 28473 28500 I Unity : Board state - Col 0: [2, 0, 0, 0]
11-21 09:39:02.299 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:39:02.300 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 7 at (0, 1) failed constraints: row=True, col=False
11-21 09:39:02.300 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 7 at (0, 2) is VALID
11-21 09:39:02.300 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 7 at (0, 3) is VALID
11-21 09:39:02.300 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 7 at (1, 0) failed constraints: row=False, col=True
11-21 09:39:02.300 28473 28500 I Unity : Checking replacement: tile 7 replacing 7 at (1,1)
11-21 09:39:02.300 28473 28500 I Unity : Board state - Row 1: [0, 7, 8, 0]
11-21 09:39:02.300 28473 28500 I Unity : Board state - Col 1: [0, 7, 10, 0]
11-21 09:39:02.300 28473 28500 I Unity : Row check: tile 8 at (1,2) to right of 7 at (1,1)
11-21 09:39:02.300 28473 28500 I Unity : Col check: tile 10 at (2,1) below 7 at (1,1)
11-21 09:39:02.300 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:39:02.300 28473 28500 I Unity : Checking replacement: tile 7 replacing 8 at (1,2)
11-21 09:39:02.300 28473 28500 I Unity : Board state - Row 1: [0, 7, 8, 0]
11-21 09:39:02.300 28473 28500 I Unity : Board state - Col 2: [0, 8, 11, 0]
11-21 09:39:02.301 28473 28500 I Unity : Row check: tile 7 at (1,1) to left of 7 at (1,2)
11-21 09:39:02.301 28473 28500 I Unity : ✗ Row constraint failed: 7 >= 7
11-21 09:39:02.301 28473 28500 I Unity : Col check: tile 11 at (2,2) below 7 at (1,2)
11-21 09:39:02.301 28473 28500 I Unity : Replacement validation: row=False, col=True
11-21 09:39:02.301 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 7 at (1, 3) failed constraints: row=False, col=True
11-21 09:39:02.301 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 7 at (2, 0) is VALID
11-21 09:39:02.301 28473 28500 I Unity : Checking replacement: tile 7 replacing 10 at (2,1)
11-21 09:39:02.301 28473 28500 I Unity : Board state - Row 2: [0, 10, 11, 0]
11-21 09:39:02.301 28473 28500 I Unity : Board state - Col 1: [0, 7, 10, 0]
11-21 09:39:02.301 28473 28500 I Unity : Row check: tile 11 at (2,2) to right of 7 at (2,1)
11-21 09:39:02.301 28473 28500 I Unity : Col check: tile 7 at (1,1) above 7 at (2,1)
11-21 09:39:02.301 28473 28500 I Unity : ✗ Column constraint failed: 7 >= 7
11-21 09:39:02.301 28473 28500 I Unity : Replacement validation: row=True, col=False
11-21 09:39:02.302 28473 28500 I Unity : Checking replacement: tile 7 replacing 11 at (2,2)
11-21 09:39:02.302 28473 28500 I Unity : Board state - Row 2: [0, 10, 11, 0]
11-21 09:39:02.302 28473 28500 I Unity : Board state - Col 2: [0, 8, 11, 0]
11-21 09:39:02.302 28473 28500 I Unity : Row check: tile 10 at (2,1) to left of 7 at (2,2)
11-21 09:39:02.302 28473 28500 I Unity : ✗ Row constraint failed: 10 >= 7
11-21 09:39:02.302 28473 28500 I Unity : Col check: tile 8 at (1,2) above 7 at (2,2)
11-21 09:39:02.302 28473 28500 I Unity : ✗ Column constraint failed: 8 >= 7
11-21 09:39:02.302 28473 28500 I Unity : Replacement validation: row=False, col=False
11-21 09:39:02.302 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 7 at (2, 3) failed constraints: row=False, col=True
11-21 09:39:02.302 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 7 at (3, 0) is VALID
11-21 09:39:02.302 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 7 at (3, 1) failed constraints: row=True, col=False
11-21 09:39:02.302 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 7 at (3, 2) failed constraints: row=True, col=False
11-21 09:39:02.302 28473 28500 I Unity : Checking replacement: tile 7 replacing 16 at (3,3)
11-21 09:39:02.302 28473 28500 I Unity : Board state - Row 3: [0, 0, 0, 16]
11-21 09:39:02.303 28473 28500 I Unity : Board state - Col 3: [0, 0, 0, 16]
11-21 09:39:02.303 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:39:02.303 28473 28500 I Unity : Tile 7 has 7 valid placements - allowing player to take it
11-21 09:39:02.303 28473 28500 W Unity : TileManager reports discard pile is empty - cannot take tile
11-21 09:39:03.367 28473 28500 I Unity : Interacting with tile 0 (Number: 4)
11-21 09:39:03.367 28473 28500 I Unity : Player clicked deck card: Green 4
11-21 09:39:03.368 28473 28500 I Unity : SelectDeckCard called. HasUnplacedTile: False, CurrentPlayerTile:
11-21 09:39:03.368 28473 28500 I Unity : Tile 0 number text visibility set to: True (faceDown: False)
11-21 09:39:03.368 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=4, Color=Green, NumberText null: False
11-21 09:39:03.368 28473 28500 I Unity : Set tile text to: 4, text active: True
11-21 09:39:03.368 28473 28500 I Unity : Set sprite renderer sprite to: TileYellow for color Green (index 3)
11-21 09:39:03.368 28473 28500 I Unity : Tile 0 set to face-up
11-21 09:39:03.368 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=4, Color=Green, NumberText null: False
11-21 09:39:03.369 28473 28500 I Unity : Set tile text to: 4, text active: True
11-21 09:39:03.369 28473 28500 I Unity : Set sprite renderer sprite to: TileYellow for color Green (index 3)
11-21 09:39:03.369 28473 28500 I Unity : Tile 0 selection set to: True
11-21 09:39:03.369 28473 28500 I Unity : About to set current player tile. Current HasUnplacedTile: False
11-21 09:39:03.369 28473 28500 I Unity : SetCurrentPlayerTile called with tile: Green 4, current HasUnplacedTile: False
11-21 09:39:03.369 28473 28500 I Unity : Set current player tile to: Green 4 from DrawPile, HasUnplacedTile is now: True
11-21 09:39:03.369 28473 28500 I Unity : Tile drawn: Player 0 drew Green 4
11-21 09:39:03.369 28473 28500 I Unity : UpdateDiscardCount called with: 0
11-21 09:39:03.369 28473 28500 I Unity : Set discard count text to: 0
11-21 09:39:03.369 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=True, HasUnplacedTile=True, TestModeAllAI=False
11-21 09:39:03.370 28473 28500 W Unity : Tile 14: SetInteractable(True) - No Collider2D found!
11-21 09:39:03.370 28473 28500 W Unity : Tile 11: SetInteractable(True) - No Collider2D found!
11-21 09:39:03.370 28473 28500 W Unity : Tile 20: SetInteractable(True) - No Collider2D found!
11-21 09:39:03.370 28473 28500 W Unity : Tile 14: SetInteractable(True) - No Collider2D found!
11-21 09:39:03.370 28473 28500 W Unity : Tile 12: SetInteractable(True) - No Collider2D found!
11-21 09:39:03.370 28473 28500 W Unity : Tile 15: SetInteractable(True) - No Collider2D found!
11-21 09:39:03.370 28473 28500 W Unity : Tile 15: SetInteractable(True) - No Collider2D found!
11-21 09:39:03.370 28473 28500 W Unity : Tile 14: SetInteractable(True) - No Collider2D found!
11-21 09:39:03.370 28473 28500 W Unity : Tile 13: SetInteractable(True) - No Collider2D found!
11-21 09:39:03.370 28473 28500 W Unity : Tile 7: SetInteractable(True) - No Collider2D found!
11-21 09:39:03.370 28473 28500 I Unity : UIDiscardDeck interactability set to: True
11-21 09:39:03.371 28473 28500 I Unity : Tile 2: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:39:03.371 28473 28500 I Unity : Tile 7: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:39:03.371 28473 28500 I Unity : Tile 8: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:39:03.371 28473 28500 I Unity : Tile 10: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:39:03.371 28473 28500 I Unity : Tile 11: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:39:03.371 28473 28500 I Unity : Tile 16: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:39:03.371 28473 28500 I Unity : Player 0 placed tiles interactivity set to: True
11-21 09:39:03.371 28473 28500 I Unity : Interactability updated for player 0
11-21 09:39:03.372 28473 28500 I Unity : Checking replacement: tile 4 replacing 2 at (0,0)
11-21 09:39:03.372 28473 28500 I Unity : Board state - Row 0: [2, 0, 0, 0]
11-21 09:39:03.372 28473 28500 I Unity : Board state - Col 0: [2, 0, 0, 0]
11-21 09:39:03.372 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:39:03.372 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (0, 1) is VALID
11-21 09:39:03.372 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (0, 2) is VALID
11-21 09:39:03.372 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (0, 3) is VALID
11-21 09:39:03.372 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (1, 0) is VALID
11-21 09:39:03.372 28473 28500 I Unity : Checking replacement: tile 4 replacing 7 at (1,1)
11-21 09:39:03.372 28473 28500 I Unity : Board state - Row 1: [0, 7, 8, 0]
11-21 09:39:03.372 28473 28500 I Unity : Board state - Col 1: [0, 7, 10, 0]
11-21 09:39:03.372 28473 28500 I Unity : Row check: tile 8 at (1,2) to right of 4 at (1,1)
11-21 09:39:03.373 28473 28500 I Unity : Col check: tile 10 at (2,1) below 4 at (1,1)
11-21 09:39:03.373 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:39:03.373 28473 28500 I Unity : Checking replacement: tile 4 replacing 8 at (1,2)
11-21 09:39:03.373 28473 28500 I Unity : Board state - Row 1: [0, 7, 8, 0]
11-21 09:39:03.373 28473 28500 I Unity : Board state - Col 2: [0, 8, 11, 0]
11-21 09:39:03.373 28473 28500 I Unity : Row check: tile 7 at (1,1) to left of 4 at (1,2)
11-21 09:39:03.373 28473 28500 I Unity : ✗ Row constraint failed: 7 >= 4
11-21 09:39:03.373 28473 28500 I Unity : Col check: tile 11 at (2,2) below 4 at (1,2)
11-21 09:39:03.373 28473 28500 I Unity : Replacement validation: row=False, col=True
11-21 09:39:03.373 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (1, 3) failed constraints: row=False, col=True
11-21 09:39:03.373 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (2, 0) is VALID
11-21 09:39:03.373 28473 28500 I Unity : Checking replacement: tile 4 replacing 10 at (2,1)
11-21 09:39:03.374 28473 28500 I Unity : Board state - Row 2: [0, 10, 11, 0]
11-21 09:39:03.374 28473 28500 I Unity : Board state - Col 1: [0, 7, 10, 0]
11-21 09:39:03.374 28473 28500 I Unity : Row check: tile 11 at (2,2) to right of 4 at (2,1)
11-21 09:39:03.374 28473 28500 I Unity : Col check: tile 7 at (1,1) above 4 at (2,1)
11-21 09:39:03.374 28473 28500 I Unity : ✗ Column constraint failed: 7 >= 4
11-21 09:39:03.374 28473 28500 I Unity : Replacement validation: row=True, col=False
11-21 09:39:03.374 28473 28500 I Unity : Checking replacement: tile 4 replacing 11 at (2,2)
11-21 09:39:03.374 28473 28500 I Unity : Board state - Row 2: [0, 10, 11, 0]
11-21 09:39:03.374 28473 28500 I Unity : Board state - Col 2: [0, 8, 11, 0]
11-21 09:39:03.374 28473 28500 I Unity : Row check: tile 10 at (2,1) to left of 4 at (2,2)
11-21 09:39:03.374 28473 28500 I Unity : ✗ Row constraint failed: 10 >= 4
11-21 09:39:03.374 28473 28500 I Unity : Col check: tile 8 at (1,2) above 4 at (2,2)
11-21 09:39:03.374 28473 28500 I Unity : ✗ Column constraint failed: 8 >= 4
11-21 09:39:03.375 28473 28500 I Unity : Replacement validation: row=False, col=False
11-21 09:39:03.375 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (2, 3) failed constraints: row=False, col=True
11-21 09:39:03.375 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (3, 0) is VALID
11-21 09:39:03.375 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (3, 1) failed constraints: row=True, col=False
11-21 09:39:03.375 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (3, 2) failed constraints: row=True, col=False
11-21 09:39:03.375 28473 28500 I Unity : Checking replacement: tile 4 replacing 16 at (3,3)
11-21 09:39:03.375 28473 28500 I Unity : Board state - Row 3: [0, 0, 0, 16]
11-21 09:39:03.375 28473 28500 I Unity : Board state - Col 3: [0, 0, 0, 16]
11-21 09:39:03.375 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:39:03.375 28473 28500 I Unity : Found 9 valid placements for tile Green 4
11-21 09:39:03.376 28473 28500 I Unity : Valid placements changed: 9 positions
11-21 09:39:03.376 28473 28500 I Unity : Highlighted 9 valid placements for Player 0
11-21 09:39:03.376 28473 28500 I Unity : After setting current player tile. HasUnplacedTile: True
11-21 09:39:03.376 28473 28500 I Unity : Deck card selected: Green 4
11-21 09:39:04.638 28473 28500 I Unity : Interacting with grid cell 2 at position (2.00, 0.00)
11-21 09:39:04.638 28473 28500 I Unity : HandleTilePlacement: Attempting to place tile 4 at grid position (2.00, 0.00)
11-21 09:39:04.638 28473 28500 I Unity : HandleTilePlacement: Converted to board coordinates - row=0, col=2
11-21 09:39:04.638 28473 28500 I Unity : Cell at (2.00, 0.00) is empty - using normal placement
11-21 09:39:04.638 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (0, 2) is VALID
11-21 09:39:04.638 28473 28500 I Unity : Placement validation passed - calling GameManager.PlaceTile(0, 2)
11-21 09:39:04.638 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (0, 2) is VALID
11-21 09:39:04.638 28473 28500 I Unity : [PlayerBoard] Player 0 placed tile 04 at (0, 2) | Board now: 7/16 filled
11-21 09:39:04.639 28473 28500 I Unity : [PLACEMENT] ✓ Player 0 placed Green 4 at (0, 2) | Board: 7/16 filled | Remaining draw: 51
11-21 09:39:04.639 28473 28500 I Unity : Player 0 Board (7/16 filled):
11-21 09:39:04.639 28473 28500 I Unity : 02 -- 04 --
11-21 09:39:04.639 28473 28500 I Unity : -- 07 08 --
11-21 09:39:04.639 28473 28500 I Unity : -- 10 11 --
11-21 09:39:04.639 28473 28500 I Unity : -- -- -- 16
11-21 09:39:04.639 28473 28500 I Unity : Tile placed: Player 0 placed Green 4 at (0, 2)
11-21 09:39:04.639 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=True, HasUnplacedTile=True, TestModeAllAI=False
11-21 09:39:04.639 28473 28500 W Unity : Tile 14: SetInteractable(True) - No Collider2D found!
11-21 09:39:04.639 28473 28500 W Unity : Tile 11: SetInteractable(True) - No Collider2D found!
11-21 09:39:04.639 28473 28500 W Unity : Tile 20: SetInteractable(True) - No Collider2D found!
11-21 09:39:04.639 28473 28500 W Unity : Tile 14: SetInteractable(True) - No Collider2D found!
11-21 09:39:04.639 28473 28500 W Unity : Tile 12: SetInteractable(True) - No Collider2D found!
11-21 09:39:04.640 28473 28500 W Unity : Tile 15: SetInteractable(True) - No Collider2D found!
11-21 09:39:04.640 28473 28500 W Unity : Tile 15: SetInteractable(True) - No Collider2D found!
11-21 09:39:04.640 28473 28500 W Unity : Tile 14: SetInteractable(True) - No Collider2D found!
11-21 09:39:04.640 28473 28500 W Unity : Tile 13: SetInteractable(True) - No Collider2D found!
11-21 09:39:04.640 28473 28500 W Unity : Tile 7: SetInteractable(True) - No Collider2D found!
11-21 09:39:04.640 28473 28500 I Unity : UIDiscardDeck interactability set to: True
11-21 09:39:04.640 28473 28500 I Unity : Tile 2: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:39:04.640 28473 28500 I Unity : Tile 7: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:39:04.640 28473 28500 I Unity : Tile 8: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:39:04.640 28473 28500 I Unity : Tile 10: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:39:04.640 28473 28500 I Unity : Tile 11: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:39:04.640 28473 28500 I Unity : Tile 16: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:39:04.640 28473 28500 I Unity : Player 0 placed tiles interactivity set to: True
11-21 09:39:04.640 28473 28500 I Unity : Interactability updated for player 0
11-21 09:39:04.641 28473 28500 I Unity : Deck card Green 4 was placed, ready for next card
11-21 09:39:04.641 28473 28500 I Unity : Auto-spawning deck card after tile placement (playerIndex: 0)
11-21 09:39:04.641 28473 28500 I Unity : SpawnDeckCard method called
11-21 09:39:04.641 28473 28500 I Unity : All checks passed, attempting to draw tile through GameManager
11-21 09:39:04.641 28473 28500 I Unity : Drew tile: Purple 7 (50 tiles remaining)
11-21 09:39:04.641 28473 28500 I Unity : Drew tile for deck card: Purple 7
11-21 09:39:04.641 28473 28500 I Unity : UpdateRemainingCount called with: 50
11-21 09:39:04.641 28473 28500 I Unity : Set deck count text to: 50
11-21 09:39:04.642 28473 28500 I Unity : UIGameTile Start: SpriteRenderer=True, NumberText=True
11-21 09:39:04.642 28473 28500 I Unity : SetTileData called with: Purple 7, Color enum: 2
11-21 09:39:04.642 28473 28500 I Unity : Updated _originalSprite to: TileRed for Purple
11-21 09:39:04.642 28473 28500 I Unity : Before UpdateVisualRepresentation: _color=Purple (enum: 2), GameTileSprites=4
11-21 09:39:04.642 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=7, Color=Purple, NumberText null: False
11-21 09:39:04.642 28473 28500 I Unity : Set tile text to: 7, text active: True
11-21 09:39:04.642 28473 28500 I Unity : Set sprite renderer sprite to: TileRed for color Purple (index 2)
11-21 09:39:04.642 28473 28500 I Unity : Tile 0 set to Purple 7
11-21 09:39:04.643 28473 28500 I Unity : Tile 0 number text visibility set to: False (faceDown: True)
11-21 09:39:04.643 28473 28500 I Unity : Tile 0 set to face-down
11-21 09:39:04.643 28473 28500 I Unity : Tile 7: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:39:04.643 28473 28500 I Unity : Spawned deck card: Purple 7
11-21 09:39:04.643 28473 28500 I Unity : Valid placements changed: 0 positions
11-21 09:39:04.643 28473 28500 I Unity : Highlighted 0 valid placements for Player 0
11-21 09:39:04.643 28473 28500 I Unity : ═══════════════════════════════════════════════════════
11-21 09:39:04.643 28473 28500 I Unity : TURN CHANGE: Player 0 → Player 1
11-21 09:39:04.643 28473 28500 I Unity : Turn #7 | Tiles Remaining: 50 | Discard Pile: 0
11-21 09:39:04.643 28473 28500 I Unity : ═══════════════════════════════════════════════════════
11-21 09:39:04.643 28473 28500 I Unity : Game state changed: Game State: Playing, Turn 7, Player 1, Draw: 50, Discard: 0
11-21 09:39:04.643 28473 28500 I Unity : Updating deck UI with remaining count: 50
11-21 09:39:04.646 28473 28500 I Unity : UpdateRemainingCount called with: 50
11-21 09:39:04.646 28473 28500 I Unity : Set deck count text to: 50
11-21 09:39:04.646 28473 28500 I Unity : Game UI updated
11-21 09:39:04.646 28473 28500 I Unity : Player turn changed to Player 1
11-21 09:39:04.647 28473 28500 I Unity : Player 0 current player status: False
11-21 09:39:04.647 28473 28500 I Unity : Player 1 current player status: True
11-21 09:39:04.647 28473 28500 I Unity : Player 2 current player status: False
11-21 09:39:04.647 28473 28500 I Unity : Player 3 current player status: False
11-21 09:39:04.647 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=False, HasUnplacedTile=False, TestModeAllAI=False
11-21 09:39:04.647 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:39:04.647 28473 28500 W Unity : Tile 11: SetInteractable(False) - No Collider2D found!
11-21 09:39:04.647 28473 28500 W Unity : Tile 20: SetInteractable(False) - No Collider2D found!
11-21 09:39:04.647 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:39:04.647 28473 28500 W Unity : Tile 12: SetInteractable(False) - No Collider2D found!
11-21 09:39:04.647 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:39:04.647 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:39:04.648 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:39:04.648 28473 28500 W Unity : Tile 13: SetInteractable(False) - No Collider2D found!
11-21 09:39:04.648 28473 28500 W Unity : Tile 7: SetInteractable(False) - No Collider2D found!
11-21 09:39:04.648 28473 28500 I Unity : UIDiscardDeck interactability set to: False
11-21 09:39:04.648 28473 28500 I Unity : Tile 2: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:04.648 28473 28500 I Unity : Tile 7: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:04.648 28473 28500 I Unity : Tile 3: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:04.648 28473 28500 I Unity : Tile 10: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:04.648 28473 28500 I Unity : Tile 12: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:04.648 28473 28500 I Unity : Tile 14: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:04.648 28473 28500 I Unity : Tile 15: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:04.648 28473 28500 I Unity : Player 1 placed tiles interactivity set to: False
11-21 09:39:04.648 28473 28500 I Unity : Interactability updated for player 1
11-21 09:39:04.648 28473 28500 I Unity : Starting AI turn for Player 1
11-21 09:39:04.649 28473 28500 I Unity : Tile 7: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:04.649 28473 28500 I Unity : ✓ Successfully placed tile 4 at (2.00, 0.00)
11-21 09:39:05.107 28473 28500 I Unity : Tile 0 animation to (1.05, -1.39, 0.00) complete
11-21 09:39:05.107 28473 28500 I Unity : Tile 2 number text visibility set to: True (faceDown: False)
11-21 09:39:05.108 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=4, Color=Green, NumberText null: False
11-21 09:39:05.108 28473 28500 I Unity : Set tile text to: 4, text active: True
11-21 09:39:05.108 28473 28500 I Unity : Set sprite renderer sprite to: TileYellow for color Green (index 3)
11-21 09:39:05.108 28473 28500 I Unity : Tile 2 set to face-up
11-21 09:39:05.108 28473 28500 I Unity : Resetting sprite renderer sprite to original: TileYellow for tile Green
11-21 09:39:05.108 28473 28500 I Unity : Tile 2 selection set to: False
11-21 09:39:05.108 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=4, Color=Green, NumberText null: False
11-21 09:39:05.109 28473 28500 I Unity : Set tile text to: 4, text active: True
11-21 09:39:05.109 28473 28500 I Unity : Set sprite renderer sprite to: TileYellow for color Green (index 3)
11-21 09:39:05.109 28473 28500 I Unity : Placed tile 4 on grid cell 2 at (2.00, 0.00)
11-21 09:39:05.109 28473 28500 I Unity : Player 0: Set particle system and all child particle renderers to sorting order 100
11-21 09:39:05.109 28473 28500 I Unity : Player 0: Triggered click particle at (1.05, -1.39, 0.00)
11-21 09:39:05.109 28473 28500 I Unity : Animated deck card placement for Player 0 at (2, 0)
11-21 09:39:05.109 28473 28500 I Unity : SpawnInitialDeckCard called
11-21 09:39:05.109 28473 28500 I Unity : TileManager has 50 tiles remaining, HasTilesRemaining: True
11-21 09:39:05.109 28473 28500 I Unity : All checks passed, calling SpawnDeckCard
11-21 09:39:05.110 28473 28500 I Unity : SpawnDeckCard method called
11-21 09:39:05.110 28473 28500 W Unity : Cannot spawn deck card - one already exists
11-21 09:39:05.643 28473 28500 I Unity : AI Player 1 (DefensiveBlocker) starting turn...
11-21 09:39:07.279 28473 28500 I Unity : AI Player 1 decision: DrawFaceDown - Draw face-down tile - unknown potential (Score: 0.92)
11-21 09:39:07.280 28473 28500 I Unity : AI Player 1 drawing from face-down pile
11-21 09:39:07.280 28473 28500 I Unity : Drew tile: Red 13 (49 tiles remaining)
11-21 09:39:07.280 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (0, 0) already occupied by 2
11-21 09:39:07.280 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (0, 1) failed constraints: row=False, col=False
11-21 09:39:07.280 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (0, 2) already occupied by 7
11-21 09:39:07.280 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (0, 3) is VALID
11-21 09:39:07.280 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (1, 0) failed constraints: row=False, col=True
11-21 09:39:07.281 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (1, 1) already occupied by 3
11-21 09:39:07.281 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (1, 2) already occupied by 10
11-21 09:39:07.281 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (1, 3) is VALID
11-21 09:39:07.281 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (2, 0) failed constraints: row=False, col=True
11-21 09:39:07.281 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (2, 1) already occupied by 12
11-21 09:39:07.281 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (2, 2) already occupied by 14
11-21 09:39:07.281 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (2, 3) failed constraints: row=False, col=True
11-21 09:39:07.281 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (3, 0) is VALID
11-21 09:39:07.281 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (3, 1) is VALID
11-21 09:39:07.281 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (3, 2) failed constraints: row=True, col=False
11-21 09:39:07.282 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (3, 3) already occupied by 15
11-21 09:39:07.282 28473 28500 I Unity : → Player 1 drew tile: Red 13 from DrawPile | Valid placements: 4
11-21 09:39:07.282 28473 28500 I Unity : Tile drawn: Player 1 drew Red 13
11-21 09:39:07.284 28473 28500 I Unity : UIGameTile Start: SpriteRenderer=True, NumberText=True
11-21 09:39:07.284 28473 28500 I Unity : SetTileData called with: Red 13, Color enum: 1
11-21 09:39:07.284 28473 28500 I Unity : Updated _originalSprite to: TilePurple for Red
11-21 09:39:07.284 28473 28500 I Unity : Before UpdateVisualRepresentation: _color=Red (enum: 1), GameTileSprites=4
11-21 09:39:07.285 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=13, Color=Red, NumberText null: False
11-21 09:39:07.285 28473 28500 I Unity : Set tile text to: 13, text active: True
11-21 09:39:07.285 28473 28500 I Unity : Set sprite renderer sprite to: TilePurple for color Red (index 1)
11-21 09:39:07.285 28473 28500 I Unity : Tile 0 set to Red 13
11-21 09:39:07.285 28473 28500 I Unity : Tile 0 number text visibility set to: True (faceDown: False)
11-21 09:39:07.285 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=13, Color=Red, NumberText null: False
11-21 09:39:07.285 28473 28500 I Unity : Set tile text to: 13, text active: True
11-21 09:39:07.285 28473 28500 I Unity : Set sprite renderer sprite to: TilePurple for color Red (index 1)
11-21 09:39:07.286 28473 28500 I Unity : Tile 0 set to face-up
11-21 09:39:07.286 28473 28500 I Unity : Tile 13: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:07.286 28473 28500 I Unity : Created temporary drawn tile Red 13 for opponent Player 1
11-21 09:39:07.286 28473 28500 I Unity : UpdateDiscardCount called with: 0
11-21 09:39:07.286 28473 28500 I Unity : Set discard count text to: 0
11-21 09:39:07.286 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=False, HasUnplacedTile=True, TestModeAllAI=False
11-21 09:39:07.286 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:39:07.286 28473 28500 W Unity : Tile 11: SetInteractable(False) - No Collider2D found!
11-21 09:39:07.287 28473 28500 W Unity : Tile 20: SetInteractable(False) - No Collider2D found!
11-21 09:39:07.287 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:39:07.287 28473 28500 W Unity : Tile 12: SetInteractable(False) - No Collider2D found!
11-21 09:39:07.287 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:39:07.287 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:39:07.287 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:39:07.287 28473 28500 W Unity : Tile 13: SetInteractable(False) - No Collider2D found!
11-21 09:39:07.287 28473 28500 W Unity : Tile 7: SetInteractable(False) - No Collider2D found!
11-21 09:39:07.287 28473 28500 I Unity : UIDiscardDeck interactability set to: False
11-21 09:39:07.287 28473 28500 I Unity : Tile 2: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:07.288 28473 28500 I Unity : Tile 7: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:07.288 28473 28500 I Unity : Tile 3: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:07.288 28473 28500 I Unity : Tile 10: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:07.288 28473 28500 I Unity : Tile 12: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:07.288 28473 28500 I Unity : Tile 14: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:07.288 28473 28500 I Unity : Tile 15: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:07.288 28473 28500 I Unity : Player 1 placed tiles interactivity set to: False
11-21 09:39:07.288 28473 28500 I Unity : Interactability updated for player 1
11-21 09:39:07.288 28473 28500 I Unity : Checking replacement: tile 13 replacing 2 at (0,0)
11-21 09:39:07.288 28473 28500 I Unity : Board state - Row 0: [2, 0, 7, 0]
11-21 09:39:07.289 28473 28500 I Unity : Board state - Col 0: [2, 0, 0, 0]
11-21 09:39:07.289 28473 28500 I Unity : Row check: tile 7 at (0,2) to right of 13 at (0,0)
11-21 09:39:07.289 28473 28500 I Unity : ✗ Row constraint failed: 7 <= 13
11-21 09:39:07.289 28473 28500 I Unity : Replacement validation: row=False, col=True
11-21 09:39:07.289 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (0, 1) failed constraints: row=False, col=False
11-21 09:39:07.289 28473 28500 I Unity : Checking replacement: tile 13 replacing 7 at (0,2)
11-21 09:39:07.289 28473 28500 I Unity : Board state - Row 0: [2, 0, 7, 0]
11-21 09:39:07.289 28473 28500 I Unity : Board state - Col 2: [7, 10, 14, 0]
11-21 09:39:07.289 28473 28500 I Unity : Row check: tile 2 at (0,0) to left of 13 at (0,2)
11-21 09:39:07.289 28473 28500 I Unity : Col check: tile 10 at (1,2) below 13 at (0,2)
11-21 09:39:07.289 28473 28500 I Unity : ✗ Column constraint failed: 10 <= 13
11-21 09:39:07.290 28473 28500 I Unity : Replacement validation: row=True, col=False
11-21 09:39:07.290 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (0, 3) is VALID
11-21 09:39:07.290 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (1, 0) failed constraints: row=False, col=True
11-21 09:39:07.290 28473 28500 I Unity : Checking replacement: tile 13 replacing 3 at (1,1)
11-21 09:39:07.290 28473 28500 I Unity : Board state - Row 1: [0, 3, 10, 0]
11-21 09:39:07.290 28473 28500 I Unity : Board state - Col 1: [0, 3, 12, 0]
11-21 09:39:07.290 28473 28500 I Unity : Row check: tile 10 at (1,2) to right of 13 at (1,1)
11-21 09:39:07.290 28473 28500 I Unity : ✗ Row constraint failed: 10 <= 13
11-21 09:39:07.290 28473 28500 I Unity : Col check: tile 12 at (2,1) below 13 at (1,1)
11-21 09:39:07.290 28473 28500 I Unity : ✗ Column constraint failed: 12 <= 13
11-21 09:39:07.291 28473 28500 I Unity : Replacement validation: row=False, col=False
11-21 09:39:07.291 28473 28500 I Unity : Checking replacement: tile 13 replacing 10 at (1,2)
11-21 09:39:07.291 28473 28500 I Unity : Board state - Row 1: [0, 3, 10, 0]
11-21 09:39:07.291 28473 28500 I Unity : Board state - Col 2: [7, 10, 14, 0]
11-21 09:39:07.291 28473 28500 I Unity : Row check: tile 3 at (1,1) to left of 13 at (1,2)
11-21 09:39:07.291 28473 28500 I Unity : Col check: tile 7 at (0,2) above 13 at (1,2)
11-21 09:39:07.291 28473 28500 I Unity : Col check: tile 14 at (2,2) below 13 at (1,2)
11-21 09:39:07.291 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:39:07.291 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (1, 3) is VALID
11-21 09:39:07.291 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (2, 0) failed constraints: row=False, col=True
11-21 09:39:07.291 28473 28500 I Unity : Checking replacement: tile 13 replacing 12 at (2,1)
11-21 09:39:07.292 28473 28500 I Unity : Board state - Row 2: [0, 12, 14, 0]
11-21 09:39:07.292 28473 28500 I Unity : Board state - Col 1: [0, 3, 12, 0]
11-21 09:39:07.292 28473 28500 I Unity : Row check: tile 14 at (2,2) to right of 13 at (2,1)
11-21 09:39:07.292 28473 28500 I Unity : Col check: tile 3 at (1,1) above 13 at (2,1)
11-21 09:39:07.292 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:39:07.292 28473 28500 I Unity : Checking replacement: tile 13 replacing 14 at (2,2)
11-21 09:39:07.292 28473 28500 I Unity : Board state - Row 2: [0, 12, 14, 0]
11-21 09:39:07.292 28473 28500 I Unity : Board state - Col 2: [7, 10, 14, 0]
11-21 09:39:07.292 28473 28500 I Unity : Row check: tile 12 at (2,1) to left of 13 at (2,2)
11-21 09:39:07.292 28473 28500 I Unity : Col check: tile 10 at (1,2) above 13 at (2,2)
11-21 09:39:07.293 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:39:07.293 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (2, 3) failed constraints: row=False, col=True
11-21 09:39:07.293 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (3, 0) is VALID
11-21 09:39:07.293 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (3, 1) is VALID
11-21 09:39:07.293 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (3, 2) failed constraints: row=True, col=False
11-21 09:39:07.293 28473 28500 I Unity : Checking replacement: tile 13 replacing 15 at (3,3)
11-21 09:39:07.293 28473 28500 I Unity : Board state - Row 3: [0, 0, 0, 15]
11-21 09:39:07.293 28473 28500 I Unity : Board state - Col 3: [0, 0, 0, 15]
11-21 09:39:07.293 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:39:07.293 28473 28500 I Unity : Found 8 valid placements for tile Red 13
11-21 09:39:07.294 28473 28500 I Unity : Valid placements changed: 8 positions
11-21 09:39:07.294 28473 28500 I Unity : Highlighted 8 valid placements for Player 1
11-21 09:39:08.283 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (0, 0) already occupied by 2
11-21 09:39:08.284 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (0, 1) failed constraints: row=False, col=False
11-21 09:39:08.284 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (0, 2) already occupied by 7
11-21 09:39:08.284 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (0, 3) is VALID
11-21 09:39:08.284 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (1, 0) failed constraints: row=False, col=True
11-21 09:39:08.284 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (1, 1) already occupied by 3
11-21 09:39:08.284 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (1, 2) already occupied by 10
11-21 09:39:08.284 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (1, 3) is VALID
11-21 09:39:08.284 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (2, 0) failed constraints: row=False, col=True
11-21 09:39:08.285 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (2, 1) already occupied by 12
11-21 09:39:08.285 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (2, 2) already occupied by 14
11-21 09:39:08.285 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (2, 3) failed constraints: row=False, col=True
11-21 09:39:08.285 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (3, 0) is VALID
11-21 09:39:08.285 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (3, 1) is VALID
11-21 09:39:08.285 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (3, 2) failed constraints: row=True, col=False
11-21 09:39:08.285 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (3, 3) already occupied by 15
11-21 09:39:08.285 28473 28500 I Unity : Checking replacement: tile 13 replacing 2 at (0,0)
11-21 09:39:08.285 28473 28500 I Unity : Board state - Row 0: [2, 0, 7, 0]
11-21 09:39:08.285 28473 28500 I Unity : Board state - Col 0: [2, 0, 0, 0]
11-21 09:39:08.285 28473 28500 I Unity : Row check: tile 7 at (0,2) to right of 13 at (0,0)
11-21 09:39:08.286 28473 28500 I Unity : ✗ Row constraint failed: 7 <= 13
11-21 09:39:08.286 28473 28500 I Unity : Replacement validation: row=False, col=True
11-21 09:39:08.286 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (0, 1) failed constraints: row=False, col=False
11-21 09:39:08.286 28473 28500 I Unity : Checking replacement: tile 13 replacing 7 at (0,2)
11-21 09:39:08.286 28473 28500 I Unity : Board state - Row 0: [2, 0, 7, 0]
11-21 09:39:08.286 28473 28500 I Unity : Board state - Col 2: [7, 10, 14, 0]
11-21 09:39:08.286 28473 28500 I Unity : Row check: tile 2 at (0,0) to left of 13 at (0,2)
11-21 09:39:08.286 28473 28500 I Unity : Col check: tile 10 at (1,2) below 13 at (0,2)
11-21 09:39:08.286 28473 28500 I Unity : ✗ Column constraint failed: 10 <= 13
11-21 09:39:08.286 28473 28500 I Unity : Replacement validation: row=True, col=False
11-21 09:39:08.286 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (0, 3) is VALID
11-21 09:39:08.287 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (1, 0) failed constraints: row=False, col=True
11-21 09:39:08.287 28473 28500 I Unity : Checking replacement: tile 13 replacing 3 at (1,1)
11-21 09:39:08.287 28473 28500 I Unity : Board state - Row 1: [0, 3, 10, 0]
11-21 09:39:08.287 28473 28500 I Unity : Board state - Col 1: [0, 3, 12, 0]
11-21 09:39:08.287 28473 28500 I Unity : Row check: tile 10 at (1,2) to right of 13 at (1,1)
11-21 09:39:08.287 28473 28500 I Unity : ✗ Row constraint failed: 10 <= 13
11-21 09:39:08.287 28473 28500 I Unity : Col check: tile 12 at (2,1) below 13 at (1,1)
11-21 09:39:08.287 28473 28500 I Unity : ✗ Column constraint failed: 12 <= 13
11-21 09:39:08.287 28473 28500 I Unity : Replacement validation: row=False, col=False
11-21 09:39:08.288 28473 28500 I Unity : Checking replacement: tile 13 replacing 10 at (1,2)
11-21 09:39:08.288 28473 28500 I Unity : Board state - Row 1: [0, 3, 10, 0]
11-21 09:39:08.288 28473 28500 I Unity : Board state - Col 2: [7, 10, 14, 0]
11-21 09:39:08.288 28473 28500 I Unity : Row check: tile 3 at (1,1) to left of 13 at (1,2)
11-21 09:39:08.288 28473 28500 I Unity : Col check: tile 7 at (0,2) above 13 at (1,2)
11-21 09:39:08.288 28473 28500 I Unity : Col check: tile 14 at (2,2) below 13 at (1,2)
11-21 09:39:08.288 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:39:08.288 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (1, 3) is VALID
11-21 09:39:08.288 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (2, 0) failed constraints: row=False, col=True
11-21 09:39:08.288 28473 28500 I Unity : Checking replacement: tile 13 replacing 12 at (2,1)
11-21 09:39:08.288 28473 28500 I Unity : Board state - Row 2: [0, 12, 14, 0]
11-21 09:39:08.289 28473 28500 I Unity : Board state - Col 1: [0, 3, 12, 0]
11-21 09:39:08.289 28473 28500 I Unity : Row check: tile 14 at (2,2) to right of 13 at (2,1)
11-21 09:39:08.289 28473 28500 I Unity : Col check: tile 3 at (1,1) above 13 at (2,1)
11-21 09:39:08.289 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:39:08.289 28473 28500 I Unity : Checking replacement: tile 13 replacing 14 at (2,2)
11-21 09:39:08.289 28473 28500 I Unity : Board state - Row 2: [0, 12, 14, 0]
11-21 09:39:08.289 28473 28500 I Unity : Board state - Col 2: [7, 10, 14, 0]
11-21 09:39:08.289 28473 28500 I Unity : Row check: tile 12 at (2,1) to left of 13 at (2,2)
11-21 09:39:08.289 28473 28500 I Unity : Col check: tile 10 at (1,2) above 13 at (2,2)
11-21 09:39:08.289 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:39:08.290 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (2, 3) failed constraints: row=False, col=True
11-21 09:39:08.290 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (3, 0) is VALID
11-21 09:39:08.290 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (3, 1) is VALID
11-21 09:39:08.290 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (3, 2) failed constraints: row=True, col=False
11-21 09:39:08.290 28473 28500 I Unity : Checking replacement: tile 13 replacing 15 at (3,3)
11-21 09:39:08.290 28473 28500 I Unity : Board state - Row 3: [0, 0, 0, 15]
11-21 09:39:08.290 28473 28500 I Unity : Board state - Col 3: [0, 0, 0, 15]
11-21 09:39:08.290 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:39:08.290 28473 28500 I Unity : Prefer empty-cell over replacement | emptyPolicy=1.72, replPolicy=0.35, penalty=0.50
11-21 09:39:08.293 28473 28500 I Unity : Chose empty-cell placement over replacement | emptyScore=1.72, replaceScore=0.35
11-21 09:39:08.293 28473 28500 I Unity : AI Player 1 placing tile at (1, 3)
11-21 09:39:08.293 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 13 at (3, 1) is VALID
11-21 09:39:08.293 28473 28500 I Unity : [PlayerBoard] Player 1 placed tile 13 at (3, 1) | Board now: 8/16 filled
11-21 09:39:08.294 28473 28500 I Unity : [PLACEMENT] ✓ Player 1 placed Red 13 at (3, 1) | Board: 8/16 filled | Remaining draw: 49
11-21 09:39:08.294 28473 28500 I Unity : Player 1 Board (8/16 filled):
11-21 09:39:08.294 28473 28500 I Unity : 02 -- 07 --
11-21 09:39:08.294 28473 28500 I Unity : -- 03 10 --
11-21 09:39:08.294 28473 28500 I Unity : -- 12 14 --
11-21 09:39:08.294 28473 28500 I Unity : -- 13 -- 15
11-21 09:39:08.294 28473 28500 I Unity : Tile placed: Player 1 placed Red 13 at (3, 1)
11-21 09:39:08.295 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=False, HasUnplacedTile=True, TestModeAllAI=False
11-21 09:39:08.295 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:39:08.295 28473 28500 W Unity : Tile 11: SetInteractable(False) - No Collider2D found!
11-21 09:39:08.295 28473 28500 W Unity : Tile 20: SetInteractable(False) - No Collider2D found!
11-21 09:39:08.295 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:39:08.295 28473 28500 W Unity : Tile 12: SetInteractable(False) - No Collider2D found!
11-21 09:39:08.295 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:39:08.295 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:39:08.296 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:39:08.296 28473 28500 W Unity : Tile 13: SetInteractable(False) - No Collider2D found!
11-21 09:39:08.296 28473 28500 W Unity : Tile 7: SetInteractable(False) - No Collider2D found!
11-21 09:39:08.296 28473 28500 I Unity : UIDiscardDeck interactability set to: False
11-21 09:39:08.296 28473 28500 I Unity : Tile 2: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:08.296 28473 28500 I Unity : Tile 7: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:08.296 28473 28500 I Unity : Tile 3: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:08.296 28473 28500 I Unity : Tile 10: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:08.296 28473 28500 I Unity : Tile 12: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:08.296 28473 28500 I Unity : Tile 14: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:08.297 28473 28500 I Unity : Tile 15: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:08.297 28473 28500 I Unity : Player 1 placed tiles interactivity set to: False
11-21 09:39:08.297 28473 28500 I Unity : Interactability updated for player 1
11-21 09:39:08.297 28473 28500 I Unity : Valid placements changed: 0 positions
11-21 09:39:08.297 28473 28500 I Unity : Highlighted 0 valid placements for Player 1
11-21 09:39:08.297 28473 28500 I Unity : ═══════════════════════════════════════════════════════
11-21 09:39:08.297 28473 28500 I Unity : TURN CHANGE: Player 1 → Player 2
11-21 09:39:08.297 28473 28500 I Unity : Turn #7 | Tiles Remaining: 49 | Discard Pile: 0
11-21 09:39:08.297 28473 28500 I Unity : ═══════════════════════════════════════════════════════
11-21 09:39:08.298 28473 28500 I Unity : Game state changed: Game State: Playing, Turn 7, Player 2, Draw: 49, Discard: 0
11-21 09:39:08.298 28473 28500 I Unity : Updating deck UI with remaining count: 49
11-21 09:39:08.298 28473 28500 I Unity : UpdateRemainingCount called with: 49
11-21 09:39:08.298 28473 28500 I Unity : Set deck count text to: 49
11-21 09:39:08.298 28473 28500 I Unity : Game UI updated
11-21 09:39:08.298 28473 28500 I Unity : Player turn changed to Player 2
11-21 09:39:08.298 28473 28500 I Unity : Player 0 current player status: False
11-21 09:39:08.299 28473 28500 I Unity : Player 1 current player status: False
11-21 09:39:08.299 28473 28500 I Unity : Player 2 current player status: True
11-21 09:39:08.299 28473 28500 I Unity : Player 3 current player status: False
11-21 09:39:08.299 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=False, HasUnplacedTile=False, TestModeAllAI=False
11-21 09:39:08.299 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:39:08.300 28473 28500 W Unity : Tile 11: SetInteractable(False) - No Collider2D found!
11-21 09:39:08.300 28473 28500 W Unity : Tile 20: SetInteractable(False) - No Collider2D found!
11-21 09:39:08.300 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:39:08.300 28473 28500 W Unity : Tile 12: SetInteractable(False) - No Collider2D found!
11-21 09:39:08.300 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:39:08.300 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:39:08.300 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:39:08.300 28473 28500 W Unity : Tile 13: SetInteractable(False) - No Collider2D found!
11-21 09:39:08.300 28473 28500 W Unity : Tile 7: SetInteractable(False) - No Collider2D found!
11-21 09:39:08.300 28473 28500 I Unity : UIDiscardDeck interactability set to: False
11-21 09:39:08.301 28473 28500 I Unity : Tile 1: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:08.301 28473 28500 I Unity : Tile 4: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:08.301 28473 28500 I Unity : Tile 10: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:08.301 28473 28500 I Unity : Tile 11: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:08.301 28473 28500 I Unity : Tile 12: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:08.301 28473 28500 I Unity : Tile 14: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:08.301 28473 28500 I Unity : Tile 20: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:08.301 28473 28500 I Unity : Player 2 placed tiles interactivity set to: False
11-21 09:39:08.302 28473 28500 I Unity : Interactability updated for player 2
11-21 09:39:08.302 28473 28500 I Unity : Starting AI turn for Player 2
11-21 09:39:08.302 28473 28500 I Unity : Tile 7: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:08.782 28473 28500 I Unity : Tile 0 animation to (-5.53, 5.22, 0.00) complete
11-21 09:39:08.783 28473 28500 I Unity : Tile 13 number text visibility set to: True (faceDown: False)
11-21 09:39:08.783 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=13, Color=Red, NumberText null: False
11-21 09:39:08.783 28473 28500 I Unity : Set tile text to: 13, text active: True
11-21 09:39:08.783 28473 28500 I Unity : Set sprite renderer sprite to: TilePurple for color Red (index 1)
11-21 09:39:08.784 28473 28500 I Unity : Tile 13 set to face-up
11-21 09:39:08.784 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=13, Color=Red, NumberText null: False
11-21 09:39:08.784 28473 28500 I Unity : Set tile text to: 13, text active: True
11-21 09:39:08.784 28473 28500 I Unity : Set sprite renderer sprite to: TilePurple for color Red (index 1)
11-21 09:39:08.784 28473 28500 I Unity : Placed tile 13 on grid cell 13 at (1.00, 3.00)
11-21 09:39:08.784 28473 28500 I Unity : Animated opponent tile placement for Player 1 at (1, 3) (board scale: (0.50, 0.50, 1.00))
11-21 09:39:08.784 28473 28500 I Unity : AI Player 1 turn completed
11-21 09:39:08.785 28473 28500 I Unity : AI turn completed for Player 1
11-21 09:39:09.284 28473 28500 I Unity : AI Player 2 (MethodicalPlanner) starting turn...
11-21 09:39:12.323 28473 28500 I Unity : AI Player 2 decision: DrawFaceDown - Draw face-down tile - unknown potential (Score: 1.00)
11-21 09:39:12.323 28473 28500 I Unity : AI Player 2 drawing from face-down pile
11-21 09:39:12.323 28473 28500 I Unity : Drew tile: Red 8 (48 tiles remaining)
11-21 09:39:12.323 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (0, 0) already occupied by 1
11-21 09:39:12.323 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 8 at (0, 1) failed constraints: row=True, col=False
11-21 09:39:12.324 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 8 at (0, 2) is VALID
11-21 09:39:12.324 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 8 at (0, 3) is VALID
11-21 09:39:12.324 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 8 at (1, 0) failed constraints: row=False, col=True
11-21 09:39:12.324 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (1, 1) already occupied by 4
11-21 09:39:12.324 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (1, 2) already occupied by 10
11-21 09:39:12.324 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 8 at (1, 3) failed constraints: row=False, col=True
11-21 09:39:12.324 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 8 at (2, 0) is VALID
11-21 09:39:12.324 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 8 at (2, 1) is VALID
11-21 09:39:12.324 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (2, 2) already occupied by 11
11-21 09:39:12.324 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (2, 3) already occupied by 12
11-21 09:39:12.325 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 8 at (3, 0) is VALID
11-21 09:39:12.325 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 8 at (3, 1) is VALID
11-21 09:39:12.325 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (3, 2) already occupied by 14
11-21 09:39:12.325 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (3, 3) already occupied by 20
11-21 09:39:12.325 28473 28500 I Unity : → Player 2 drew tile: Red 8 from DrawPile | Valid placements: 6
11-21 09:39:12.325 28473 28500 I Unity : Tile drawn: Player 2 drew Red 8
11-21 09:39:12.327 28473 28500 I Unity : UIGameTile Start: SpriteRenderer=True, NumberText=True
11-21 09:39:12.327 28473 28500 I Unity : SetTileData called with: Red 8, Color enum: 1
11-21 09:39:12.327 28473 28500 I Unity : Updated _originalSprite to: TilePurple for Red
11-21 09:39:12.328 28473 28500 I Unity : Before UpdateVisualRepresentation: _color=Red (enum: 1), GameTileSprites=4
11-21 09:39:12.328 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=8, Color=Red, NumberText null: False
11-21 09:39:12.328 28473 28500 I Unity : Set tile text to: 8, text active: True
11-21 09:39:12.328 28473 28500 I Unity : Set sprite renderer sprite to: TilePurple for color Red (index 1)
11-21 09:39:12.328 28473 28500 I Unity : Tile 0 set to Red 8
11-21 09:39:12.328 28473 28500 I Unity : Tile 0 number text visibility set to: True (faceDown: False)
11-21 09:39:12.328 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=8, Color=Red, NumberText null: False
11-21 09:39:12.328 28473 28500 I Unity : Set tile text to: 8, text active: True
11-21 09:39:12.329 28473 28500 I Unity : Set sprite renderer sprite to: TilePurple for color Red (index 1)
11-21 09:39:12.329 28473 28500 I Unity : Tile 0 set to face-up
11-21 09:39:12.329 28473 28500 I Unity : Tile 8: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:12.329 28473 28500 I Unity : Created temporary drawn tile Red 8 for opponent Player 2
11-21 09:39:12.329 28473 28500 I Unity : UpdateDiscardCount called with: 0
11-21 09:39:12.329 28473 28500 I Unity : Set discard count text to: 0
11-21 09:39:12.329 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=False, HasUnplacedTile=True, TestModeAllAI=False
11-21 09:39:12.329 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:39:12.330 28473 28500 W Unity : Tile 11: SetInteractable(False) - No Collider2D found!
11-21 09:39:12.330 28473 28500 W Unity : Tile 20: SetInteractable(False) - No Collider2D found!
11-21 09:39:12.330 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:39:12.330 28473 28500 W Unity : Tile 12: SetInteractable(False) - No Collider2D found!
11-21 09:39:12.330 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:39:12.330 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:39:12.330 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:39:12.330 28473 28500 W Unity : Tile 13: SetInteractable(False) - No Collider2D found!
11-21 09:39:12.330 28473 28500 W Unity : Tile 7: SetInteractable(False) - No Collider2D found!
11-21 09:39:12.330 28473 28500 I Unity : UIDiscardDeck interactability set to: False
11-21 09:39:12.331 28473 28500 I Unity : Tile 1: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:12.331 28473 28500 I Unity : Tile 4: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:12.331 28473 28500 I Unity : Tile 10: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:12.331 28473 28500 I Unity : Tile 11: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:12.331 28473 28500 I Unity : Tile 12: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:12.331 28473 28500 I Unity : Tile 14: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:12.331 28473 28500 I Unity : Tile 20: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:12.331 28473 28500 I Unity : Player 2 placed tiles interactivity set to: False
11-21 09:39:12.332 28473 28500 I Unity : Interactability updated for player 2
11-21 09:39:12.332 28473 28500 I Unity : Checking replacement: tile 8 replacing 1 at (0,0)
11-21 09:39:12.332 28473 28500 I Unity : Board state - Row 0: [1, 0, 0, 0]
11-21 09:39:12.332 28473 28500 I Unity : Board state - Col 0: [1, 0, 0, 0]
11-21 09:39:12.332 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:39:12.332 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 8 at (0, 1) failed constraints: row=True, col=False
11-21 09:39:12.332 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 8 at (0, 2) is VALID
11-21 09:39:12.332 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 8 at (0, 3) is VALID
11-21 09:39:12.332 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 8 at (1, 0) failed constraints: row=False, col=True
11-21 09:39:12.333 28473 28500 I Unity : Checking replacement: tile 8 replacing 4 at (1,1)
11-21 09:39:12.333 28473 28500 I Unity : Board state - Row 1: [0, 4, 10, 0]
11-21 09:39:12.333 28473 28500 I Unity : Board state - Col 1: [0, 4, 0, 0]
11-21 09:39:12.333 28473 28500 I Unity : Row check: tile 10 at (1,2) to right of 8 at (1,1)
11-21 09:39:12.333 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:39:12.333 28473 28500 I Unity : Checking replacement: tile 8 replacing 10 at (1,2)
11-21 09:39:12.333 28473 28500 I Unity : Board state - Row 1: [0, 4, 10, 0]
11-21 09:39:12.333 28473 28500 I Unity : Board state - Col 2: [0, 10, 11, 14]
11-21 09:39:12.333 28473 28500 I Unity : Row check: tile 4 at (1,1) to left of 8 at (1,2)
11-21 09:39:12.333 28473 28500 I Unity : Col check: tile 11 at (2,2) below 8 at (1,2)
11-21 09:39:12.333 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:39:12.334 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 8 at (1, 3) failed constraints: row=False, col=True
11-21 09:39:12.334 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 8 at (2, 0) is VALID
11-21 09:39:12.334 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 8 at (2, 1) is VALID
11-21 09:39:12.334 28473 28500 I Unity : Checking replacement: tile 8 replacing 11 at (2,2)
11-21 09:39:12.334 28473 28500 I Unity : Board state - Row 2: [0, 0, 11, 12]
11-21 09:39:12.334 28473 28500 I Unity : Board state - Col 2: [0, 10, 11, 14]
11-21 09:39:12.334 28473 28500 I Unity : Row check: tile 12 at (2,3) to right of 8 at (2,2)
11-21 09:39:12.334 28473 28500 I Unity : Col check: tile 10 at (1,2) above 8 at (2,2)
11-21 09:39:12.334 28473 28500 I Unity : ✗ Column constraint failed: 10 >= 8
11-21 09:39:12.334 28473 28500 I Unity : Replacement validation: row=True, col=False
11-21 09:39:12.335 28473 28500 I Unity : Checking replacement: tile 8 replacing 12 at (2,3)
11-21 09:39:12.335 28473 28500 I Unity : Board state - Row 2: [0, 0, 11, 12]
11-21 09:39:12.335 28473 28500 I Unity : Board state - Col 3: [0, 0, 12, 20]
11-21 09:39:12.335 28473 28500 I Unity : Row check: tile 11 at (2,2) to left of 8 at (2,3)
11-21 09:39:12.335 28473 28500 I Unity : ✗ Row constraint failed: 11 >= 8
11-21 09:39:12.335 28473 28500 I Unity : Col check: tile 20 at (3,3) below 8 at (2,3)
11-21 09:39:12.335 28473 28500 I Unity : Replacement validation: row=False, col=True
11-21 09:39:12.335 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 8 at (3, 0) is VALID
11-21 09:39:12.335 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 8 at (3, 1) is VALID
11-21 09:39:12.335 28473 28500 I Unity : Checking replacement: tile 8 replacing 14 at (3,2)
11-21 09:39:12.335 28473 28500 I Unity : Board state - Row 3: [0, 0, 14, 20]
11-21 09:39:12.336 28473 28500 I Unity : Board state - Col 2: [0, 10, 11, 14]
11-21 09:39:12.336 28473 28500 I Unity : Row check: tile 20 at (3,3) to right of 8 at (3,2)
11-21 09:39:12.336 28473 28500 I Unity : Col check: tile 11 at (2,2) above 8 at (3,2)
11-21 09:39:12.336 28473 28500 I Unity : ✗ Column constraint failed: 11 >= 8
11-21 09:39:12.336 28473 28500 I Unity : Replacement validation: row=True, col=False
11-21 09:39:12.336 28473 28500 I Unity : Checking replacement: tile 8 replacing 20 at (3,3)
11-21 09:39:12.336 28473 28500 I Unity : Board state - Row 3: [0, 0, 14, 20]
11-21 09:39:12.336 28473 28500 I Unity : Board state - Col 3: [0, 0, 12, 20]
11-21 09:39:12.336 28473 28500 I Unity : Row check: tile 14 at (3,2) to left of 8 at (3,3)
11-21 09:39:12.336 28473 28500 I Unity : ✗ Row constraint failed: 14 >= 8
11-21 09:39:12.337 28473 28500 I Unity : Col check: tile 12 at (2,3) above 8 at (3,3)
11-21 09:39:12.337 28473 28500 I Unity : ✗ Column constraint failed: 12 >= 8
11-21 09:39:12.337 28473 28500 I Unity : Replacement validation: row=False, col=False
11-21 09:39:12.337 28473 28500 I Unity : Found 9 valid placements for tile Red 8
11-21 09:39:12.337 28473 28500 I Unity : Valid placements changed: 9 positions
11-21 09:39:12.337 28473 28500 I Unity : Highlighted 9 valid placements for Player 2
11-21 09:39:13.325 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (0, 0) already occupied by 1
11-21 09:39:13.325 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 8 at (0, 1) failed constraints: row=True, col=False
11-21 09:39:13.325 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 8 at (0, 2) is VALID
11-21 09:39:13.326 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 8 at (0, 3) is VALID
11-21 09:39:13.326 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 8 at (1, 0) failed constraints: row=False, col=True
11-21 09:39:13.326 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (1, 1) already occupied by 4
11-21 09:39:13.326 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (1, 2) already occupied by 10
11-21 09:39:13.326 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 8 at (1, 3) failed constraints: row=False, col=True
11-21 09:39:13.326 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 8 at (2, 0) is VALID
11-21 09:39:13.326 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 8 at (2, 1) is VALID
11-21 09:39:13.326 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (2, 2) already occupied by 11
11-21 09:39:13.326 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (2, 3) already occupied by 12
11-21 09:39:13.326 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 8 at (3, 0) is VALID
11-21 09:39:13.327 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 8 at (3, 1) is VALID
11-21 09:39:13.327 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (3, 2) already occupied by 14
11-21 09:39:13.327 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (3, 3) already occupied by 20
11-21 09:39:13.327 28473 28500 I Unity : Checking replacement: tile 8 replacing 1 at (0,0)
11-21 09:39:13.327 28473 28500 I Unity : Board state - Row 0: [1, 0, 0, 0]
11-21 09:39:13.327 28473 28500 I Unity : Board state - Col 0: [1, 0, 0, 0]
11-21 09:39:13.327 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:39:13.327 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 8 at (0, 1) failed constraints: row=True, col=False
11-21 09:39:13.327 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 8 at (0, 2) is VALID
11-21 09:39:13.327 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 8 at (0, 3) is VALID
11-21 09:39:13.328 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 8 at (1, 0) failed constraints: row=False, col=True
11-21 09:39:13.328 28473 28500 I Unity : Checking replacement: tile 8 replacing 4 at (1,1)
11-21 09:39:13.328 28473 28500 I Unity : Board state - Row 1: [0, 4, 10, 0]
11-21 09:39:13.328 28473 28500 I Unity : Board state - Col 1: [0, 4, 0, 0]
11-21 09:39:13.328 28473 28500 I Unity : Row check: tile 10 at (1,2) to right of 8 at (1,1)
11-21 09:39:13.328 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:39:13.328 28473 28500 I Unity : Checking replacement: tile 8 replacing 10 at (1,2)
11-21 09:39:13.328 28473 28500 I Unity : Board state - Row 1: [0, 4, 10, 0]
11-21 09:39:13.328 28473 28500 I Unity : Board state - Col 2: [0, 10, 11, 14]
11-21 09:39:13.328 28473 28500 I Unity : Row check: tile 4 at (1,1) to left of 8 at (1,2)
11-21 09:39:13.328 28473 28500 I Unity : Col check: tile 11 at (2,2) below 8 at (1,2)
11-21 09:39:13.329 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:39:13.329 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 8 at (1, 3) failed constraints: row=False, col=True
11-21 09:39:13.329 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 8 at (2, 0) is VALID
11-21 09:39:13.329 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 8 at (2, 1) is VALID
11-21 09:39:13.329 28473 28500 I Unity : Checking replacement: tile 8 replacing 11 at (2,2)
11-21 09:39:13.329 28473 28500 I Unity : Board state - Row 2: [0, 0, 11, 12]
11-21 09:39:13.329 28473 28500 I Unity : Board state - Col 2: [0, 10, 11, 14]
11-21 09:39:13.329 28473 28500 I Unity : Row check: tile 12 at (2,3) to right of 8 at (2,2)
11-21 09:39:13.329 28473 28500 I Unity : Col check: tile 10 at (1,2) above 8 at (2,2)
11-21 09:39:13.329 28473 28500 I Unity : ✗ Column constraint failed: 10 >= 8
11-21 09:39:13.330 28473 28500 I Unity : Replacement validation: row=True, col=False
11-21 09:39:13.330 28473 28500 I Unity : Checking replacement: tile 8 replacing 12 at (2,3)
11-21 09:39:13.330 28473 28500 I Unity : Board state - Row 2: [0, 0, 11, 12]
11-21 09:39:13.330 28473 28500 I Unity : Board state - Col 3: [0, 0, 12, 20]
11-21 09:39:13.330 28473 28500 I Unity : Row check: tile 11 at (2,2) to left of 8 at (2,3)
11-21 09:39:13.330 28473 28500 I Unity : ✗ Row constraint failed: 11 >= 8
11-21 09:39:13.330 28473 28500 I Unity : Col check: tile 20 at (3,3) below 8 at (2,3)
11-21 09:39:13.330 28473 28500 I Unity : Replacement validation: row=False, col=True
11-21 09:39:13.330 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 8 at (3, 0) is VALID
11-21 09:39:13.330 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 8 at (3, 1) is VALID
11-21 09:39:13.330 28473 28500 I Unity : Checking replacement: tile 8 replacing 14 at (3,2)
11-21 09:39:13.331 28473 28500 I Unity : Board state - Row 3: [0, 0, 14, 20]
11-21 09:39:13.331 28473 28500 I Unity : Board state - Col 2: [0, 10, 11, 14]
11-21 09:39:13.331 28473 28500 I Unity : Row check: tile 20 at (3,3) to right of 8 at (3,2)
11-21 09:39:13.331 28473 28500 I Unity : Col check: tile 11 at (2,2) above 8 at (3,2)
11-21 09:39:13.331 28473 28500 I Unity : ✗ Column constraint failed: 11 >= 8
11-21 09:39:13.331 28473 28500 I Unity : Replacement validation: row=True, col=False
11-21 09:39:13.331 28473 28500 I Unity : Checking replacement: tile 8 replacing 20 at (3,3)
11-21 09:39:13.331 28473 28500 I Unity : Board state - Row 3: [0, 0, 14, 20]
11-21 09:39:13.331 28473 28500 I Unity : Board state - Col 3: [0, 0, 12, 20]
11-21 09:39:13.331 28473 28500 I Unity : Row check: tile 14 at (3,2) to left of 8 at (3,3)
11-21 09:39:13.332 28473 28500 I Unity : ✗ Row constraint failed: 14 >= 8
11-21 09:39:13.332 28473 28500 I Unity : Col check: tile 12 at (2,3) above 8 at (3,3)
11-21 09:39:13.332 28473 28500 I Unity : ✗ Column constraint failed: 12 >= 8
11-21 09:39:13.332 28473 28500 I Unity : Replacement validation: row=False, col=False
11-21 09:39:13.332 28473 28500 I Unity : Prefer empty-cell over replacement | emptyPolicy=1.70, replPolicy=0.03, penalty=0.50
11-21 09:39:13.332 28473 28500 I Unity : Chose empty-cell placement over replacement | emptyScore=1.70, replaceScore=0.03
11-21 09:39:13.332 28473 28500 I Unity : AI Player 2 placing tile at (1, 2)
11-21 09:39:13.333 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 8 at (2, 1) is VALID
11-21 09:39:13.333 28473 28500 I Unity : [PlayerBoard] Player 2 placed tile 08 at (2, 1) | Board now: 8/16 filled
11-21 09:39:13.333 28473 28500 I Unity : [PLACEMENT] ✓ Player 2 placed Red 8 at (2, 1) | Board: 8/16 filled | Remaining draw: 48
11-21 09:39:13.333 28473 28500 I Unity : Player 2 Board (8/16 filled):
11-21 09:39:13.333 28473 28500 I Unity : 01 -- -- --
11-21 09:39:13.333 28473 28500 I Unity : -- 04 10 --
11-21 09:39:13.333 28473 28500 I Unity : -- 08 11 12
11-21 09:39:13.333 28473 28500 I Unity : -- -- 14 20
11-21 09:39:13.333 28473 28500 I Unity : Tile placed: Player 2 placed Red 8 at (2, 1)
11-21 09:39:13.334 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=False, HasUnplacedTile=True, TestModeAllAI=False
11-21 09:39:13.334 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:39:13.334 28473 28500 W Unity : Tile 11: SetInteractable(False) - No Collider2D found!
11-21 09:39:13.334 28473 28500 W Unity : Tile 20: SetInteractable(False) - No Collider2D found!
11-21 09:39:13.334 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:39:13.334 28473 28500 W Unity : Tile 12: SetInteractable(False) - No Collider2D found!
11-21 09:39:13.334 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:39:13.334 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:39:13.335 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:39:13.335 28473 28500 W Unity : Tile 13: SetInteractable(False) - No Collider2D found!
11-21 09:39:13.335 28473 28500 W Unity : Tile 7: SetInteractable(False) - No Collider2D found!
11-21 09:39:13.335 28473 28500 I Unity : UIDiscardDeck interactability set to: False
11-21 09:39:13.335 28473 28500 I Unity : Tile 1: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:13.335 28473 28500 I Unity : Tile 4: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:13.335 28473 28500 I Unity : Tile 10: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:13.335 28473 28500 I Unity : Tile 11: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:13.335 28473 28500 I Unity : Tile 12: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:13.336 28473 28500 I Unity : Tile 14: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:13.336 28473 28500 I Unity : Tile 20: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:13.336 28473 28500 I Unity : Player 2 placed tiles interactivity set to: False
11-21 09:39:13.336 28473 28500 I Unity : Interactability updated for player 2
11-21 09:39:13.336 28473 28500 I Unity : Valid placements changed: 0 positions
11-21 09:39:13.336 28473 28500 I Unity : Highlighted 0 valid placements for Player 2
11-21 09:39:13.336 28473 28500 I Unity : ═══════════════════════════════════════════════════════
11-21 09:39:13.336 28473 28500 I Unity : TURN CHANGE: Player 2 → Player 3
11-21 09:39:13.336 28473 28500 I Unity : Turn #7 | Tiles Remaining: 48 | Discard Pile: 0
11-21 09:39:13.336 28473 28500 I Unity : ═══════════════════════════════════════════════════════
11-21 09:39:13.337 28473 28500 I Unity : Game state changed: Game State: Playing, Turn 7, Player 3, Draw: 48, Discard: 0
11-21 09:39:13.337 28473 28500 I Unity : Updating deck UI with remaining count: 48
11-21 09:39:13.337 28473 28500 I Unity : UpdateRemainingCount called with: 48
11-21 09:39:13.337 28473 28500 I Unity : Set deck count text to: 48
11-21 09:39:13.337 28473 28500 I Unity : Game UI updated
11-21 09:39:13.337 28473 28500 I Unity : Player turn changed to Player 3
11-21 09:39:13.337 28473 28500 I Unity : Player 0 current player status: False
11-21 09:39:13.337 28473 28500 I Unity : Player 1 current player status: False
11-21 09:39:13.338 28473 28500 I Unity : Player 2 current player status: False
11-21 09:39:13.338 28473 28500 I Unity : Player 3 current player status: True
11-21 09:39:13.338 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=False, HasUnplacedTile=False, TestModeAllAI=False
11-21 09:39:13.338 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:39:13.338 28473 28500 W Unity : Tile 11: SetInteractable(False) - No Collider2D found!
11-21 09:39:13.339 28473 28500 W Unity : Tile 20: SetInteractable(False) - No Collider2D found!
11-21 09:39:13.339 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:39:13.339 28473 28500 W Unity : Tile 12: SetInteractable(False) - No Collider2D found!
11-21 09:39:13.339 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:39:13.339 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:39:13.339 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:39:13.339 28473 28500 W Unity : Tile 13: SetInteractable(False) - No Collider2D found!
11-21 09:39:13.339 28473 28500 W Unity : Tile 7: SetInteractable(False) - No Collider2D found!
11-21 09:39:13.339 28473 28500 I Unity : UIDiscardDeck interactability set to: False
11-21 09:39:13.339 28473 28500 I Unity : Tile 7: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:13.339 28473 28500 I Unity : Tile 6: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:13.340 28473 28500 I Unity : Tile 13: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:13.340 28473 28500 I Unity : Tile 11: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:13.340 28473 28500 I Unity : Tile 14: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:13.340 28473 28500 I Unity : Tile 15: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:13.340 28473 28500 I Unity : Tile 18: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:13.340 28473 28500 I Unity : Tile 20: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:13.340 28473 28500 I Unity : Player 3 placed tiles interactivity set to: False
11-21 09:39:13.340 28473 28500 I Unity : Interactability updated for player 3
11-21 09:39:13.340 28473 28500 I Unity : Starting AI turn for Player 3
11-21 09:39:13.341 28473 28500 I Unity : Tile 7: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:13.825 28473 28500 I Unity : Tile 0 animation to (-0.53, 6.27, 0.00) complete
11-21 09:39:13.825 28473 28500 I Unity : Tile 9 number text visibility set to: True (faceDown: False)
11-21 09:39:13.826 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=8, Color=Red, NumberText null: False
11-21 09:39:13.826 28473 28500 I Unity : Set tile text to: 8, text active: True
11-21 09:39:13.826 28473 28500 I Unity : Set sprite renderer sprite to: TilePurple for color Red (index 1)
11-21 09:39:13.826 28473 28500 I Unity : Tile 9 set to face-up
11-21 09:39:13.826 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=8, Color=Red, NumberText null: False
11-21 09:39:13.826 28473 28500 I Unity : Set tile text to: 8, text active: True
11-21 09:39:13.826 28473 28500 I Unity : Set sprite renderer sprite to: TilePurple for color Red (index 1)
11-21 09:39:13.827 28473 28500 I Unity : Placed tile 8 on grid cell 9 at (1.00, 2.00)
11-21 09:39:13.827 28473 28500 I Unity : Animated opponent tile placement for Player 2 at (1, 2) (board scale: (0.50, 0.50, 1.00))
11-21 09:39:13.827 28473 28500 I Unity : AI Player 2 turn completed
11-21 09:39:13.827 28473 28500 I Unity : AI turn completed for Player 2
11-21 09:39:14.328 28473 28500 I Unity : AI Player 3 (MethodicalPlanner) starting turn...
11-21 09:39:17.668 28473 28500 I Unity : AI Player 3 decision: DrawFaceDown - Draw face-down tile - unknown potential (Score: 0.98)
11-21 09:39:17.669 28473 28500 I Unity : AI Player 3 drawing from face-down pile
11-21 09:39:17.669 28473 28500 I Unity : Drew tile: Green 2 (47 tiles remaining)
11-21 09:39:17.669 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (0, 0) already occupied by 7
11-21 09:39:17.669 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 2 at (0, 1) failed constraints: row=False, col=True
11-21 09:39:17.669 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 2 at (0, 2) failed constraints: row=False, col=True
11-21 09:39:17.669 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 2 at (0, 3) failed constraints: row=False, col=True
11-21 09:39:17.669 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 2 at (1, 0) failed constraints: row=True, col=False
11-21 09:39:17.669 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (1, 1) already occupied by 6
11-21 09:39:17.669 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (1, 2) already occupied by 13
11-21 09:39:17.670 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 2 at (1, 3) failed constraints: row=False, col=True
11-21 09:39:17.670 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 2 at (2, 0) failed constraints: row=True, col=False
11-21 09:39:17.670 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (2, 1) already occupied by 11
11-21 09:39:17.670 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (2, 2) already occupied by 14
11-21 09:39:17.670 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (2, 3) already occupied by 15
11-21 09:39:17.670 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 2 at (3, 0) failed constraints: row=True, col=False
11-21 09:39:17.670 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 2 at (3, 1) failed constraints: row=True, col=False
11-21 09:39:17.670 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (3, 2) already occupied by 18
11-21 09:39:17.670 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (3, 3) already occupied by 20
11-21 09:39:17.670 28473 28500 I Unity : → Player 3 drew tile: Green 2 from DrawPile | Valid placements: 0
11-21 09:39:17.671 28473 28500 I Unity : Tile drawn: Player 3 drew Green 2
11-21 09:39:17.672 28473 28500 I Unity : UIGameTile Start: SpriteRenderer=True, NumberText=True
11-21 09:39:17.672 28473 28500 I Unity : SetTileData called with: Green 2, Color enum: 3
11-21 09:39:17.673 28473 28500 I Unity : Updated _originalSprite to: TileYellow for Green
11-21 09:39:17.673 28473 28500 I Unity : Before UpdateVisualRepresentation: _color=Green (enum: 3), GameTileSprites=4
11-21 09:39:17.673 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=2, Color=Green, NumberText null: False
11-21 09:39:17.673 28473 28500 I Unity : Set tile text to: 2, text active: True
11-21 09:39:17.673 28473 28500 I Unity : Set sprite renderer sprite to: TileYellow for color Green (index 3)
11-21 09:39:17.673 28473 28500 I Unity : Tile 0 set to Green 2
11-21 09:39:17.673 28473 28500 I Unity : Tile 0 number text visibility set to: True (faceDown: False)
11-21 09:39:17.673 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=2, Color=Green, NumberText null: False
11-21 09:39:17.674 28473 28500 I Unity : Set tile text to: 2, text active: True
11-21 09:39:17.674 28473 28500 I Unity : Set sprite renderer sprite to: TileYellow for color Green (index 3)
11-21 09:39:17.674 28473 28500 I Unity : Tile 0 set to face-up
11-21 09:39:17.674 28473 28500 I Unity : Tile 2: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:17.674 28473 28500 I Unity : Created temporary drawn tile Green 2 for opponent Player 3
11-21 09:39:17.674 28473 28500 I Unity : UpdateDiscardCount called with: 0
11-21 09:39:17.674 28473 28500 I Unity : Set discard count text to: 0
11-21 09:39:17.674 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=False, HasUnplacedTile=True, TestModeAllAI=False
11-21 09:39:17.674 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:39:17.675 28473 28500 W Unity : Tile 11: SetInteractable(False) - No Collider2D found!
11-21 09:39:17.675 28473 28500 W Unity : Tile 20: SetInteractable(False) - No Collider2D found!
11-21 09:39:17.675 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:39:17.675 28473 28500 W Unity : Tile 12: SetInteractable(False) - No Collider2D found!
11-21 09:39:17.675 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:39:17.675 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:39:17.675 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:39:17.675 28473 28500 W Unity : Tile 13: SetInteractable(False) - No Collider2D found!
11-21 09:39:17.675 28473 28500 W Unity : Tile 7: SetInteractable(False) - No Collider2D found!
11-21 09:39:17.675 28473 28500 I Unity : UIDiscardDeck interactability set to: False
11-21 09:39:17.676 28473 28500 I Unity : Tile 7: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:17.676 28473 28500 I Unity : Tile 6: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:17.676 28473 28500 I Unity : Tile 13: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:17.676 28473 28500 I Unity : Tile 11: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:17.676 28473 28500 I Unity : Tile 14: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:17.676 28473 28500 I Unity : Tile 15: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:17.676 28473 28500 I Unity : Tile 18: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:17.676 28473 28500 I Unity : Tile 20: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:17.676 28473 28500 I Unity : Player 3 placed tiles interactivity set to: False
11-21 09:39:17.676 28473 28500 I Unity : Interactability updated for player 3
11-21 09:39:17.677 28473 28500 I Unity : Checking replacement: tile 2 replacing 7 at (0,0)
11-21 09:39:17.677 28473 28500 I Unity : Board state - Row 0: [7, 0, 0, 0]
11-21 09:39:17.677 28473 28500 I Unity : Board state - Col 0: [7, 0, 0, 0]
11-21 09:39:17.677 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:39:17.677 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 2 at (0, 1) failed constraints: row=False, col=True
11-21 09:39:17.677 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 2 at (0, 2) failed constraints: row=False, col=True
11-21 09:39:17.677 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 2 at (0, 3) failed constraints: row=False, col=True
11-21 09:39:17.677 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 2 at (1, 0) failed constraints: row=True, col=False
11-21 09:39:17.677 28473 28500 I Unity : Checking replacement: tile 2 replacing 6 at (1,1)
11-21 09:39:17.677 28473 28500 I Unity : Board state - Row 1: [0, 6, 13, 0]
11-21 09:39:17.677 28473 28500 I Unity : Board state - Col 1: [0, 6, 11, 0]
11-21 09:39:17.678 28473 28500 I Unity : Row check: tile 13 at (1,2) to right of 2 at (1,1)
11-21 09:39:17.678 28473 28500 I Unity : Col check: tile 11 at (2,1) below 2 at (1,1)
11-21 09:39:17.678 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:39:17.678 28473 28500 I Unity : Checking replacement: tile 2 replacing 13 at (1,2)
11-21 09:39:17.678 28473 28500 I Unity : Board state - Row 1: [0, 6, 13, 0]
11-21 09:39:17.678 28473 28500 I Unity : Board state - Col 2: [0, 13, 14, 18]
11-21 09:39:17.678 28473 28500 I Unity : Row check: tile 6 at (1,1) to left of 2 at (1,2)
11-21 09:39:17.678 28473 28500 I Unity : ✗ Row constraint failed: 6 >= 2
11-21 09:39:17.678 28473 28500 I Unity : Col check: tile 14 at (2,2) below 2 at (1,2)
11-21 09:39:17.678 28473 28500 I Unity : Replacement validation: row=False, col=True
11-21 09:39:17.678 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 2 at (1, 3) failed constraints: row=False, col=True
11-21 09:39:17.679 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 2 at (2, 0) failed constraints: row=True, col=False
11-21 09:39:17.679 28473 28500 I Unity : Checking replacement: tile 2 replacing 11 at (2,1)
11-21 09:39:17.679 28473 28500 I Unity : Board state - Row 2: [0, 11, 14, 15]
11-21 09:39:17.679 28473 28500 I Unity : Board state - Col 1: [0, 6, 11, 0]
11-21 09:39:17.679 28473 28500 I Unity : Row check: tile 14 at (2,2) to right of 2 at (2,1)
11-21 09:39:17.679 28473 28500 I Unity : Col check: tile 6 at (1,1) above 2 at (2,1)
11-21 09:39:17.679 28473 28500 I Unity : ✗ Column constraint failed: 6 >= 2
11-21 09:39:17.679 28473 28500 I Unity : Replacement validation: row=True, col=False
11-21 09:39:17.679 28473 28500 I Unity : Checking replacement: tile 2 replacing 14 at (2,2)
11-21 09:39:17.679 28473 28500 I Unity : Board state - Row 2: [0, 11, 14, 15]
11-21 09:39:17.680 28473 28500 I Unity : Board state - Col 2: [0, 13, 14, 18]
11-21 09:39:17.680 28473 28500 I Unity : Row check: tile 11 at (2,1) to left of 2 at (2,2)
11-21 09:39:17.680 28473 28500 I Unity : ✗ Row constraint failed: 11 >= 2
11-21 09:39:17.680 28473 28500 I Unity : Col check: tile 13 at (1,2) above 2 at (2,2)
11-21 09:39:17.680 28473 28500 I Unity : ✗ Column constraint failed: 13 >= 2
11-21 09:39:17.680 28473 28500 I Unity : Replacement validation: row=False, col=False
11-21 09:39:17.680 28473 28500 I Unity : Checking replacement: tile 2 replacing 15 at (2,3)
11-21 09:39:17.680 28473 28500 I Unity : Board state - Row 2: [0, 11, 14, 15]
11-21 09:39:17.680 28473 28500 I Unity : Board state - Col 3: [0, 0, 15, 20]
11-21 09:39:17.680 28473 28500 I Unity : Row check: tile 14 at (2,2) to left of 2 at (2,3)
11-21 09:39:17.680 28473 28500 I Unity : ✗ Row constraint failed: 14 >= 2
11-21 09:39:17.681 28473 28500 I Unity : Col check: tile 20 at (3,3) below 2 at (2,3)
11-21 09:39:17.681 28473 28500 I Unity : Replacement validation: row=False, col=True
11-21 09:39:17.681 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 2 at (3, 0) failed constraints: row=True, col=False
11-21 09:39:17.681 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 2 at (3, 1) failed constraints: row=True, col=False
11-21 09:39:17.681 28473 28500 I Unity : Checking replacement: tile 2 replacing 18 at (3,2)
11-21 09:39:17.681 28473 28500 I Unity : Board state - Row 3: [0, 0, 18, 20]
11-21 09:39:17.681 28473 28500 I Unity : Board state - Col 2: [0, 13, 14, 18]
11-21 09:39:17.681 28473 28500 I Unity : Row check: tile 20 at (3,3) to right of 2 at (3,2)
11-21 09:39:17.681 28473 28500 I Unity : Col check: tile 14 at (2,2) above 2 at (3,2)
11-21 09:39:17.681 28473 28500 I Unity : ✗ Column constraint failed: 14 >= 2
11-21 09:39:17.681 28473 28500 I Unity : Replacement validation: row=True, col=False
11-21 09:39:17.682 28473 28500 I Unity : Checking replacement: tile 2 replacing 20 at (3,3)
11-21 09:39:17.682 28473 28500 I Unity : Board state - Row 3: [0, 0, 18, 20]
11-21 09:39:17.682 28473 28500 I Unity : Board state - Col 3: [0, 0, 15, 20]
11-21 09:39:17.682 28473 28500 I Unity : Row check: tile 18 at (3,2) to left of 2 at (3,3)
11-21 09:39:17.682 28473 28500 I Unity : ✗ Row constraint failed: 18 >= 2
11-21 09:39:17.682 28473 28500 I Unity : Col check: tile 15 at (2,3) above 2 at (3,3)
11-21 09:39:17.682 28473 28500 I Unity : ✗ Column constraint failed: 15 >= 2
11-21 09:39:17.682 28473 28500 I Unity : Replacement validation: row=False, col=False
11-21 09:39:17.682 28473 28500 I Unity : Found 2 valid placements for tile Green 2
11-21 09:39:17.682 28473 28500 I Unity : Valid placements changed: 2 positions
11-21 09:39:17.683 28473 28500 I Unity : Highlighted 2 valid placements for Player 3
11-21 09:39:18.668 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (0, 0) already occupied by 7
11-21 09:39:18.668 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 2 at (0, 1) failed constraints: row=False, col=True
11-21 09:39:18.668 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 2 at (0, 2) failed constraints: row=False, col=True
11-21 09:39:18.668 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 2 at (0, 3) failed constraints: row=False, col=True
11-21 09:39:18.669 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 2 at (1, 0) failed constraints: row=True, col=False
11-21 09:39:18.669 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (1, 1) already occupied by 6
11-21 09:39:18.669 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (1, 2) already occupied by 13
11-21 09:39:18.669 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 2 at (1, 3) failed constraints: row=False, col=True
11-21 09:39:18.669 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 2 at (2, 0) failed constraints: row=True, col=False
11-21 09:39:18.669 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (2, 1) already occupied by 11
11-21 09:39:18.669 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (2, 2) already occupied by 14
11-21 09:39:18.669 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (2, 3) already occupied by 15
11-21 09:39:18.669 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 2 at (3, 0) failed constraints: row=True, col=False
11-21 09:39:18.669 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 2 at (3, 1) failed constraints: row=True, col=False
11-21 09:39:18.670 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (3, 2) already occupied by 18
11-21 09:39:18.670 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (3, 3) already occupied by 20
11-21 09:39:18.670 28473 28500 I Unity : Checking replacement: tile 2 replacing 7 at (0,0)
11-21 09:39:18.670 28473 28500 I Unity : Board state - Row 0: [7, 0, 0, 0]
11-21 09:39:18.670 28473 28500 I Unity : Board state - Col 0: [7, 0, 0, 0]
11-21 09:39:18.670 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:39:18.670 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 2 at (0, 1) failed constraints: row=False, col=True
11-21 09:39:18.670 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 2 at (0, 2) failed constraints: row=False, col=True
11-21 09:39:18.670 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 2 at (0, 3) failed constraints: row=False, col=True
11-21 09:39:18.670 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 2 at (1, 0) failed constraints: row=True, col=False
11-21 09:39:18.671 28473 28500 I Unity : Checking replacement: tile 2 replacing 6 at (1,1)
11-21 09:39:18.671 28473 28500 I Unity : Board state - Row 1: [0, 6, 13, 0]
11-21 09:39:18.671 28473 28500 I Unity : Board state - Col 1: [0, 6, 11, 0]
11-21 09:39:18.671 28473 28500 I Unity : Row check: tile 13 at (1,2) to right of 2 at (1,1)
11-21 09:39:18.671 28473 28500 I Unity : Col check: tile 11 at (2,1) below 2 at (1,1)
11-21 09:39:18.671 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:39:18.671 28473 28500 I Unity : Checking replacement: tile 2 replacing 13 at (1,2)
11-21 09:39:18.671 28473 28500 I Unity : Board state - Row 1: [0, 6, 13, 0]
11-21 09:39:18.671 28473 28500 I Unity : Board state - Col 2: [0, 13, 14, 18]
11-21 09:39:18.671 28473 28500 I Unity : Row check: tile 6 at (1,1) to left of 2 at (1,2)
11-21 09:39:18.672 28473 28500 I Unity : ✗ Row constraint failed: 6 >= 2
11-21 09:39:18.672 28473 28500 I Unity : Col check: tile 14 at (2,2) below 2 at (1,2)
11-21 09:39:18.672 28473 28500 I Unity : Replacement validation: row=False, col=True
11-21 09:39:18.672 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 2 at (1, 3) failed constraints: row=False, col=True
11-21 09:39:18.672 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 2 at (2, 0) failed constraints: row=True, col=False
11-21 09:39:18.672 28473 28500 I Unity : Checking replacement: tile 2 replacing 11 at (2,1)
11-21 09:39:18.672 28473 28500 I Unity : Board state - Row 2: [0, 11, 14, 15]
11-21 09:39:18.672 28473 28500 I Unity : Board state - Col 1: [0, 6, 11, 0]
11-21 09:39:18.672 28473 28500 I Unity : Row check: tile 14 at (2,2) to right of 2 at (2,1)
11-21 09:39:18.672 28473 28500 I Unity : Col check: tile 6 at (1,1) above 2 at (2,1)
11-21 09:39:18.673 28473 28500 I Unity : ✗ Column constraint failed: 6 >= 2
11-21 09:39:18.673 28473 28500 I Unity : Replacement validation: row=True, col=False
11-21 09:39:18.673 28473 28500 I Unity : Checking replacement: tile 2 replacing 14 at (2,2)
11-21 09:39:18.673 28473 28500 I Unity : Board state - Row 2: [0, 11, 14, 15]
11-21 09:39:18.673 28473 28500 I Unity : Board state - Col 2: [0, 13, 14, 18]
11-21 09:39:18.673 28473 28500 I Unity : Row check: tile 11 at (2,1) to left of 2 at (2,2)
11-21 09:39:18.673 28473 28500 I Unity : ✗ Row constraint failed: 11 >= 2
11-21 09:39:18.673 28473 28500 I Unity : Col check: tile 13 at (1,2) above 2 at (2,2)
11-21 09:39:18.673 28473 28500 I Unity : ✗ Column constraint failed: 13 >= 2
11-21 09:39:18.673 28473 28500 I Unity : Replacement validation: row=False, col=False
11-21 09:39:18.673 28473 28500 I Unity : Checking replacement: tile 2 replacing 15 at (2,3)
11-21 09:39:18.674 28473 28500 I Unity : Board state - Row 2: [0, 11, 14, 15]
11-21 09:39:18.674 28473 28500 I Unity : Board state - Col 3: [0, 0, 15, 20]
11-21 09:39:18.674 28473 28500 I Unity : Row check: tile 14 at (2,2) to left of 2 at (2,3)
11-21 09:39:18.674 28473 28500 I Unity : ✗ Row constraint failed: 14 >= 2
11-21 09:39:18.674 28473 28500 I Unity : Col check: tile 20 at (3,3) below 2 at (2,3)
11-21 09:39:18.674 28473 28500 I Unity : Replacement validation: row=False, col=True
11-21 09:39:18.674 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 2 at (3, 0) failed constraints: row=True, col=False
11-21 09:39:18.674 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 2 at (3, 1) failed constraints: row=True, col=False
11-21 09:39:18.674 28473 28500 I Unity : Checking replacement: tile 2 replacing 18 at (3,2)
11-21 09:39:18.674 28473 28500 I Unity : Board state - Row 3: [0, 0, 18, 20]
11-21 09:39:18.674 28473 28500 I Unity : Board state - Col 2: [0, 13, 14, 18]
11-21 09:39:18.675 28473 28500 I Unity : Row check: tile 20 at (3,3) to right of 2 at (3,2)
11-21 09:39:18.675 28473 28500 I Unity : Col check: tile 14 at (2,2) above 2 at (3,2)
11-21 09:39:18.675 28473 28500 I Unity : ✗ Column constraint failed: 14 >= 2
11-21 09:39:18.675 28473 28500 I Unity : Replacement validation: row=True, col=False
11-21 09:39:18.675 28473 28500 I Unity : Checking replacement: tile 2 replacing 20 at (3,3)
11-21 09:39:18.675 28473 28500 I Unity : Board state - Row 3: [0, 0, 18, 20]
11-21 09:39:18.675 28473 28500 I Unity : Board state - Col 3: [0, 0, 15, 20]
11-21 09:39:18.675 28473 28500 I Unity : Row check: tile 18 at (3,2) to left of 2 at (3,3)
11-21 09:39:18.675 28473 28500 I Unity : ✗ Row constraint failed: 18 >= 2
11-21 09:39:18.675 28473 28500 I Unity : Col check: tile 15 at (2,3) above 2 at (3,3)
11-21 09:39:18.675 28473 28500 I Unity : ✗ Column constraint failed: 15 >= 2
11-21 09:39:18.676 28473 28500 I Unity : Replacement validation: row=False, col=False
11-21 09:39:18.676 28473 28500 I Unity : AI Player 3 replacement decision: Replacement chosen (no beneficial empty) | pot=0.25, policy=-0.05
11-21 09:39:18.676 28473 28500 I Unity : AI Player 3 replacing tile at (0, 0)
11-21 09:39:18.676 28473 28500 I Unity : Checking replacement: tile 2 replacing 7 at (0,0)
11-21 09:39:18.676 28473 28500 I Unity : Board state - Row 0: [7, 0, 0, 0]
11-21 09:39:18.676 28473 28500 I Unity : Board state - Col 0: [7, 0, 0, 0]
11-21 09:39:18.676 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:39:18.677 28473 28500 I Unity : Replacing tile 7 at (0, 0) with Green 2
11-21 09:39:18.677 28473 28500 I Unity : Discarded tile: Green 7 (1 tiles in discard pile)
11-21 09:39:18.677 28473 28500 I Unity : Tile discarded: Player 3 discarded Green 7
11-21 09:39:18.677 28473 28500 I Unity : [DISCARD DEBUG] Cached logical discarded tile for player 3: Green 7
11-21 09:39:18.677 28473 28500 I Unity : [PlayerBoard] Player 3 removed tile 07 from (0, 0) | Board now: 7/16 filled
11-21 09:39:18.677 28473 28500 I Unity : [PlayerBoard] Player 3 placed tile 02 at (0, 0) | Board now: 8/16 filled
11-21 09:39:18.677 28473 28500 I Unity : Player 3 placed Green 2 with replacement at (0, 0)
11-21 09:39:18.677 28473 28500 I Unity : Player 3 Board (8/16 filled):
11-21 09:39:18.678 28473 28500 I Unity : 02 -- -- --
11-21 09:39:18.678 28473 28500 I Unity : -- 06 13 --
11-21 09:39:18.678 28473 28500 I Unity : -- 11 14 15
11-21 09:39:18.678 28473 28500 I Unity : -- -- 18 20
11-21 09:39:18.678 28473 28500 I Unity : Tile placed: Player 3 placed Green 2 at (0, 0)
11-21 09:39:18.678 28473 28500 I Unity : Opponent replacing tile 7 with 2 at (0, 0)
11-21 09:39:18.678 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=False, HasUnplacedTile=True, TestModeAllAI=False
11-21 09:39:18.679 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:39:18.679 28473 28500 W Unity : Tile 11: SetInteractable(False) - No Collider2D found!
11-21 09:39:18.679 28473 28500 W Unity : Tile 20: SetInteractable(False) - No Collider2D found!
11-21 09:39:18.679 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:39:18.679 28473 28500 W Unity : Tile 12: SetInteractable(False) - No Collider2D found!
11-21 09:39:18.679 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:39:18.679 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:39:18.679 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:39:18.679 28473 28500 W Unity : Tile 13: SetInteractable(False) - No Collider2D found!
11-21 09:39:18.679 28473 28500 W Unity : Tile 7: SetInteractable(False) - No Collider2D found!
11-21 09:39:18.680 28473 28500 I Unity : UIDiscardDeck interactability set to: False
11-21 09:39:18.680 28473 28500 I Unity : Tile 7: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:18.680 28473 28500 I Unity : Tile 6: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:18.680 28473 28500 I Unity : Tile 13: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:18.680 28473 28500 I Unity : Tile 11: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:18.680 28473 28500 I Unity : Tile 14: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:18.680 28473 28500 I Unity : Tile 15: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:18.680 28473 28500 I Unity : Tile 18: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:18.680 28473 28500 I Unity : Tile 20: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:18.680 28473 28500 I Unity : Player 3 placed tiles interactivity set to: False
11-21 09:39:18.681 28473 28500 I Unity : Interactability updated for player 3
11-21 09:39:18.681 28473 28500 I Unity : Valid placements changed: 0 positions
11-21 09:39:18.681 28473 28500 I Unity : Highlighted 0 valid placements for Player 3
11-21 09:39:18.681 28473 28500 I Unity : ═══════════════════════════════════════════════════════
11-21 09:39:18.681 28473 28500 I Unity : TURN CHANGE: Player 3 → Player 0
11-21 09:39:18.681 28473 28500 I Unity : Turn #8 | Tiles Remaining: 47 | Discard Pile: 1
11-21 09:39:18.681 28473 28500 I Unity : ═══════════════════════════════════════════════════════
11-21 09:39:18.681 28473 28500 I Unity : Game state changed: Game State: Playing, Turn 8, Player 0, Draw: 47, Discard: 1
11-21 09:39:18.681 28473 28500 I Unity : Updating deck UI with remaining count: 47
11-21 09:39:18.681 28473 28500 I Unity : UpdateRemainingCount called with: 47
11-21 09:39:18.682 28473 28500 I Unity : Set deck count text to: 47
11-21 09:39:18.682 28473 28500 I Unity : Game UI updated
11-21 09:39:18.682 28473 28500 I Unity : Player turn changed to Player 0
11-21 09:39:18.682 28473 28500 I Unity : Player 0 current player status: True
11-21 09:39:18.682 28473 28500 I Unity : Player 1 current player status: False
11-21 09:39:18.682 28473 28500 I Unity : Player 2 current player status: False
11-21 09:39:18.683 28473 28500 I Unity : Player 3 current player status: False
11-21 09:39:18.683 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=True, HasUnplacedTile=False, TestModeAllAI=False
11-21 09:39:18.683 28473 28500 W Unity : Tile 14: SetInteractable(True) - No Collider2D found!
11-21 09:39:18.683 28473 28500 W Unity : Tile 11: SetInteractable(True) - No Collider2D found!
11-21 09:39:18.683 28473 28500 W Unity : Tile 20: SetInteractable(True) - No Collider2D found!
11-21 09:39:18.683 28473 28500 W Unity : Tile 14: SetInteractable(True) - No Collider2D found!
11-21 09:39:18.683 28473 28500 W Unity : Tile 12: SetInteractable(True) - No Collider2D found!
11-21 09:39:18.683 28473 28500 W Unity : Tile 15: SetInteractable(True) - No Collider2D found!
11-21 09:39:18.683 28473 28500 W Unity : Tile 15: SetInteractable(True) - No Collider2D found!
11-21 09:39:18.684 28473 28500 W Unity : Tile 14: SetInteractable(True) - No Collider2D found!
11-21 09:39:18.684 28473 28500 W Unity : Tile 13: SetInteractable(True) - No Collider2D found!
11-21 09:39:18.684 28473 28500 W Unity : Tile 7: SetInteractable(True) - No Collider2D found!
11-21 09:39:18.684 28473 28500 I Unity : UIDiscardDeck interactability set to: True
11-21 09:39:18.684 28473 28500 I Unity : Tile 2: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:18.684 28473 28500 I Unity : Tile 4: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:18.684 28473 28500 I Unity : Tile 7: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:18.684 28473 28500 I Unity : Tile 8: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:18.684 28473 28500 I Unity : Tile 10: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:18.684 28473 28500 I Unity : Tile 11: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:18.685 28473 28500 I Unity : Tile 16: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:18.685 28473 28500 I Unity : Player 0 placed tiles interactivity set to: False
11-21 09:39:18.685 28473 28500 I Unity : Interactability updated for player 0
11-21 09:39:18.685 28473 28500 I Unity : Tile 7: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:39:18.971 28473 28500 I Unity : Tile 0 animation to (2.00, 1.99, 0.00) complete
11-21 09:39:18.971 28473 28500 I Unity : SetTileData called with: Green 7, Color enum: 3
11-21 09:39:18.971 28473 28500 I Unity : Updated _originalSprite to: TileYellow for Green
11-21 09:39:18.971 28473 28500 I Unity : Before UpdateVisualRepresentation: _color=Green (enum: 3), GameTileSprites=4
11-21 09:39:18.972 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=7, Color=Green, NumberText null: False
11-21 09:39:18.972 28473 28500 I Unity : Set tile text to: 7, text active: True
11-21 09:39:18.972 28473 28500 I Unity : Set sprite renderer sprite to: TileYellow for color Green (index 3)
11-21 09:39:18.972 28473 28500 I Unity : Tile 0 set to Green 7
11-21 09:39:18.972 28473 28500 I Unity : Tile 7: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:39:18.973 28473 28500 I Unity : [UIDiscardDeck] Destroyed collider for discard pile tile 7
11-21 09:39:18.973 28473 28500 I Unity : Tile 7: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:18.973 28473 28500 I Unity : Discard Pile: Tile 15 (index 6) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 15, Text Order: 16
11-21 09:39:18.973 28473 28500 I Unity : Discard Pile: Tile 14 (index 7) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 17, Text Order: 18
11-21 09:39:18.973 28473 28500 I Unity : Discard Pile: Tile 13 (index 8) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 19, Text Order: 20
11-21 09:39:18.973 28473 28500 I Unity : Discard Pile: Tile 7 (index 9) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 21, Text Order: 22
11-21 09:39:18.973 28473 28500 I Unity : Discard Pile: Tile 7 (index 10) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 23, Text Order: 24
11-21 09:39:18.974 28473 28500 I Unity : UpdateDiscardCount called with: 1
11-21 09:39:18.974 28473 28500 I Unity : Set discard count text to: 1
11-21 09:39:18.974 28473 28500 I Unity : [UIDiscardDeck] Added tile 7 to discard deck (11 total)
11-21 09:39:18.974 28473 28500 I Unity : UpdateDiscardCount called with: 1
11-21 09:39:18.974 28473 28500 I Unity : Set discard count text to: 1
11-21 09:39:19.170 28473 28500 I Unity : Tile 0 animation to (3.43, 8.37, 0.00) complete
11-21 09:39:19.170 28473 28500 I Unity : Tile 0 number text visibility set to: True (faceDown: False)
11-21 09:39:19.171 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=2, Color=Green, NumberText null: False
11-21 09:39:19.171 28473 28500 I Unity : Set tile text to: 2, text active: True
11-21 09:39:19.171 28473 28500 I Unity : Set sprite renderer sprite to: TileYellow for color Green (index 3)
11-21 09:39:19.171 28473 28500 I Unity : Tile 0 set to face-up
11-21 09:39:19.171 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=2, Color=Green, NumberText null: False
11-21 09:39:19.172 28473 28500 I Unity : Set tile text to: 2, text active: True
11-21 09:39:19.172 28473 28500 I Unity : Set sprite renderer sprite to: TileYellow for color Green (index 3)
11-21 09:39:19.172 28473 28500 I Unity : Placed tile 2 on grid cell 0 at (0.00, 0.00)
11-21 09:39:19.172 28473 28500 I Unity : Animated opponent tile placement for Player 3 at (0, 0) (board scale: (0.50, 0.50, 1.00))
11-21 09:39:19.172 28473 28500 I Unity : AI Player 3 turn completed
11-21 09:39:19.173 28473 28500 I Unity : AI turn completed for Player 3
11-21 09:39:24.745 28473 28500 I Unity : Interacting with discard deck
11-21 09:39:24.745 28473 28500 I Unity : Checking replacement: tile 7 replacing 2 at (0,0)
11-21 09:39:24.746 28473 28500 I Unity : Board state - Row 0: [2, 0, 4, 0]
11-21 09:39:24.746 28473 28500 I Unity : Board state - Col 0: [2, 0, 0, 0]
11-21 09:39:24.746 28473 28500 I Unity : Row check: tile 4 at (0,2) to right of 7 at (0,0)
11-21 09:39:24.746 28473 28500 I Unity : ✗ Row constraint failed: 4 <= 7
11-21 09:39:24.746 28473 28500 I Unity : Replacement validation: row=False, col=True
11-21 09:39:24.746 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 7 at (0, 1) failed constraints: row=False, col=False
11-21 09:39:24.746 28473 28500 I Unity : Checking replacement: tile 7 replacing 4 at (0,2)
11-21 09:39:24.746 28473 28500 I Unity : Board state - Row 0: [2, 0, 4, 0]
11-21 09:39:24.746 28473 28500 I Unity : Board state - Col 2: [4, 8, 11, 0]
11-21 09:39:24.746 28473 28500 I Unity : Row check: tile 2 at (0,0) to left of 7 at (0,2)
11-21 09:39:24.746 28473 28500 I Unity : Col check: tile 8 at (1,2) below 7 at (0,2)
11-21 09:39:24.746 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:39:24.747 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 7 at (0, 3) is VALID
11-21 09:39:24.747 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 7 at (1, 0) failed constraints: row=False, col=True
11-21 09:39:24.747 28473 28500 I Unity : Checking replacement: tile 7 replacing 7 at (1,1)
11-21 09:39:24.747 28473 28500 I Unity : Board state - Row 1: [0, 7, 8, 0]
11-21 09:39:24.747 28473 28500 I Unity : Board state - Col 1: [0, 7, 10, 0]
11-21 09:39:24.747 28473 28500 I Unity : Row check: tile 8 at (1,2) to right of 7 at (1,1)
11-21 09:39:24.747 28473 28500 I Unity : Col check: tile 10 at (2,1) below 7 at (1,1)
11-21 09:39:24.747 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:39:24.747 28473 28500 I Unity : Checking replacement: tile 7 replacing 8 at (1,2)
11-21 09:39:24.747 28473 28500 I Unity : Board state - Row 1: [0, 7, 8, 0]
11-21 09:39:24.747 28473 28500 I Unity : Board state - Col 2: [4, 8, 11, 0]
11-21 09:39:24.748 28473 28500 I Unity : Row check: tile 7 at (1,1) to left of 7 at (1,2)
11-21 09:39:24.748 28473 28500 I Unity : ✗ Row constraint failed: 7 >= 7
11-21 09:39:24.748 28473 28500 I Unity : Col check: tile 4 at (0,2) above 7 at (1,2)
11-21 09:39:24.748 28473 28500 I Unity : Col check: tile 11 at (2,2) below 7 at (1,2)
11-21 09:39:24.748 28473 28500 I Unity : Replacement validation: row=False, col=True
11-21 09:39:24.748 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 7 at (1, 3) failed constraints: row=False, col=True
11-21 09:39:24.748 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 7 at (2, 0) is VALID
11-21 09:39:24.748 28473 28500 I Unity : Checking replacement: tile 7 replacing 10 at (2,1)
11-21 09:39:24.748 28473 28500 I Unity : Board state - Row 2: [0, 10, 11, 0]
11-21 09:39:24.748 28473 28500 I Unity : Board state - Col 1: [0, 7, 10, 0]
11-21 09:39:24.748 28473 28500 I Unity : Row check: tile 11 at (2,2) to right of 7 at (2,1)
11-21 09:39:24.749 28473 28500 I Unity : Col check: tile 7 at (1,1) above 7 at (2,1)
11-21 09:39:24.749 28473 28500 I Unity : ✗ Column constraint failed: 7 >= 7
11-21 09:39:24.749 28473 28500 I Unity : Replacement validation: row=True, col=False
11-21 09:39:24.749 28473 28500 I Unity : Checking replacement: tile 7 replacing 11 at (2,2)
11-21 09:39:24.749 28473 28500 I Unity : Board state - Row 2: [0, 10, 11, 0]
11-21 09:39:24.749 28473 28500 I Unity : Board state - Col 2: [4, 8, 11, 0]
11-21 09:39:24.749 28473 28500 I Unity : Row check: tile 10 at (2,1) to left of 7 at (2,2)
11-21 09:39:24.749 28473 28500 I Unity : ✗ Row constraint failed: 10 >= 7
11-21 09:39:24.749 28473 28500 I Unity : Col check: tile 8 at (1,2) above 7 at (2,2)
11-21 09:39:24.749 28473 28500 I Unity : ✗ Column constraint failed: 8 >= 7
11-21 09:39:24.749 28473 28500 I Unity : Replacement validation: row=False, col=False
11-21 09:39:24.749 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 7 at (2, 3) failed constraints: row=False, col=True
11-21 09:39:24.750 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 7 at (3, 0) is VALID
11-21 09:39:24.750 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 7 at (3, 1) failed constraints: row=True, col=False
11-21 09:39:24.750 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 7 at (3, 2) failed constraints: row=True, col=False
11-21 09:39:24.750 28473 28500 I Unity : Checking replacement: tile 7 replacing 16 at (3,3)
11-21 09:39:24.750 28473 28500 I Unity : Board state - Row 3: [0, 0, 0, 16]
11-21 09:39:24.750 28473 28500 I Unity : Board state - Col 3: [0, 0, 0, 16]
11-21 09:39:24.750 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:39:24.750 28473 28500 I Unity : Tile 7 has 6 valid placements - allowing player to take it
11-21 09:39:24.750 28473 28500 I Unity : Took discarded tile: Green 7 from index 0
11-21 09:39:24.750 28473 28500 I Unity : Player 0 took discarded tile: Green 7 from DiscardPile
11-21 09:39:24.751 28473 28500 I Unity : Tile drawn: Player 0 drew Green 7
11-21 09:39:24.751 28473 28500 I Unity : UpdateDiscardCount called with: 0
11-21 09:39:24.751 28473 28500 I Unity : Set discard count text to: 0
11-21 09:39:24.751 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=True, HasUnplacedTile=True, TestModeAllAI=False
11-21 09:39:24.751 28473 28500 W Unity : Tile 14: SetInteractable(True) - No Collider2D found!
11-21 09:39:24.751 28473 28500 W Unity : Tile 11: SetInteractable(True) - No Collider2D found!
11-21 09:39:24.751 28473 28500 W Unity : Tile 20: SetInteractable(True) - No Collider2D found!
11-21 09:39:24.751 28473 28500 W Unity : Tile 14: SetInteractable(True) - No Collider2D found!
11-21 09:39:24.751 28473 28500 W Unity : Tile 12: SetInteractable(True) - No Collider2D found!
11-21 09:39:24.751 28473 28500 W Unity : Tile 15: SetInteractable(True) - No Collider2D found!
11-21 09:39:24.752 28473 28500 W Unity : Tile 15: SetInteractable(True) - No Collider2D found!
11-21 09:39:24.752 28473 28500 W Unity : Tile 14: SetInteractable(True) - No Collider2D found!
11-21 09:39:24.752 28473 28500 W Unity : Tile 13: SetInteractable(True) - No Collider2D found!
11-21 09:39:24.752 28473 28500 W Unity : Tile 7: SetInteractable(True) - No Collider2D found!
11-21 09:39:24.752 28473 28500 W Unity : Tile 7: SetInteractable(True) - No Collider2D found!
11-21 09:39:24.752 28473 28500 I Unity : UIDiscardDeck interactability set to: True
11-21 09:39:24.752 28473 28500 I Unity : Tile 2: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:39:24.752 28473 28500 I Unity : Tile 4: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:39:24.752 28473 28500 I Unity : Tile 7: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:39:24.752 28473 28500 I Unity : Tile 8: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:39:24.753 28473 28500 I Unity : Tile 10: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:39:24.753 28473 28500 I Unity : Tile 11: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:39:24.753 28473 28500 I Unity : Tile 16: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:39:24.753 28473 28500 I Unity : Player 0 placed tiles interactivity set to: True
11-21 09:39:24.753 28473 28500 I Unity : Interactability updated for player 0
11-21 09:39:24.753 28473 28500 I Unity : Checking replacement: tile 7 replacing 2 at (0,0)
11-21 09:39:24.753 28473 28500 I Unity : Board state - Row 0: [2, 0, 4, 0]
11-21 09:39:24.753 28473 28500 I Unity : Board state - Col 0: [2, 0, 0, 0]
11-21 09:39:24.753 28473 28500 I Unity : Row check: tile 4 at (0,2) to right of 7 at (0,0)
11-21 09:39:24.753 28473 28500 I Unity : ✗ Row constraint failed: 4 <= 7
11-21 09:39:24.754 28473 28500 I Unity : Replacement validation: row=False, col=True
11-21 09:39:24.754 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 7 at (0, 1) failed constraints: row=False, col=False
11-21 09:39:24.754 28473 28500 I Unity : Checking replacement: tile 7 replacing 4 at (0,2)
11-21 09:39:24.754 28473 28500 I Unity : Board state - Row 0: [2, 0, 4, 0]
11-21 09:39:24.754 28473 28500 I Unity : Board state - Col 2: [4, 8, 11, 0]
11-21 09:39:24.754 28473 28500 I Unity : Row check: tile 2 at (0,0) to left of 7 at (0,2)
11-21 09:39:24.754 28473 28500 I Unity : Col check: tile 8 at (1,2) below 7 at (0,2)
11-21 09:39:24.754 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:39:24.754 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 7 at (0, 3) is VALID
11-21 09:39:24.754 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 7 at (1, 0) failed constraints: row=False, col=True
11-21 09:39:24.754 28473 28500 I Unity : Checking replacement: tile 7 replacing 7 at (1,1)
11-21 09:39:24.755 28473 28500 I Unity : Board state - Row 1: [0, 7, 8, 0]
11-21 09:39:24.755 28473 28500 I Unity : Board state - Col 1: [0, 7, 10, 0]
11-21 09:39:24.755 28473 28500 I Unity : Row check: tile 8 at (1,2) to right of 7 at (1,1)
11-21 09:39:24.755 28473 28500 I Unity : Col check: tile 10 at (2,1) below 7 at (1,1)
11-21 09:39:24.755 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:39:24.755 28473 28500 I Unity : Checking replacement: tile 7 replacing 8 at (1,2)
11-21 09:39:24.755 28473 28500 I Unity : Board state - Row 1: [0, 7, 8, 0]
11-21 09:39:24.755 28473 28500 I Unity : Board state - Col 2: [4, 8, 11, 0]
11-21 09:39:24.755 28473 28500 I Unity : Row check: tile 7 at (1,1) to left of 7 at (1,2)
11-21 09:39:24.755 28473 28500 I Unity : ✗ Row constraint failed: 7 >= 7
11-21 09:39:24.755 28473 28500 I Unity : Col check: tile 4 at (0,2) above 7 at (1,2)
11-21 09:39:24.755 28473 28500 I Unity : Col check: tile 11 at (2,2) below 7 at (1,2)
11-21 09:39:24.756 28473 28500 I Unity : Replacement validation: row=False, col=True
11-21 09:39:24.756 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 7 at (1, 3) failed constraints: row=False, col=True
11-21 09:39:24.756 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 7 at (2, 0) is VALID
11-21 09:39:24.756 28473 28500 I Unity : Checking replacement: tile 7 replacing 10 at (2,1)
11-21 09:39:24.756 28473 28500 I Unity : Board state - Row 2: [0, 10, 11, 0]
11-21 09:39:24.756 28473 28500 I Unity : Board state - Col 1: [0, 7, 10, 0]
11-21 09:39:24.756 28473 28500 I Unity : Row check: tile 11 at (2,2) to right of 7 at (2,1)
11-21 09:39:24.756 28473 28500 I Unity : Col check: tile 7 at (1,1) above 7 at (2,1)
11-21 09:39:24.756 28473 28500 I Unity : ✗ Column constraint failed: 7 >= 7
11-21 09:39:24.756 28473 28500 I Unity : Replacement validation: row=True, col=False
11-21 09:39:24.756 28473 28500 I Unity : Checking replacement: tile 7 replacing 11 at (2,2)
11-21 09:39:24.757 28473 28500 I Unity : Board state - Row 2: [0, 10, 11, 0]
11-21 09:39:24.757 28473 28500 I Unity : Board state - Col 2: [4, 8, 11, 0]
11-21 09:39:24.757 28473 28500 I Unity : Row check: tile 10 at (2,1) to left of 7 at (2,2)
11-21 09:39:24.757 28473 28500 I Unity : ✗ Row constraint failed: 10 >= 7
11-21 09:39:24.757 28473 28500 I Unity : Col check: tile 8 at (1,2) above 7 at (2,2)
11-21 09:39:24.757 28473 28500 I Unity : ✗ Column constraint failed: 8 >= 7
11-21 09:39:24.757 28473 28500 I Unity : Replacement validation: row=False, col=False
11-21 09:39:24.757 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 7 at (2, 3) failed constraints: row=False, col=True
11-21 09:39:24.757 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 7 at (3, 0) is VALID
11-21 09:39:24.757 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 7 at (3, 1) failed constraints: row=True, col=False
11-21 09:39:24.757 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 7 at (3, 2) failed constraints: row=True, col=False
11-21 09:39:24.757 28473 28500 I Unity : Checking replacement: tile 7 replacing 16 at (3,3)
11-21 09:39:24.758 28473 28500 I Unity : Board state - Row 3: [0, 0, 0, 16]
11-21 09:39:24.758 28473 28500 I Unity : Board state - Col 3: [0, 0, 0, 16]
11-21 09:39:24.758 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:39:24.758 28473 28500 I Unity : Found 6 valid placements for tile Green 7
11-21 09:39:24.758 28473 28500 I Unity : Valid placements changed: 6 positions
11-21 09:39:24.758 28473 28500 I Unity : Highlighted 6 valid placements for Player 0
11-21 09:39:24.758 28473 28500 I Unity : [DISCARD DEBUG] Selected tile from discard pile: Number=7, TileData=Green 7, UniqueID=Green_7_3d8c0557
11-21 09:39:24.759 28473 28500 I Unity : Tile 0 selection set to: True
11-21 09:39:24.759 28473 28500 I Unity : Discard Pile: Tile 15 (index 5) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 13, Text Order: 14
11-21 09:39:24.759 28473 28500 I Unity : Discard Pile: Tile 15 (index 6) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 15, Text Order: 16
11-21 09:39:24.759 28473 28500 I Unity : Discard Pile: Tile 14 (index 7) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 17, Text Order: 18
11-21 09:39:24.759 28473 28500 I Unity : Discard Pile: Tile 13 (index 8) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 19, Text Order: 20
11-21 09:39:24.759 28473 28500 I Unity : Discard Pile: Tile 7 (index 9) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 21, Text Order: 22
11-21 09:39:24.759 28473 28500 I Unity : UpdateDiscardCount called with: 0
11-21 09:39:24.760 28473 28500 I Unity : Set discard count text to: 0
11-21 09:39:24.760 28473 28500 I Unity : Removed selected tile 7 from visual discard list (index 10)
11-21 09:39:25.479 28473 28500 I Unity : Interacting with grid cell 3 at position (3.00, 0.00)
11-21 09:39:25.479 28473 28500 I Unity : HandleTilePlacement: Attempting to place tile 7 at grid position (3.00, 0.00)
11-21 09:39:25.479 28473 28500 I Unity : HandleTilePlacement: Converted to board coordinates - row=0, col=3
11-21 09:39:25.479 28473 28500 I Unity : Cell at (3.00, 0.00) is empty - using normal placement
11-21 09:39:25.480 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 7 at (0, 3) is VALID
11-21 09:39:25.480 28473 28500 I Unity : Placement validation passed - calling GameManager.PlaceTile(0, 3)
11-21 09:39:25.480 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 7 at (0, 3) is VALID
11-21 09:39:25.480 28473 28500 I Unity : [PlayerBoard] Player 0 placed tile 07 at (0, 3) | Board now: 8/16 filled
11-21 09:39:25.480 28473 28500 I Unity : [PLACEMENT] ✓ Player 0 placed Green 7 at (0, 3) | Board: 8/16 filled | Remaining draw: 47
11-21 09:39:25.480 28473 28500 I Unity : Player 0 Board (8/16 filled):
11-21 09:39:25.480 28473 28500 I Unity : 02 -- 04 07
11-21 09:39:25.480 28473 28500 I Unity : -- 07 08 --
11-21 09:39:25.480 28473 28500 I Unity : -- 10 11 --
11-21 09:39:25.480 28473 28500 I Unity : -- -- -- 16
11-21 09:39:25.480 28473 28500 I Unity : Tile placed: Player 0 placed Green 7 at (0, 3)
11-21 09:39:25.481 28473 28500 I Unity : [DISCARD DEBUG] selectedFromDiscard: NOT NULL, CurrentTileSource=DiscardPile
11-21 09:39:25.481 28473 28500 I Unity : [DISCARD DEBUG] selectedFromDiscard.TileData: NOT NULL
11-21 09:39:25.481 28473 28500 I Unity : [DISCARD DEBUG] BEFORE RESYNC - visual TileData: Green 7, UniqueID: Green_7_3d8c0557
11-21 09:39:25.481 28473 28500 I Unity : [DISCARD DEBUG] logic TileData: Green 7, UniqueID: Green_7_3d8c0557
11-21 09:39:25.481 28473 28500 I Unity : [UIDiscardDeck] Clearing selected discard tile reference for tile 7
11-21 09:39:25.481 28473 28500 I Unity : Resetting sprite renderer sprite to original: TileYellow for tile Green
11-21 09:39:25.481 28473 28500 I Unity : Tile 0 selection set to: False
11-21 09:39:25.481 28473 28500 I Unity : Tile 3 number text visibility set to: True (faceDown: False)
11-21 09:39:25.481 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=7, Color=Green, NumberText null: False
11-21 09:39:25.482 28473 28500 I Unity : Set tile text to: 7, text active: True
11-21 09:39:25.482 28473 28500 I Unity : Set sprite renderer sprite to: TileYellow for color Green (index 3)
11-21 09:39:25.482 28473 28500 I Unity : Tile 3 set to face-up
11-21 09:39:25.482 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=True, HasUnplacedTile=True, TestModeAllAI=False
11-21 09:39:25.482 28473 28500 W Unity : Tile 14: SetInteractable(True) - No Collider2D found!
11-21 09:39:25.482 28473 28500 W Unity : Tile 11: SetInteractable(True) - No Collider2D found!
11-21 09:39:25.482 28473 28500 W Unity : Tile 20: SetInteractable(True) - No Collider2D found!
11-21 09:39:25.482 28473 28500 W Unity : Tile 14: SetInteractable(True) - No Collider2D found!
11-21 09:39:25.482 28473 28500 W Unity : Tile 12: SetInteractable(True) - No Collider2D found!
11-21 09:39:25.482 28473 28500 W Unity : Tile 15: SetInteractable(True) - No Collider2D found!
11-21 09:39:25.483 28473 28500 W Unity : Tile 15: SetInteractable(True) - No Collider2D found!
11-21 09:39:25.483 28473 28500 W Unity : Tile 14: SetInteractable(True) - No Collider2D found!
11-21 09:39:25.483 28473 28500 W Unity : Tile 13: SetInteractable(True) - No Collider2D found!
11-21 09:39:25.483 28473 28500 W Unity : Tile 7: SetInteractable(True) - No Collider2D found!
11-21 09:39:25.483 28473 28500 I Unity : UIDiscardDeck interactability set to: True
11-21 09:39:25.483 28473 28500 I Unity : Tile 2: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:39:25.483 28473 28500 I Unity : Tile 4: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:39:25.483 28473 28500 I Unity : Tile 7: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:39:25.483 28473 28500 I Unity : Tile 8: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:39:25.483 28473 28500 I Unity : Tile 10: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:39:25.483 28473 28500 I Unity : Tile 11: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:39:25.483 28473 28500 I Unity : Tile 16: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:39:25.484 28473 28500 I Unity : Player 0 placed tiles interactivity set to: True
11-21 09:39:25.484 28473 28500 I Unity : Interactability updated for player 0
11-21 09:39:25.484 28473 28500 I Unity : Valid placements changed: 0 positions
11-21 09:39:25.484 28473 28500 I Unity : Highlighted 0 valid placements for Player 0
11-21 09:39:25.484 28473 28500 I Unity : ═══════════════════════════════════════════════════════
11-21 09:39:25.484 28473 28500 I Unity : TURN CHANGE: Player 0 → Player 1
11-21 09:39:25.484 28473 28500 I Unity : Turn #8 | Tiles Remaining: 47 | Discard Pile: 0
11-21 09:39:25.484 28473 28500 I Unity : ═══════════════════════════════════════════════════════
11-21 09:39:25.484 28473 28500 I Unity : Game state changed: Game State: Playing, Turn 8, Player 1, Draw: 47, Discard: 0
11-21 09:39:25.484 28473 28500 I Unity : Updating deck UI with remaining count: 47
11-21 09:39:25.484 28473 28500 I Unity : UpdateRemainingCount called with: 47
11-21 09:39:25.485 28473 28500 I Unity : Set deck count text to: 47
11-21 09:39:25.485 28473 28500 I Unity : Game UI updated
11-21 09:39:25.485 28473 28500 I Unity : Player turn changed to Player 1
11-21 09:39:25.485 28473 28500 I Unity : Player 0 current player status: False
11-21 09:39:25.485 28473 28500 I Unity : Player 1 current player status: True
11-21 09:39:25.485 28473 28500 I Unity : Player 2 current player status: False
11-21 09:39:25.485 28473 28500 I Unity : Player 3 current player status: False
11-21 09:39:25.485 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=False, HasUnplacedTile=False, TestModeAllAI=False
11-21 09:39:25.486 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:39:25.486 28473 28500 W Unity : Tile 11: SetInteractable(False) - No Collider2D found!
11-21 09:39:25.486 28473 28500 W Unity : Tile 20: SetInteractable(False) - No Collider2D found!
11-21 09:39:25.486 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:39:25.486 28473 28500 W Unity : Tile 12: SetInteractable(False) - No Collider2D found!
11-21 09:39:25.486 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:39:25.486 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:39:25.486 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:39:25.486 28473 28500 W Unity : Tile 13: SetInteractable(False) - No Collider2D found!
11-21 09:39:25.486 28473 28500 W Unity : Tile 7: SetInteractable(False) - No Collider2D found!
11-21 09:39:25.486 28473 28500 I Unity : UIDiscardDeck interactability set to: False
11-21 09:39:25.486 28473 28500 I Unity : Tile 2: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:25.486 28473 28500 I Unity : Tile 7: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:25.487 28473 28500 I Unity : Tile 3: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:25.487 28473 28500 I Unity : Tile 10: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:25.487 28473 28500 I Unity : Tile 12: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:25.487 28473 28500 I Unity : Tile 14: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:25.487 28473 28500 I Unity : Tile 13: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:25.487 28473 28500 I Unity : Tile 15: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:25.487 28473 28500 I Unity : Player 1 placed tiles interactivity set to: False
11-21 09:39:25.487 28473 28500 I Unity : Interactability updated for player 1
11-21 09:39:25.487 28473 28500 I Unity : Starting AI turn for Player 1
11-21 09:39:25.487 28473 28500 I Unity : Tile 7: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:25.488 28473 28500 I Unity : ✓ Successfully placed tile 7 at (3.00, 0.00)
11-21 09:39:25.948 28473 28500 I Unity : Tile 3 animation to (3.15, -1.39, 0.00) complete
11-21 09:39:25.948 28473 28500 I Unity : Tile 7: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:39:25.948 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=7, Color=Green, NumberText null: False
11-21 09:39:25.949 28473 28500 I Unity : Set tile text to: 7, text active: True
11-21 09:39:25.949 28473 28500 I Unity : Set sprite renderer sprite to: TileYellow for color Green (index 3)
11-21 09:39:25.949 28473 28500 I Unity : Player 0: Set particle system and all child particle renderers to sorting order 100
11-21 09:39:25.949 28473 28500 I Unity : Player 0: Triggered click particle at (3.15, -1.39, 0.00)
11-21 09:39:25.949 28473 28500 I Unity : Animated discard tile placement for Player 0 at (3, 0)
11-21 09:39:26.483 28473 28500 I Unity : AI Player 1 (DefensiveBlocker) starting turn...
11-21 09:39:28.056 28473 28500 I Unity : AI Player 1 decision: DrawFaceDown - Draw face-down tile - unknown potential (Score: 0.89)
11-21 09:39:28.056 28473 28500 I Unity : AI Player 1 drawing from face-down pile
11-21 09:39:28.056 28473 28500 I Unity : Drew tile: Red 17 (46 tiles remaining)
11-21 09:39:28.056 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (0, 0) already occupied by 2
11-21 09:39:28.057 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 17 at (0, 1) failed constraints: row=False, col=False
11-21 09:39:28.057 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (0, 2) already occupied by 7
11-21 09:39:28.057 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 17 at (0, 3) failed constraints: row=True, col=False
11-21 09:39:28.057 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 17 at (1, 0) failed constraints: row=False, col=True
11-21 09:39:28.057 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (1, 1) already occupied by 3
11-21 09:39:28.057 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (1, 2) already occupied by 10
11-21 09:39:28.057 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 17 at (1, 3) failed constraints: row=True, col=False
11-21 09:39:28.057 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 17 at (2, 0) failed constraints: row=False, col=True
11-21 09:39:28.057 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (2, 1) already occupied by 12
11-21 09:39:28.058 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (2, 2) already occupied by 14
11-21 09:39:28.058 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 17 at (2, 3) failed constraints: row=True, col=False
11-21 09:39:28.058 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 17 at (3, 0) failed constraints: row=False, col=True
11-21 09:39:28.058 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (3, 1) already occupied by 13
11-21 09:39:28.058 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 17 at (3, 2) failed constraints: row=False, col=True
11-21 09:39:28.058 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (3, 3) already occupied by 15
11-21 09:39:28.058 28473 28500 I Unity : → Player 1 drew tile: Red 17 from DrawPile | Valid placements: 0
11-21 09:39:28.058 28473 28500 I Unity : Tile drawn: Player 1 drew Red 17
11-21 09:39:28.060 28473 28500 I Unity : UIGameTile Start: SpriteRenderer=True, NumberText=True
11-21 09:39:28.060 28473 28500 I Unity : SetTileData called with: Red 17, Color enum: 1
11-21 09:39:28.060 28473 28500 I Unity : Updated _originalSprite to: TilePurple for Red
11-21 09:39:28.061 28473 28500 I Unity : Before UpdateVisualRepresentation: _color=Red (enum: 1), GameTileSprites=4
11-21 09:39:28.061 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=17, Color=Red, NumberText null: False
11-21 09:39:28.061 28473 28500 I Unity : Set tile text to: 17, text active: True
11-21 09:39:28.061 28473 28500 I Unity : Set sprite renderer sprite to: TilePurple for color Red (index 1)
11-21 09:39:28.061 28473 28500 I Unity : Tile 0 set to Red 17
11-21 09:39:28.061 28473 28500 I Unity : Tile 0 number text visibility set to: True (faceDown: False)
11-21 09:39:28.061 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=17, Color=Red, NumberText null: False
11-21 09:39:28.061 28473 28500 I Unity : Set tile text to: 17, text active: True
11-21 09:39:28.062 28473 28500 I Unity : Set sprite renderer sprite to: TilePurple for color Red (index 1)
11-21 09:39:28.062 28473 28500 I Unity : Tile 0 set to face-up
11-21 09:39:28.062 28473 28500 I Unity : Tile 17: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:28.062 28473 28500 I Unity : Created temporary drawn tile Red 17 for opponent Player 1
11-21 09:39:28.062 28473 28500 I Unity : UpdateDiscardCount called with: 0
11-21 09:39:28.062 28473 28500 I Unity : Set discard count text to: 0
11-21 09:39:28.062 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=False, HasUnplacedTile=True, TestModeAllAI=False
11-21 09:39:28.062 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:39:28.062 28473 28500 W Unity : Tile 11: SetInteractable(False) - No Collider2D found!
11-21 09:39:28.063 28473 28500 W Unity : Tile 20: SetInteractable(False) - No Collider2D found!
11-21 09:39:28.063 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:39:28.063 28473 28500 W Unity : Tile 12: SetInteractable(False) - No Collider2D found!
11-21 09:39:28.063 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:39:28.063 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:39:28.063 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:39:28.063 28473 28500 W Unity : Tile 13: SetInteractable(False) - No Collider2D found!
11-21 09:39:28.063 28473 28500 W Unity : Tile 7: SetInteractable(False) - No Collider2D found!
11-21 09:39:28.063 28473 28500 I Unity : UIDiscardDeck interactability set to: False
11-21 09:39:28.064 28473 28500 I Unity : Tile 2: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:28.064 28473 28500 I Unity : Tile 7: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:28.064 28473 28500 I Unity : Tile 3: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:28.064 28473 28500 I Unity : Tile 10: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:28.064 28473 28500 I Unity : Tile 12: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:28.064 28473 28500 I Unity : Tile 14: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:28.064 28473 28500 I Unity : Tile 13: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:28.064 28473 28500 I Unity : Tile 15: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:28.064 28473 28500 I Unity : Player 1 placed tiles interactivity set to: False
11-21 09:39:28.064 28473 28500 I Unity : Interactability updated for player 1
11-21 09:39:28.065 28473 28500 I Unity : Checking replacement: tile 17 replacing 2 at (0,0)
11-21 09:39:28.065 28473 28500 I Unity : Board state - Row 0: [2, 0, 7, 0]
11-21 09:39:28.065 28473 28500 I Unity : Board state - Col 0: [2, 0, 0, 0]
11-21 09:39:28.065 28473 28500 I Unity : Row check: tile 7 at (0,2) to right of 17 at (0,0)
11-21 09:39:28.065 28473 28500 I Unity : ✗ Row constraint failed: 7 <= 17
11-21 09:39:28.065 28473 28500 I Unity : Replacement validation: row=False, col=True
11-21 09:39:28.065 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 17 at (0, 1) failed constraints: row=False, col=False
11-21 09:39:28.065 28473 28500 I Unity : Checking replacement: tile 17 replacing 7 at (0,2)
11-21 09:39:28.065 28473 28500 I Unity : Board state - Row 0: [2, 0, 7, 0]
11-21 09:39:28.065 28473 28500 I Unity : Board state - Col 2: [7, 10, 14, 0]
11-21 09:39:28.066 28473 28500 I Unity : Row check: tile 2 at (0,0) to left of 17 at (0,2)
11-21 09:39:28.066 28473 28500 I Unity : Col check: tile 10 at (1,2) below 17 at (0,2)
11-21 09:39:28.066 28473 28500 I Unity : ✗ Column constraint failed: 10 <= 17
11-21 09:39:28.066 28473 28500 I Unity : Replacement validation: row=True, col=False
11-21 09:39:28.066 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 17 at (0, 3) failed constraints: row=True, col=False
11-21 09:39:28.066 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 17 at (1, 0) failed constraints: row=False, col=True
11-21 09:39:28.066 28473 28500 I Unity : Checking replacement: tile 17 replacing 3 at (1,1)
11-21 09:39:28.066 28473 28500 I Unity : Board state - Row 1: [0, 3, 10, 0]
11-21 09:39:28.066 28473 28500 I Unity : Board state - Col 1: [0, 3, 12, 13]
11-21 09:39:28.066 28473 28500 I Unity : Row check: tile 10 at (1,2) to right of 17 at (1,1)
11-21 09:39:28.066 28473 28500 I Unity : ✗ Row constraint failed: 10 <= 17
11-21 09:39:28.067 28473 28500 I Unity : Col check: tile 12 at (2,1) below 17 at (1,1)
11-21 09:39:28.067 28473 28500 I Unity : ✗ Column constraint failed: 12 <= 17
11-21 09:39:28.067 28473 28500 I Unity : Replacement validation: row=False, col=False
11-21 09:39:28.067 28473 28500 I Unity : Checking replacement: tile 17 replacing 10 at (1,2)
11-21 09:39:28.067 28473 28500 I Unity : Board state - Row 1: [0, 3, 10, 0]
11-21 09:39:28.067 28473 28500 I Unity : Board state - Col 2: [7, 10, 14, 0]
11-21 09:39:28.067 28473 28500 I Unity : Row check: tile 3 at (1,1) to left of 17 at (1,2)
11-21 09:39:28.067 28473 28500 I Unity : Col check: tile 7 at (0,2) above 17 at (1,2)
11-21 09:39:28.067 28473 28500 I Unity : Col check: tile 14 at (2,2) below 17 at (1,2)
11-21 09:39:28.067 28473 28500 I Unity : ✗ Column constraint failed: 14 <= 17
11-21 09:39:28.068 28473 28500 I Unity : Replacement validation: row=True, col=False
11-21 09:39:28.068 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 17 at (1, 3) failed constraints: row=True, col=False
11-21 09:39:28.068 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 17 at (2, 0) failed constraints: row=False, col=True
11-21 09:39:28.068 28473 28500 I Unity : Checking replacement: tile 17 replacing 12 at (2,1)
11-21 09:39:28.068 28473 28500 I Unity : Board state - Row 2: [0, 12, 14, 0]
11-21 09:39:28.068 28473 28500 I Unity : Board state - Col 1: [0, 3, 12, 13]
11-21 09:39:28.068 28473 28500 I Unity : Row check: tile 14 at (2,2) to right of 17 at (2,1)
11-21 09:39:28.068 28473 28500 I Unity : ✗ Row constraint failed: 14 <= 17
11-21 09:39:28.068 28473 28500 I Unity : Col check: tile 3 at (1,1) above 17 at (2,1)
11-21 09:39:28.068 28473 28500 I Unity : Col check: tile 13 at (3,1) below 17 at (2,1)
11-21 09:39:28.069 28473 28500 I Unity : ✗ Column constraint failed: 13 <= 17
11-21 09:39:28.069 28473 28500 I Unity : Replacement validation: row=False, col=False
11-21 09:39:28.069 28473 28500 I Unity : Checking replacement: tile 17 replacing 14 at (2,2)
11-21 09:39:28.069 28473 28500 I Unity : Board state - Row 2: [0, 12, 14, 0]
11-21 09:39:28.069 28473 28500 I Unity : Board state - Col 2: [7, 10, 14, 0]
11-21 09:39:28.069 28473 28500 I Unity : Row check: tile 12 at (2,1) to left of 17 at (2,2)
11-21 09:39:28.069 28473 28500 I Unity : Col check: tile 10 at (1,2) above 17 at (2,2)
11-21 09:39:28.069 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:39:28.069 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 17 at (2, 3) failed constraints: row=True, col=False
11-21 09:39:28.069 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 17 at (3, 0) failed constraints: row=False, col=True
11-21 09:39:28.070 28473 28500 I Unity : Checking replacement: tile 17 replacing 13 at (3,1)
11-21 09:39:28.070 28473 28500 I Unity : Board state - Row 3: [0, 13, 0, 15]
11-21 09:39:28.070 28473 28500 I Unity : Board state - Col 1: [0, 3, 12, 13]
11-21 09:39:28.070 28473 28500 I Unity : Row check: tile 15 at (3,3) to right of 17 at (3,1)
11-21 09:39:28.070 28473 28500 I Unity : ✗ Row constraint failed: 15 <= 17
11-21 09:39:28.070 28473 28500 I Unity : Col check: tile 12 at (2,1) above 17 at (3,1)
11-21 09:39:28.070 28473 28500 I Unity : Replacement validation: row=False, col=True
11-21 09:39:28.070 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 17 at (3, 2) failed constraints: row=False, col=True
11-21 09:39:28.070 28473 28500 I Unity : Checking replacement: tile 17 replacing 15 at (3,3)
11-21 09:39:28.070 28473 28500 I Unity : Board state - Row 3: [0, 13, 0, 15]
11-21 09:39:28.071 28473 28500 I Unity : Board state - Col 3: [0, 0, 0, 15]
11-21 09:39:28.071 28473 28500 I Unity : Row check: tile 13 at (3,1) to left of 17 at (3,3)
11-21 09:39:28.071 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:39:28.071 28473 28500 I Unity : Found 2 valid placements for tile Red 17
11-21 09:39:28.071 28473 28500 I Unity : Valid placements changed: 2 positions
11-21 09:39:28.071 28473 28500 I Unity : Highlighted 2 valid placements for Player 1
11-21 09:39:29.055 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (0, 0) already occupied by 2
11-21 09:39:29.055 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 17 at (0, 1) failed constraints: row=False, col=False
11-21 09:39:29.055 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (0, 2) already occupied by 7
11-21 09:39:29.055 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 17 at (0, 3) failed constraints: row=True, col=False
11-21 09:39:29.055 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 17 at (1, 0) failed constraints: row=False, col=True
11-21 09:39:29.056 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (1, 1) already occupied by 3
11-21 09:39:29.056 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (1, 2) already occupied by 10
11-21 09:39:29.056 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 17 at (1, 3) failed constraints: row=True, col=False
11-21 09:39:29.056 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 17 at (2, 0) failed constraints: row=False, col=True
11-21 09:39:29.056 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (2, 1) already occupied by 12
11-21 09:39:29.056 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (2, 2) already occupied by 14
11-21 09:39:29.056 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 17 at (2, 3) failed constraints: row=True, col=False
11-21 09:39:29.057 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 17 at (3, 0) failed constraints: row=False, col=True
11-21 09:39:29.057 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (3, 1) already occupied by 13
11-21 09:39:29.057 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 17 at (3, 2) failed constraints: row=False, col=True
11-21 09:39:29.057 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (3, 3) already occupied by 15
11-21 09:39:29.057 28473 28500 I Unity : Checking replacement: tile 17 replacing 2 at (0,0)
11-21 09:39:29.057 28473 28500 I Unity : Board state - Row 0: [2, 0, 7, 0]
11-21 09:39:29.057 28473 28500 I Unity : Board state - Col 0: [2, 0, 0, 0]
11-21 09:39:29.057 28473 28500 I Unity : Row check: tile 7 at (0,2) to right of 17 at (0,0)
11-21 09:39:29.057 28473 28500 I Unity : ✗ Row constraint failed: 7 <= 17
11-21 09:39:29.057 28473 28500 I Unity : Replacement validation: row=False, col=True
11-21 09:39:29.058 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 17 at (0, 1) failed constraints: row=False, col=False
11-21 09:39:29.058 28473 28500 I Unity : Checking replacement: tile 17 replacing 7 at (0,2)
11-21 09:39:29.059 28473 28500 I Unity : Board state - Row 0: [2, 0, 7, 0]
11-21 09:39:29.059 28473 28500 I Unity : Board state - Col 2: [7, 10, 14, 0]
11-21 09:39:29.059 28473 28500 I Unity : Row check: tile 2 at (0,0) to left of 17 at (0,2)
11-21 09:39:29.059 28473 28500 I Unity : Col check: tile 10 at (1,2) below 17 at (0,2)
11-21 09:39:29.059 28473 28500 I Unity : ✗ Column constraint failed: 10 <= 17
11-21 09:39:29.059 28473 28500 I Unity : Replacement validation: row=True, col=False
11-21 09:39:29.059 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 17 at (0, 3) failed constraints: row=True, col=False
11-21 09:39:29.059 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 17 at (1, 0) failed constraints: row=False, col=True
11-21 09:39:29.060 28473 28500 I Unity : Checking replacement: tile 17 replacing 3 at (1,1)
11-21 09:39:29.060 28473 28500 I Unity : Board state - Row 1: [0, 3, 10, 0]
11-21 09:39:29.060 28473 28500 I Unity : Board state - Col 1: [0, 3, 12, 13]
11-21 09:39:29.060 28473 28500 I Unity : Row check: tile 10 at (1,2) to right of 17 at (1,1)
11-21 09:39:29.060 28473 28500 I Unity : ✗ Row constraint failed: 10 <= 17
11-21 09:39:29.060 28473 28500 I Unity : Col check: tile 12 at (2,1) below 17 at (1,1)
11-21 09:39:29.060 28473 28500 I Unity : ✗ Column constraint failed: 12 <= 17
11-21 09:39:29.060 28473 28500 I Unity : Replacement validation: row=False, col=False
11-21 09:39:29.061 28473 28500 I Unity : Checking replacement: tile 17 replacing 10 at (1,2)
11-21 09:39:29.061 28473 28500 I Unity : Board state - Row 1: [0, 3, 10, 0]
11-21 09:39:29.061 28473 28500 I Unity : Board state - Col 2: [7, 10, 14, 0]
11-21 09:39:29.061 28473 28500 I Unity : Row check: tile 3 at (1,1) to left of 17 at (1,2)
11-21 09:39:29.061 28473 28500 I Unity : Col check: tile 7 at (0,2) above 17 at (1,2)
11-21 09:39:29.061 28473 28500 I Unity : Col check: tile 14 at (2,2) below 17 at (1,2)
11-21 09:39:29.061 28473 28500 I Unity : ✗ Column constraint failed: 14 <= 17
11-21 09:39:29.061 28473 28500 I Unity : Replacement validation: row=True, col=False
11-21 09:39:29.061 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 17 at (1, 3) failed constraints: row=True, col=False
11-21 09:39:29.062 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 17 at (2, 0) failed constraints: row=False, col=True
11-21 09:39:29.062 28473 28500 I Unity : Checking replacement: tile 17 replacing 12 at (2,1)
11-21 09:39:29.062 28473 28500 I Unity : Board state - Row 2: [0, 12, 14, 0]
11-21 09:39:29.062 28473 28500 I Unity : Board state - Col 1: [0, 3, 12, 13]
11-21 09:39:29.062 28473 28500 I Unity : Row check: tile 14 at (2,2) to right of 17 at (2,1)
11-21 09:39:29.062 28473 28500 I Unity : ✗ Row constraint failed: 14 <= 17
11-21 09:39:29.062 28473 28500 I Unity : Col check: tile 3 at (1,1) above 17 at (2,1)
11-21 09:39:29.062 28473 28500 I Unity : Col check: tile 13 at (3,1) below 17 at (2,1)
11-21 09:39:29.063 28473 28500 I Unity : ✗ Column constraint failed: 13 <= 17
11-21 09:39:29.063 28473 28500 I Unity : Replacement validation: row=False, col=False
11-21 09:39:29.063 28473 28500 I Unity : Checking replacement: tile 17 replacing 14 at (2,2)
11-21 09:39:29.063 28473 28500 I Unity : Board state - Row 2: [0, 12, 14, 0]
11-21 09:39:29.063 28473 28500 I Unity : Board state - Col 2: [7, 10, 14, 0]
11-21 09:39:29.063 28473 28500 I Unity : Row check: tile 12 at (2,1) to left of 17 at (2,2)
11-21 09:39:29.063 28473 28500 I Unity : Col check: tile 10 at (1,2) above 17 at (2,2)
11-21 09:39:29.064 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:39:29.064 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 17 at (2, 3) failed constraints: row=True, col=False
11-21 09:39:29.064 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 17 at (3, 0) failed constraints: row=False, col=True
11-21 09:39:29.064 28473 28500 I Unity : Checking replacement: tile 17 replacing 13 at (3,1)
11-21 09:39:29.064 28473 28500 I Unity : Board state - Row 3: [0, 13, 0, 15]
11-21 09:39:29.064 28473 28500 I Unity : Board state - Col 1: [0, 3, 12, 13]
11-21 09:39:29.064 28473 28500 I Unity : Row check: tile 15 at (3,3) to right of 17 at (3,1)
11-21 09:39:29.064 28473 28500 I Unity : ✗ Row constraint failed: 15 <= 17
11-21 09:39:29.065 28473 28500 I Unity : Col check: tile 12 at (2,1) above 17 at (3,1)
11-21 09:39:29.065 28473 28500 I Unity : Replacement validation: row=False, col=True
11-21 09:39:29.065 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 17 at (3, 2) failed constraints: row=False, col=True
11-21 09:39:29.065 28473 28500 I Unity : Checking replacement: tile 17 replacing 15 at (3,3)
11-21 09:39:29.065 28473 28500 I Unity : Board state - Row 3: [0, 13, 0, 15]
11-21 09:39:29.065 28473 28500 I Unity : Board state - Col 3: [0, 0, 0, 15]
11-21 09:39:29.065 28473 28500 I Unity : Row check: tile 13 at (3,1) to left of 17 at (3,3)
11-21 09:39:29.065 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:39:29.066 28473 28500 I Unity : AI Player 1 replacement decision: Replacement chosen (no beneficial empty) | pot=0.00, policy=-0.30
11-21 09:39:29.066 28473 28500 I Unity : AI Player 1 replacing tile at (3, 3)
11-21 09:39:29.066 28473 28500 I Unity : Checking replacement: tile 17 replacing 15 at (3,3)
11-21 09:39:29.066 28473 28500 I Unity : Board state - Row 3: [0, 13, 0, 15]
11-21 09:39:29.066 28473 28500 I Unity : Board state - Col 3: [0, 0, 0, 15]
11-21 09:39:29.066 28473 28500 I Unity : Row check: tile 13 at (3,1) to left of 17 at (3,3)
11-21 09:39:29.066 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:39:29.067 28473 28500 I Unity : Replacing tile 15 at (3, 3) with Red 17
11-21 09:39:29.067 28473 28500 I Unity : Discarded tile: Red 15 (1 tiles in discard pile)
11-21 09:39:29.067 28473 28500 I Unity : Tile discarded: Player 1 discarded Red 15
11-21 09:39:29.067 28473 28500 I Unity : [DISCARD DEBUG] Cached logical discarded tile for player 1: Red 15
11-21 09:39:29.067 28473 28500 I Unity : [PlayerBoard] Player 1 removed tile 15 from (3, 3) | Board now: 7/16 filled
11-21 09:39:29.068 28473 28500 I Unity : [PlayerBoard] Player 1 placed tile 17 at (3, 3) | Board now: 8/16 filled
11-21 09:39:29.068 28473 28500 I Unity : Player 1 placed Red 17 with replacement at (3, 3)
11-21 09:39:29.068 28473 28500 I Unity : Player 1 Board (8/16 filled):
11-21 09:39:29.068 28473 28500 I Unity : 02 -- 07 --
11-21 09:39:29.068 28473 28500 I Unity : -- 03 10 --
11-21 09:39:29.068 28473 28500 I Unity : -- 12 14 --
11-21 09:39:29.068 28473 28500 I Unity : -- 13 -- 17
11-21 09:39:29.068 28473 28500 I Unity : Tile placed: Player 1 placed Red 17 at (3, 3)
11-21 09:39:29.068 28473 28500 I Unity : Opponent replacing tile 15 with 17 at (3, 3)
11-21 09:39:29.069 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=False, HasUnplacedTile=True, TestModeAllAI=False
11-21 09:39:29.069 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:39:29.070 28473 28500 W Unity : Tile 11: SetInteractable(False) - No Collider2D found!
11-21 09:39:29.070 28473 28500 W Unity : Tile 20: SetInteractable(False) - No Collider2D found!
11-21 09:39:29.070 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:39:29.070 28473 28500 W Unity : Tile 12: SetInteractable(False) - No Collider2D found!
11-21 09:39:29.070 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:39:29.070 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:39:29.070 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:39:29.070 28473 28500 W Unity : Tile 13: SetInteractable(False) - No Collider2D found!
11-21 09:39:29.070 28473 28500 W Unity : Tile 7: SetInteractable(False) - No Collider2D found!
11-21 09:39:29.070 28473 28500 I Unity : UIDiscardDeck interactability set to: False
11-21 09:39:29.071 28473 28500 I Unity : Tile 2: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:29.071 28473 28500 I Unity : Tile 7: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:29.072 28473 28500 I Unity : Tile 3: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:29.072 28473 28500 I Unity : Tile 10: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:29.072 28473 28500 I Unity : Tile 12: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:29.072 28473 28500 I Unity : Tile 14: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:29.072 28473 28500 I Unity : Tile 13: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:29.072 28473 28500 I Unity : Tile 15: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:29.072 28473 28500 I Unity : Player 1 placed tiles interactivity set to: False
11-21 09:39:29.072 28473 28500 I Unity : Interactability updated for player 1
11-21 09:39:29.072 28473 28500 I Unity : Valid placements changed: 0 positions
11-21 09:39:29.072 28473 28500 I Unity : Highlighted 0 valid placements for Player 1
11-21 09:39:29.073 28473 28500 I Unity : ═══════════════════════════════════════════════════════
11-21 09:39:29.073 28473 28500 I Unity : TURN CHANGE: Player 1 → Player 2
11-21 09:39:29.073 28473 28500 I Unity : Turn #8 | Tiles Remaining: 46 | Discard Pile: 1
11-21 09:39:29.073 28473 28500 I Unity : ═══════════════════════════════════════════════════════
11-21 09:39:29.073 28473 28500 I Unity : Game state changed: Game State: Playing, Turn 8, Player 2, Draw: 46, Discard: 1
11-21 09:39:29.073 28473 28500 I Unity : Updating deck UI with remaining count: 46
11-21 09:39:29.073 28473 28500 I Unity : UpdateRemainingCount called with: 46
11-21 09:39:29.074 28473 28500 I Unity : Set deck count text to: 46
11-21 09:39:29.074 28473 28500 I Unity : Game UI updated
11-21 09:39:29.074 28473 28500 I Unity : Player turn changed to Player 2
11-21 09:39:29.075 28473 28500 I Unity : Player 0 current player status: False
11-21 09:39:29.075 28473 28500 I Unity : Player 1 current player status: False
11-21 09:39:29.076 28473 28500 I Unity : Player 2 current player status: True
11-21 09:39:29.076 28473 28500 I Unity : Player 3 current player status: False
11-21 09:39:29.076 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=False, HasUnplacedTile=False, TestModeAllAI=False
11-21 09:39:29.077 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:39:29.077 28473 28500 W Unity : Tile 11: SetInteractable(False) - No Collider2D found!
11-21 09:39:29.077 28473 28500 W Unity : Tile 20: SetInteractable(False) - No Collider2D found!
11-21 09:39:29.077 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:39:29.080 28473 28500 W Unity : Tile 12: SetInteractable(False) - No Collider2D found!
11-21 09:39:29.080 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:39:29.081 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:39:29.081 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:39:29.081 28473 28500 W Unity : Tile 13: SetInteractable(False) - No Collider2D found!
11-21 09:39:29.081 28473 28500 W Unity : Tile 7: SetInteractable(False) - No Collider2D found!
11-21 09:39:29.081 28473 28500 I Unity : UIDiscardDeck interactability set to: False
11-21 09:39:29.081 28473 28500 I Unity : Tile 1: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:29.081 28473 28500 I Unity : Tile 4: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:29.081 28473 28500 I Unity : Tile 10: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:29.081 28473 28500 I Unity : Tile 8: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:29.081 28473 28500 I Unity : Tile 11: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:29.082 28473 28500 I Unity : Tile 12: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:29.082 28473 28500 I Unity : Tile 14: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:29.082 28473 28500 I Unity : Tile 20: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:29.082 28473 28500 I Unity : Player 2 placed tiles interactivity set to: False
11-21 09:39:29.082 28473 28500 I Unity : Interactability updated for player 2
11-21 09:39:29.082 28473 28500 I Unity : Starting AI turn for Player 2
11-21 09:39:29.082 28473 28500 I Unity : Tile 7: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:29.356 28473 28500 I Unity : Tile 15 animation to (2.00, 1.99, 0.00) complete
11-21 09:39:29.356 28473 28500 I Unity : SetTileData called with: Red 15, Color enum: 1
11-21 09:39:29.356 28473 28500 I Unity : Updated _originalSprite to: TilePurple for Red
11-21 09:39:29.357 28473 28500 I Unity : Before UpdateVisualRepresentation: _color=Red (enum: 1), GameTileSprites=4
11-21 09:39:29.357 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=15, Color=Red, NumberText null: False
11-21 09:39:29.357 28473 28500 I Unity : Set tile text to: 15, text active: True
11-21 09:39:29.357 28473 28500 I Unity : Set sprite renderer sprite to: TilePurple for color Red (index 1)
11-21 09:39:29.357 28473 28500 I Unity : Tile 15 set to Red 15
11-21 09:39:29.358 28473 28500 I Unity : Tile 15: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:39:29.358 28473 28500 I Unity : [UIDiscardDeck] Destroyed collider for discard pile tile 15
11-21 09:39:29.358 28473 28500 I Unity : Tile 15: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:29.358 28473 28500 I Unity : Discard Pile: Tile 15 (index 6) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 15, Text Order: 16
11-21 09:39:29.358 28473 28500 I Unity : Discard Pile: Tile 14 (index 7) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 17, Text Order: 18
11-21 09:39:29.358 28473 28500 I Unity : Discard Pile: Tile 13 (index 8) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 19, Text Order: 20
11-21 09:39:29.359 28473 28500 I Unity : Discard Pile: Tile 7 (index 9) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 21, Text Order: 22
11-21 09:39:29.359 28473 28500 I Unity : Discard Pile: Tile 15 (index 10) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 23, Text Order: 24
11-21 09:39:29.359 28473 28500 I Unity : UpdateDiscardCount called with: 1
11-21 09:39:29.359 28473 28500 I Unity : Set discard count text to: 1
11-21 09:39:29.359 28473 28500 I Unity : [UIDiscardDeck] Added tile 15 to discard deck (11 total)
11-21 09:39:29.359 28473 28500 I Unity : UpdateDiscardCount called with: 1
11-21 09:39:29.359 28473 28500 I Unity : Set discard count text to: 1
11-21 09:39:29.561 28473 28500 I Unity : Tile 0 animation to (-3.43, 5.22, 0.00) complete
11-21 09:39:29.561 28473 28500 I Unity : Tile 15 number text visibility set to: True (faceDown: False)
11-21 09:39:29.561 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=17, Color=Red, NumberText null: False
11-21 09:39:29.561 28473 28500 I Unity : Set tile text to: 17, text active: True
11-21 09:39:29.561 28473 28500 I Unity : Set sprite renderer sprite to: TilePurple for color Red (index 1)
11-21 09:39:29.561 28473 28500 I Unity : Tile 15 set to face-up
11-21 09:39:29.561 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=17, Color=Red, NumberText null: False
11-21 09:39:29.561 28473 28500 I Unity : Set tile text to: 17, text active: True
11-21 09:39:29.562 28473 28500 I Unity : Set sprite renderer sprite to: TilePurple for color Red (index 1)
11-21 09:39:29.562 28473 28500 I Unity : Placed tile 17 on grid cell 15 at (3.00, 3.00)
11-21 09:39:29.562 28473 28500 I Unity : Animated opponent tile placement for Player 1 at (3, 3) (board scale: (0.50, 0.50, 1.00))
11-21 09:39:29.562 28473 28500 I Unity : AI Player 1 turn completed
11-21 09:39:29.562 28473 28500 I Unity : AI turn completed for Player 1
11-21 09:39:30.062 28473 28500 I Unity : AI Player 2 (MethodicalPlanner) starting turn...
11-21 09:39:33.368 28473 28500 I Unity : Checking replacement: tile 15 replacing 1 at (0,0)
11-21 09:39:33.368 28473 28500 I Unity : Board state - Row 0: [1, 0, 0, 0]
11-21 09:39:33.369 28473 28500 I Unity : Board state - Col 0: [1, 0, 0, 0]
11-21 09:39:33.369 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:39:33.369 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (0, 1) failed constraints: row=True, col=False
11-21 09:39:33.369 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (0, 2) failed constraints: row=True, col=False
11-21 09:39:33.369 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (0, 3) failed constraints: row=True, col=False
11-21 09:39:33.369 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (1, 0) failed constraints: row=False, col=True
11-21 09:39:33.369 28473 28500 I Unity : Checking replacement: tile 15 replacing 4 at (1,1)
11-21 09:39:33.369 28473 28500 I Unity : Board state - Row 1: [0, 4, 10, 0]
11-21 09:39:33.369 28473 28500 I Unity : Board state - Col 1: [0, 4, 8, 0]
11-21 09:39:33.370 28473 28500 I Unity : Row check: tile 10 at (1,2) to right of 15 at (1,1)
11-21 09:39:33.370 28473 28500 I Unity : ✗ Row constraint failed: 10 <= 15
11-21 09:39:33.370 28473 28500 I Unity : Col check: tile 8 at (2,1) below 15 at (1,1)
11-21 09:39:33.370 28473 28500 I Unity : ✗ Column constraint failed: 8 <= 15
11-21 09:39:33.370 28473 28500 I Unity : Replacement validation: row=False, col=False
11-21 09:39:33.370 28473 28500 I Unity : Checking replacement: tile 15 replacing 10 at (1,2)
11-21 09:39:33.370 28473 28500 I Unity : Board state - Row 1: [0, 4, 10, 0]
11-21 09:39:33.370 28473 28500 I Unity : Board state - Col 2: [0, 10, 11, 14]
11-21 09:39:33.370 28473 28500 I Unity : Row check: tile 4 at (1,1) to left of 15 at (1,2)
11-21 09:39:33.370 28473 28500 I Unity : Col check: tile 11 at (2,2) below 15 at (1,2)
11-21 09:39:33.371 28473 28500 I Unity : ✗ Column constraint failed: 11 <= 15
11-21 09:39:33.371 28473 28500 I Unity : Replacement validation: row=True, col=False
11-21 09:39:33.371 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (1, 3) failed constraints: row=True, col=False
11-21 09:39:33.371 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (2, 0) failed constraints: row=False, col=True
11-21 09:39:33.371 28473 28500 I Unity : Checking replacement: tile 15 replacing 8 at (2,1)
11-21 09:39:33.371 28473 28500 I Unity : Board state - Row 2: [0, 8, 11, 12]
11-21 09:39:33.371 28473 28500 I Unity : Board state - Col 1: [0, 4, 8, 0]
11-21 09:39:33.371 28473 28500 I Unity : Row check: tile 11 at (2,2) to right of 15 at (2,1)
11-21 09:39:33.372 28473 28500 I Unity : ✗ Row constraint failed: 11 <= 15
11-21 09:39:33.372 28473 28500 I Unity : Col check: tile 4 at (1,1) above 15 at (2,1)
11-21 09:39:33.372 28473 28500 I Unity : Replacement validation: row=False, col=True
11-21 09:39:33.372 28473 28500 I Unity : Checking replacement: tile 15 replacing 11 at (2,2)
11-21 09:39:33.372 28473 28500 I Unity : Board state - Row 2: [0, 8, 11, 12]
11-21 09:39:33.372 28473 28500 I Unity : Board state - Col 2: [0, 10, 11, 14]
11-21 09:39:33.372 28473 28500 I Unity : Row check: tile 8 at (2,1) to left of 15 at (2,2)
11-21 09:39:33.372 28473 28500 I Unity : Row check: tile 12 at (2,3) to right of 15 at (2,2)
11-21 09:39:33.372 28473 28500 I Unity : ✗ Row constraint failed: 12 <= 15
11-21 09:39:33.373 28473 28500 I Unity : Col check: tile 10 at (1,2) above 15 at (2,2)
11-21 09:39:33.373 28473 28500 I Unity : Col check: tile 14 at (3,2) below 15 at (2,2)
11-21 09:39:33.373 28473 28500 I Unity : ✗ Column constraint failed: 14 <= 15
11-21 09:39:33.373 28473 28500 I Unity : Replacement validation: row=False, col=False
11-21 09:39:33.373 28473 28500 I Unity : Checking replacement: tile 15 replacing 12 at (2,3)
11-21 09:39:33.373 28473 28500 I Unity : Board state - Row 2: [0, 8, 11, 12]
11-21 09:39:33.373 28473 28500 I Unity : Board state - Col 3: [0, 0, 12, 20]
11-21 09:39:33.373 28473 28500 I Unity : Row check: tile 11 at (2,2) to left of 15 at (2,3)
11-21 09:39:33.373 28473 28500 I Unity : Col check: tile 20 at (3,3) below 15 at (2,3)
11-21 09:39:33.373 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:39:33.374 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (3, 0) failed constraints: row=False, col=True
11-21 09:39:33.374 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (3, 1) failed constraints: row=False, col=True
11-21 09:39:33.374 28473 28500 I Unity : Checking replacement: tile 15 replacing 14 at (3,2)
11-21 09:39:33.374 28473 28500 I Unity : Board state - Row 3: [0, 0, 14, 20]
11-21 09:39:33.374 28473 28500 I Unity : Board state - Col 2: [0, 10, 11, 14]
11-21 09:39:33.374 28473 28500 I Unity : Row check: tile 20 at (3,3) to right of 15 at (3,2)
11-21 09:39:33.374 28473 28500 I Unity : Col check: tile 11 at (2,2) above 15 at (3,2)
11-21 09:39:33.374 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:39:33.374 28473 28500 I Unity : Checking replacement: tile 15 replacing 20 at (3,3)
11-21 09:39:33.374 28473 28500 I Unity : Board state - Row 3: [0, 0, 14, 20]
11-21 09:39:33.375 28473 28500 I Unity : Board state - Col 3: [0, 0, 12, 20]
11-21 09:39:33.375 28473 28500 I Unity : Row check: tile 14 at (3,2) to left of 15 at (3,3)
11-21 09:39:33.375 28473 28500 I Unity : Col check: tile 12 at (2,3) above 15 at (3,3)
11-21 09:39:33.375 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:39:33.375 28473 28500 I Unity : AI Player 2 decision: TakeFaceUp - Top discard Red 15 has beneficial placement(s): 3 (Score: 0.77)
11-21 09:39:33.376 28473 28500 I Unity : AI Player 2 taking tile 0 from discard pile
11-21 09:39:33.376 28473 28500 I Unity : Took discarded tile: Red 15 from index 0
11-21 09:39:33.376 28473 28500 I Unity : Player 2 took discarded tile: Red 15 from DiscardPile
11-21 09:39:33.376 28473 28500 I Unity : Tile drawn: Player 2 drew Red 15
11-21 09:39:33.378 28473 28500 I Unity : UIGameTile Start: SpriteRenderer=True, NumberText=True
11-21 09:39:33.378 28473 28500 I Unity : SetTileData called with: Red 15, Color enum: 1
11-21 09:39:33.378 28473 28500 I Unity : Updated _originalSprite to: TilePurple for Red
11-21 09:39:33.378 28473 28500 I Unity : Before UpdateVisualRepresentation: _color=Red (enum: 1), GameTileSprites=4
11-21 09:39:33.378 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=15, Color=Red, NumberText null: False
11-21 09:39:33.378 28473 28500 I Unity : Set tile text to: 15, text active: True
11-21 09:39:33.379 28473 28500 I Unity : Set sprite renderer sprite to: TilePurple for color Red (index 1)
11-21 09:39:33.379 28473 28500 I Unity : Tile 0 set to Red 15
11-21 09:39:33.379 28473 28500 I Unity : Tile 0 number text visibility set to: True (faceDown: False)
11-21 09:39:33.379 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=15, Color=Red, NumberText null: False
11-21 09:39:33.379 28473 28500 I Unity : Set tile text to: 15, text active: True
11-21 09:39:33.379 28473 28500 I Unity : Set sprite renderer sprite to: TilePurple for color Red (index 1)
11-21 09:39:33.380 28473 28500 I Unity : Tile 0 set to face-up
11-21 09:39:33.380 28473 28500 I Unity : Tile 15: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:33.380 28473 28500 I Unity : Created temporary drawn tile Red 15 for opponent Player 2
11-21 09:39:33.380 28473 28500 I Unity : UpdateDiscardCount called with: 0
11-21 09:39:33.380 28473 28500 I Unity : Set discard count text to: 0
11-21 09:39:33.380 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=False, HasUnplacedTile=True, TestModeAllAI=False
11-21 09:39:33.380 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:39:33.380 28473 28500 W Unity : Tile 11: SetInteractable(False) - No Collider2D found!
11-21 09:39:33.380 28473 28500 W Unity : Tile 20: SetInteractable(False) - No Collider2D found!
11-21 09:39:33.381 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:39:33.381 28473 28500 W Unity : Tile 12: SetInteractable(False) - No Collider2D found!
11-21 09:39:33.381 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:39:33.381 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:39:33.381 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:39:33.381 28473 28500 W Unity : Tile 13: SetInteractable(False) - No Collider2D found!
11-21 09:39:33.381 28473 28500 W Unity : Tile 7: SetInteractable(False) - No Collider2D found!
11-21 09:39:33.381 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:39:33.382 28473 28500 I Unity : UIDiscardDeck interactability set to: False
11-21 09:39:33.382 28473 28500 I Unity : Tile 1: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:33.382 28473 28500 I Unity : Tile 4: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:33.382 28473 28500 I Unity : Tile 10: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:33.382 28473 28500 I Unity : Tile 8: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:33.382 28473 28500 I Unity : Tile 11: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:33.382 28473 28500 I Unity : Tile 12: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:33.382 28473 28500 I Unity : Tile 14: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:33.382 28473 28500 I Unity : Tile 20: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:33.383 28473 28500 I Unity : Player 2 placed tiles interactivity set to: False
11-21 09:39:33.383 28473 28500 I Unity : Interactability updated for player 2
11-21 09:39:33.383 28473 28500 I Unity : Checking replacement: tile 15 replacing 1 at (0,0)
11-21 09:39:33.383 28473 28500 I Unity : Board state - Row 0: [1, 0, 0, 0]
11-21 09:39:33.383 28473 28500 I Unity : Board state - Col 0: [1, 0, 0, 0]
11-21 09:39:33.383 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:39:33.383 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (0, 1) failed constraints: row=True, col=False
11-21 09:39:33.383 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (0, 2) failed constraints: row=True, col=False
11-21 09:39:33.383 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (0, 3) failed constraints: row=True, col=False
11-21 09:39:33.383 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (1, 0) failed constraints: row=False, col=True
11-21 09:39:33.384 28473 28500 I Unity : Checking replacement: tile 15 replacing 4 at (1,1)
11-21 09:39:33.384 28473 28500 I Unity : Board state - Row 1: [0, 4, 10, 0]
11-21 09:39:33.384 28473 28500 I Unity : Board state - Col 1: [0, 4, 8, 0]
11-21 09:39:33.384 28473 28500 I Unity : Row check: tile 10 at (1,2) to right of 15 at (1,1)
11-21 09:39:33.384 28473 28500 I Unity : ✗ Row constraint failed: 10 <= 15
11-21 09:39:33.384 28473 28500 I Unity : Col check: tile 8 at (2,1) below 15 at (1,1)
11-21 09:39:33.384 28473 28500 I Unity : ✗ Column constraint failed: 8 <= 15
11-21 09:39:33.384 28473 28500 I Unity : Replacement validation: row=False, col=False
11-21 09:39:33.384 28473 28500 I Unity : Checking replacement: tile 15 replacing 10 at (1,2)
11-21 09:39:33.385 28473 28500 I Unity : Board state - Row 1: [0, 4, 10, 0]
11-21 09:39:33.385 28473 28500 I Unity : Board state - Col 2: [0, 10, 11, 14]
11-21 09:39:33.385 28473 28500 I Unity : Row check: tile 4 at (1,1) to left of 15 at (1,2)
11-21 09:39:33.385 28473 28500 I Unity : Col check: tile 11 at (2,2) below 15 at (1,2)
11-21 09:39:33.385 28473 28500 I Unity : ✗ Column constraint failed: 11 <= 15
11-21 09:39:33.385 28473 28500 I Unity : Replacement validation: row=True, col=False
11-21 09:39:33.385 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (1, 3) failed constraints: row=True, col=False
11-21 09:39:33.385 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (2, 0) failed constraints: row=False, col=True
11-21 09:39:33.385 28473 28500 I Unity : Checking replacement: tile 15 replacing 8 at (2,1)
11-21 09:39:33.385 28473 28500 I Unity : Board state - Row 2: [0, 8, 11, 12]
11-21 09:39:33.385 28473 28500 I Unity : Board state - Col 1: [0, 4, 8, 0]
11-21 09:39:33.386 28473 28500 I Unity : Row check: tile 11 at (2,2) to right of 15 at (2,1)
11-21 09:39:33.386 28473 28500 I Unity : ✗ Row constraint failed: 11 <= 15
11-21 09:39:33.386 28473 28500 I Unity : Col check: tile 4 at (1,1) above 15 at (2,1)
11-21 09:39:33.386 28473 28500 I Unity : Replacement validation: row=False, col=True
11-21 09:39:33.386 28473 28500 I Unity : Checking replacement: tile 15 replacing 11 at (2,2)
11-21 09:39:33.386 28473 28500 I Unity : Board state - Row 2: [0, 8, 11, 12]
11-21 09:39:33.386 28473 28500 I Unity : Board state - Col 2: [0, 10, 11, 14]
11-21 09:39:33.386 28473 28500 I Unity : Row check: tile 8 at (2,1) to left of 15 at (2,2)
11-21 09:39:33.386 28473 28500 I Unity : Row check: tile 12 at (2,3) to right of 15 at (2,2)
11-21 09:39:33.386 28473 28500 I Unity : ✗ Row constraint failed: 12 <= 15
11-21 09:39:33.387 28473 28500 I Unity : Col check: tile 10 at (1,2) above 15 at (2,2)
11-21 09:39:33.387 28473 28500 I Unity : Col check: tile 14 at (3,2) below 15 at (2,2)
11-21 09:39:33.387 28473 28500 I Unity : ✗ Column constraint failed: 14 <= 15
11-21 09:39:33.387 28473 28500 I Unity : Replacement validation: row=False, col=False
11-21 09:39:33.387 28473 28500 I Unity : Checking replacement: tile 15 replacing 12 at (2,3)
11-21 09:39:33.387 28473 28500 I Unity : Board state - Row 2: [0, 8, 11, 12]
11-21 09:39:33.387 28473 28500 I Unity : Board state - Col 3: [0, 0, 12, 20]
11-21 09:39:33.387 28473 28500 I Unity : Row check: tile 11 at (2,2) to left of 15 at (2,3)
11-21 09:39:33.387 28473 28500 I Unity : Col check: tile 20 at (3,3) below 15 at (2,3)
11-21 09:39:33.387 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:39:33.388 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (3, 0) failed constraints: row=False, col=True
11-21 09:39:33.388 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (3, 1) failed constraints: row=False, col=True
11-21 09:39:33.388 28473 28500 I Unity : Checking replacement: tile 15 replacing 14 at (3,2)
11-21 09:39:33.388 28473 28500 I Unity : Board state - Row 3: [0, 0, 14, 20]
11-21 09:39:33.388 28473 28500 I Unity : Board state - Col 2: [0, 10, 11, 14]
11-21 09:39:33.388 28473 28500 I Unity : Row check: tile 20 at (3,3) to right of 15 at (3,2)
11-21 09:39:33.388 28473 28500 I Unity : Col check: tile 11 at (2,2) above 15 at (3,2)
11-21 09:39:33.388 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:39:33.388 28473 28500 I Unity : Checking replacement: tile 15 replacing 20 at (3,3)
11-21 09:39:33.389 28473 28500 I Unity : Board state - Row 3: [0, 0, 14, 20]
11-21 09:39:33.389 28473 28500 I Unity : Board state - Col 3: [0, 0, 12, 20]
11-21 09:39:33.389 28473 28500 I Unity : Row check: tile 14 at (3,2) to left of 15 at (3,3)
11-21 09:39:33.389 28473 28500 I Unity : Col check: tile 12 at (2,3) above 15 at (3,3)
11-21 09:39:33.389 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:39:33.389 28473 28500 I Unity : Found 4 valid placements for tile Red 15
11-21 09:39:33.389 28473 28500 I Unity : Valid placements changed: 4 positions
11-21 09:39:33.390 28473 28500 I Unity : Highlighted 4 valid placements for Player 2
11-21 09:39:33.390 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (0, 0) already occupied by 1
11-21 09:39:33.390 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (0, 1) failed constraints: row=True, col=False
11-21 09:39:33.390 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (0, 2) failed constraints: row=True, col=False
11-21 09:39:33.390 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (0, 3) failed constraints: row=True, col=False
11-21 09:39:33.390 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (1, 0) failed constraints: row=False, col=True
11-21 09:39:33.390 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (1, 1) already occupied by 4
11-21 09:39:33.391 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (1, 2) already occupied by 10
11-21 09:39:33.391 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (1, 3) failed constraints: row=True, col=False
11-21 09:39:33.391 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (2, 0) failed constraints: row=False, col=True
11-21 09:39:33.391 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (2, 1) already occupied by 8
11-21 09:39:33.391 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (2, 2) already occupied by 11
11-21 09:39:33.391 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (2, 3) already occupied by 12
11-21 09:39:33.391 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (3, 0) failed constraints: row=False, col=True
11-21 09:39:33.391 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (3, 1) failed constraints: row=False, col=True
11-21 09:39:33.391 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (3, 2) already occupied by 14
11-21 09:39:33.392 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (3, 3) already occupied by 20
11-21 09:39:33.392 28473 28500 I Unity : Checking replacement: tile 15 replacing 1 at (0,0)
11-21 09:39:33.392 28473 28500 I Unity : Board state - Row 0: [1, 0, 0, 0]
11-21 09:39:33.392 28473 28500 I Unity : Board state - Col 0: [1, 0, 0, 0]
11-21 09:39:33.392 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:39:33.392 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (0, 1) failed constraints: row=True, col=False
11-21 09:39:33.392 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (0, 2) failed constraints: row=True, col=False
11-21 09:39:33.392 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (0, 3) failed constraints: row=True, col=False
11-21 09:39:33.392 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (1, 0) failed constraints: row=False, col=True
11-21 09:39:33.392 28473 28500 I Unity : Checking replacement: tile 15 replacing 4 at (1,1)
11-21 09:39:33.393 28473 28500 I Unity : Board state - Row 1: [0, 4, 10, 0]
11-21 09:39:33.393 28473 28500 I Unity : Board state - Col 1: [0, 4, 8, 0]
11-21 09:39:33.393 28473 28500 I Unity : Row check: tile 10 at (1,2) to right of 15 at (1,1)
11-21 09:39:33.393 28473 28500 I Unity : ✗ Row constraint failed: 10 <= 15
11-21 09:39:33.393 28473 28500 I Unity : Col check: tile 8 at (2,1) below 15 at (1,1)
11-21 09:39:33.393 28473 28500 I Unity : ✗ Column constraint failed: 8 <= 15
11-21 09:39:33.393 28473 28500 I Unity : Replacement validation: row=False, col=False
11-21 09:39:33.393 28473 28500 I Unity : Checking replacement: tile 15 replacing 10 at (1,2)
11-21 09:39:33.393 28473 28500 I Unity : Board state - Row 1: [0, 4, 10, 0]
11-21 09:39:33.393 28473 28500 I Unity : Board state - Col 2: [0, 10, 11, 14]
11-21 09:39:33.394 28473 28500 I Unity : Row check: tile 4 at (1,1) to left of 15 at (1,2)
11-21 09:39:33.394 28473 28500 I Unity : Col check: tile 11 at (2,2) below 15 at (1,2)
11-21 09:39:33.394 28473 28500 I Unity : ✗ Column constraint failed: 11 <= 15
11-21 09:39:33.394 28473 28500 I Unity : Replacement validation: row=True, col=False
11-21 09:39:33.394 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (1, 3) failed constraints: row=True, col=False
11-21 09:39:33.394 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (2, 0) failed constraints: row=False, col=True
11-21 09:39:33.394 28473 28500 I Unity : Checking replacement: tile 15 replacing 8 at (2,1)
11-21 09:39:33.394 28473 28500 I Unity : Board state - Row 2: [0, 8, 11, 12]
11-21 09:39:33.394 28473 28500 I Unity : Board state - Col 1: [0, 4, 8, 0]
11-21 09:39:33.394 28473 28500 I Unity : Row check: tile 11 at (2,2) to right of 15 at (2,1)
11-21 09:39:33.394 28473 28500 I Unity : ✗ Row constraint failed: 11 <= 15
11-21 09:39:33.395 28473 28500 I Unity : Col check: tile 4 at (1,1) above 15 at (2,1)
11-21 09:39:33.395 28473 28500 I Unity : Replacement validation: row=False, col=True
11-21 09:39:33.395 28473 28500 I Unity : Checking replacement: tile 15 replacing 11 at (2,2)
11-21 09:39:33.395 28473 28500 I Unity : Board state - Row 2: [0, 8, 11, 12]
11-21 09:39:33.395 28473 28500 I Unity : Board state - Col 2: [0, 10, 11, 14]
11-21 09:39:33.395 28473 28500 I Unity : Row check: tile 8 at (2,1) to left of 15 at (2,2)
11-21 09:39:33.395 28473 28500 I Unity : Row check: tile 12 at (2,3) to right of 15 at (2,2)
11-21 09:39:33.395 28473 28500 I Unity : ✗ Row constraint failed: 12 <= 15
11-21 09:39:33.395 28473 28500 I Unity : Col check: tile 10 at (1,2) above 15 at (2,2)
11-21 09:39:33.395 28473 28500 I Unity : Col check: tile 14 at (3,2) below 15 at (2,2)
11-21 09:39:33.396 28473 28500 I Unity : ✗ Column constraint failed: 14 <= 15
11-21 09:39:33.396 28473 28500 I Unity : Replacement validation: row=False, col=False
11-21 09:39:33.396 28473 28500 I Unity : Checking replacement: tile 15 replacing 12 at (2,3)
11-21 09:39:33.396 28473 28500 I Unity : Board state - Row 2: [0, 8, 11, 12]
11-21 09:39:33.396 28473 28500 I Unity : Board state - Col 3: [0, 0, 12, 20]
11-21 09:39:33.396 28473 28500 I Unity : Row check: tile 11 at (2,2) to left of 15 at (2,3)
11-21 09:39:33.396 28473 28500 I Unity : Col check: tile 20 at (3,3) below 15 at (2,3)
11-21 09:39:33.396 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:39:33.396 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (3, 0) failed constraints: row=False, col=True
11-21 09:39:33.396 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 15 at (3, 1) failed constraints: row=False, col=True
11-21 09:39:33.397 28473 28500 I Unity : Checking replacement: tile 15 replacing 14 at (3,2)
11-21 09:39:33.397 28473 28500 I Unity : Board state - Row 3: [0, 0, 14, 20]
11-21 09:39:33.397 28473 28500 I Unity : Board state - Col 2: [0, 10, 11, 14]
11-21 09:39:33.397 28473 28500 I Unity : Row check: tile 20 at (3,3) to right of 15 at (3,2)
11-21 09:39:33.397 28473 28500 I Unity : Col check: tile 11 at (2,2) above 15 at (3,2)
11-21 09:39:33.397 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:39:33.397 28473 28500 I Unity : Checking replacement: tile 15 replacing 20 at (3,3)
11-21 09:39:33.397 28473 28500 I Unity : Board state - Row 3: [0, 0, 14, 20]
11-21 09:39:33.397 28473 28500 I Unity : Board state - Col 3: [0, 0, 12, 20]
11-21 09:39:33.397 28473 28500 I Unity : Row check: tile 14 at (3,2) to left of 15 at (3,3)
11-21 09:39:33.397 28473 28500 I Unity : Col check: tile 12 at (2,3) above 15 at (3,3)
11-21 09:39:33.398 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:39:33.398 28473 28500 I Unity : AI Player 2 replacement decision: Replacement chosen (no beneficial empty) | pot=0.77, policy=0.47
11-21 09:39:33.398 28473 28500 I Unity : AI Player 2 replacing tile at (3, 3)
11-21 09:39:33.398 28473 28500 I Unity : Checking replacement: tile 15 replacing 20 at (3,3)
11-21 09:39:33.398 28473 28500 I Unity : Board state - Row 3: [0, 0, 14, 20]
11-21 09:39:33.398 28473 28500 I Unity : Board state - Col 3: [0, 0, 12, 20]
11-21 09:39:33.398 28473 28500 I Unity : Row check: tile 14 at (3,2) to left of 15 at (3,3)
11-21 09:39:33.398 28473 28500 I Unity : Col check: tile 12 at (2,3) above 15 at (3,3)
11-21 09:39:33.399 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:39:33.399 28473 28500 I Unity : Replacing tile 20 at (3, 3) with Red 15
11-21 09:39:33.399 28473 28500 I Unity : Discarded tile: Purple 20 (1 tiles in discard pile)
11-21 09:39:33.399 28473 28500 I Unity : Tile discarded: Player 2 discarded Purple 20
11-21 09:39:33.399 28473 28500 I Unity : [DISCARD DEBUG] Cached logical discarded tile for player 2: Purple 20
11-21 09:39:33.399 28473 28500 I Unity : [PlayerBoard] Player 2 removed tile 20 from (3, 3) | Board now: 7/16 filled
11-21 09:39:33.399 28473 28500 I Unity : [PlayerBoard] Player 2 placed tile 15 at (3, 3) | Board now: 8/16 filled
11-21 09:39:33.400 28473 28500 I Unity : Player 2 placed Red 15 with replacement at (3, 3)
11-21 09:39:33.400 28473 28500 I Unity : Player 2 Board (8/16 filled):
11-21 09:39:33.400 28473 28500 I Unity : 01 -- -- --
11-21 09:39:33.400 28473 28500 I Unity : -- 04 10 --
11-21 09:39:33.400 28473 28500 I Unity : -- 08 11 12
11-21 09:39:33.400 28473 28500 I Unity : -- -- 14 15
11-21 09:39:33.400 28473 28500 I Unity : Tile placed: Player 2 placed Red 15 at (3, 3)
11-21 09:39:33.400 28473 28500 I Unity : Opponent replacing tile 20 with 15 at (3, 3)
11-21 09:39:33.401 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=False, HasUnplacedTile=True, TestModeAllAI=False
11-21 09:39:33.401 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:39:33.401 28473 28500 W Unity : Tile 11: SetInteractable(False) - No Collider2D found!
11-21 09:39:33.401 28473 28500 W Unity : Tile 20: SetInteractable(False) - No Collider2D found!
11-21 09:39:33.401 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:39:33.401 28473 28500 W Unity : Tile 12: SetInteractable(False) - No Collider2D found!
11-21 09:39:33.401 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:39:33.401 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:39:33.401 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:39:33.402 28473 28500 W Unity : Tile 13: SetInteractable(False) - No Collider2D found!
11-21 09:39:33.402 28473 28500 W Unity : Tile 7: SetInteractable(False) - No Collider2D found!
11-21 09:39:33.402 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:39:33.402 28473 28500 I Unity : UIDiscardDeck interactability set to: False
11-21 09:39:33.402 28473 28500 I Unity : Tile 1: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:33.402 28473 28500 I Unity : Tile 4: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:33.402 28473 28500 I Unity : Tile 10: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:33.402 28473 28500 I Unity : Tile 8: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:33.402 28473 28500 I Unity : Tile 11: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:33.402 28473 28500 I Unity : Tile 12: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:33.402 28473 28500 I Unity : Tile 14: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:33.403 28473 28500 I Unity : Tile 20: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:33.403 28473 28500 I Unity : Player 2 placed tiles interactivity set to: False
11-21 09:39:33.403 28473 28500 I Unity : Interactability updated for player 2
11-21 09:39:33.403 28473 28500 I Unity : Valid placements changed: 0 positions
11-21 09:39:33.403 28473 28500 I Unity : Highlighted 0 valid placements for Player 2
11-21 09:39:33.403 28473 28500 I Unity : ═══════════════════════════════════════════════════════
11-21 09:39:33.403 28473 28500 I Unity : TURN CHANGE: Player 2 → Player 3
11-21 09:39:33.403 28473 28500 I Unity : Turn #8 | Tiles Remaining: 46 | Discard Pile: 1
11-21 09:39:33.403 28473 28500 I Unity : ═══════════════════════════════════════════════════════
11-21 09:39:33.404 28473 28500 I Unity : Game state changed: Game State: Playing, Turn 8, Player 3, Draw: 46, Discard: 1
11-21 09:39:33.404 28473 28500 I Unity : Updating deck UI with remaining count: 46
11-21 09:39:33.404 28473 28500 I Unity : UpdateRemainingCount called with: 46
11-21 09:39:33.404 28473 28500 I Unity : Set deck count text to: 46
11-21 09:39:33.404 28473 28500 I Unity : Game UI updated
11-21 09:39:33.404 28473 28500 I Unity : Player turn changed to Player 3
11-21 09:39:33.404 28473 28500 I Unity : Player 0 current player status: False
11-21 09:39:33.404 28473 28500 I Unity : Player 1 current player status: False
11-21 09:39:33.405 28473 28500 I Unity : Player 2 current player status: False
11-21 09:39:33.405 28473 28500 I Unity : Player 3 current player status: True
11-21 09:39:33.405 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=False, HasUnplacedTile=False, TestModeAllAI=False
11-21 09:39:33.405 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:39:33.405 28473 28500 W Unity : Tile 11: SetInteractable(False) - No Collider2D found!
11-21 09:39:33.405 28473 28500 W Unity : Tile 20: SetInteractable(False) - No Collider2D found!
11-21 09:39:33.405 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:39:33.405 28473 28500 W Unity : Tile 12: SetInteractable(False) - No Collider2D found!
11-21 09:39:33.406 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:39:33.406 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:39:33.406 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:39:33.406 28473 28500 W Unity : Tile 13: SetInteractable(False) - No Collider2D found!
11-21 09:39:33.406 28473 28500 W Unity : Tile 7: SetInteractable(False) - No Collider2D found!
11-21 09:39:33.406 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:39:33.406 28473 28500 I Unity : UIDiscardDeck interactability set to: False
11-21 09:39:33.406 28473 28500 I Unity : Tile 2: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:33.406 28473 28500 I Unity : Tile 6: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:33.406 28473 28500 I Unity : Tile 13: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:33.406 28473 28500 I Unity : Tile 11: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:33.407 28473 28500 I Unity : Tile 14: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:33.407 28473 28500 I Unity : Tile 15: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:33.407 28473 28500 I Unity : Tile 18: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:33.407 28473 28500 I Unity : Tile 20: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:33.407 28473 28500 I Unity : Player 3 placed tiles interactivity set to: False
11-21 09:39:33.407 28473 28500 I Unity : Interactability updated for player 3
11-21 09:39:33.407 28473 28500 I Unity : Starting AI turn for Player 3
11-21 09:39:33.407 28473 28500 I Unity : Tile 7: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:33.680 28473 28500 I Unity : Tile 15 animation to (2.00, 1.99, 0.00) complete
11-21 09:39:33.681 28473 28500 I Unity : SetTileData called with: Purple 20, Color enum: 2
11-21 09:39:33.681 28473 28500 I Unity : Updated _originalSprite to: TileRed for Purple
11-21 09:39:33.681 28473 28500 I Unity : Before UpdateVisualRepresentation: _color=Purple (enum: 2), GameTileSprites=4
11-21 09:39:33.681 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=20, Color=Purple, NumberText null: False
11-21 09:39:33.681 28473 28500 I Unity : Set tile text to: 20, text active: True
11-21 09:39:33.681 28473 28500 I Unity : Set sprite renderer sprite to: TileRed for color Purple (index 2)
11-21 09:39:33.682 28473 28500 I Unity : Tile 15 set to Purple 20
11-21 09:39:33.682 28473 28500 I Unity : Tile 20: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:39:33.682 28473 28500 I Unity : [UIDiscardDeck] Destroyed collider for discard pile tile 20
11-21 09:39:33.682 28473 28500 I Unity : Tile 20: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:33.682 28473 28500 I Unity : Discard Pile: Tile 14 (index 7) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 17, Text Order: 18
11-21 09:39:33.683 28473 28500 I Unity : Discard Pile: Tile 13 (index 8) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 19, Text Order: 20
11-21 09:39:33.683 28473 28500 I Unity : Discard Pile: Tile 7 (index 9) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 21, Text Order: 22
11-21 09:39:33.683 28473 28500 I Unity : Discard Pile: Tile 15 (index 10) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 23, Text Order: 24
11-21 09:39:33.683 28473 28500 I Unity : Discard Pile: Tile 20 (index 11) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 25, Text Order: 26
11-21 09:39:33.683 28473 28500 I Unity : UpdateDiscardCount called with: 1
11-21 09:39:33.683 28473 28500 I Unity : Set discard count text to: 1
11-21 09:39:33.683 28473 28500 I Unity : [UIDiscardDeck] Added tile 20 to discard deck (12 total)
11-21 09:39:33.684 28473 28500 I Unity : UpdateDiscardCount called with: 1
11-21 09:39:33.684 28473 28500 I Unity : Set discard count text to: 1
11-21 09:39:33.880 28473 28500 I Unity : Tile 0 animation to (1.58, 5.22, 0.00) complete
11-21 09:39:33.881 28473 28500 I Unity : Tile 15 number text visibility set to: True (faceDown: False)
11-21 09:39:33.881 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=15, Color=Red, NumberText null: False
11-21 09:39:33.881 28473 28500 I Unity : Set tile text to: 15, text active: True
11-21 09:39:33.881 28473 28500 I Unity : Set sprite renderer sprite to: TilePurple for color Red (index 1)
11-21 09:39:33.881 28473 28500 I Unity : Tile 15 set to face-up
11-21 09:39:33.881 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=15, Color=Red, NumberText null: False
11-21 09:39:33.881 28473 28500 I Unity : Set tile text to: 15, text active: True
11-21 09:39:33.882 28473 28500 I Unity : Set sprite renderer sprite to: TilePurple for color Red (index 1)
11-21 09:39:33.882 28473 28500 I Unity : Placed tile 15 on grid cell 15 at (3.00, 3.00)
11-21 09:39:33.882 28473 28500 I Unity : Animated opponent tile placement for Player 2 at (3, 3) (board scale: (0.50, 0.50, 1.00))
11-21 09:39:33.882 28473 28500 I Unity : AI Player 2 turn completed
11-21 09:39:33.882 28473 28500 I Unity : AI turn completed for Player 2
11-21 09:39:34.382 28473 28500 I Unity : AI Player 3 (MethodicalPlanner) starting turn...
11-21 09:39:37.694 28473 28500 I Unity : Checking replacement: tile 20 replacing 2 at (0,0)
11-21 09:39:37.694 28473 28500 I Unity : Board state - Row 0: [2, 0, 0, 0]
11-21 09:39:37.695 28473 28500 I Unity : Board state - Col 0: [2, 0, 0, 0]
11-21 09:39:37.695 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:39:37.695 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 20 at (0, 1) failed constraints: row=True, col=False
11-21 09:39:37.695 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 20 at (0, 2) failed constraints: row=True, col=False
11-21 09:39:37.695 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 20 at (0, 3) failed constraints: row=True, col=False
11-21 09:39:37.695 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 20 at (1, 0) failed constraints: row=False, col=True
11-21 09:39:37.695 28473 28500 I Unity : Checking replacement: tile 20 replacing 6 at (1,1)
11-21 09:39:37.695 28473 28500 I Unity : Board state - Row 1: [0, 6, 13, 0]
11-21 09:39:37.695 28473 28500 I Unity : Board state - Col 1: [0, 6, 11, 0]
11-21 09:39:37.696 28473 28500 I Unity : Row check: tile 13 at (1,2) to right of 20 at (1,1)
11-21 09:39:37.696 28473 28500 I Unity : ✗ Row constraint failed: 13 <= 20
11-21 09:39:37.696 28473 28500 I Unity : Col check: tile 11 at (2,1) below 20 at (1,1)
11-21 09:39:37.696 28473 28500 I Unity : ✗ Column constraint failed: 11 <= 20
11-21 09:39:37.696 28473 28500 I Unity : Replacement validation: row=False, col=False
11-21 09:39:37.696 28473 28500 I Unity : Checking replacement: tile 20 replacing 13 at (1,2)
11-21 09:39:37.696 28473 28500 I Unity : Board state - Row 1: [0, 6, 13, 0]
11-21 09:39:37.696 28473 28500 I Unity : Board state - Col 2: [0, 13, 14, 18]
11-21 09:39:37.696 28473 28500 I Unity : Row check: tile 6 at (1,1) to left of 20 at (1,2)
11-21 09:39:37.696 28473 28500 I Unity : Col check: tile 14 at (2,2) below 20 at (1,2)
11-21 09:39:37.697 28473 28500 I Unity : ✗ Column constraint failed: 14 <= 20
11-21 09:39:37.697 28473 28500 I Unity : Replacement validation: row=True, col=False
11-21 09:39:37.697 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 20 at (1, 3) failed constraints: row=True, col=False
11-21 09:39:37.697 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 20 at (2, 0) failed constraints: row=False, col=True
11-21 09:39:37.697 28473 28500 I Unity : Checking replacement: tile 20 replacing 11 at (2,1)
11-21 09:39:37.697 28473 28500 I Unity : Board state - Row 2: [0, 11, 14, 15]
11-21 09:39:37.697 28473 28500 I Unity : Board state - Col 1: [0, 6, 11, 0]
11-21 09:39:37.697 28473 28500 I Unity : Row check: tile 14 at (2,2) to right of 20 at (2,1)
11-21 09:39:37.697 28473 28500 I Unity : ✗ Row constraint failed: 14 <= 20
11-21 09:39:37.698 28473 28500 I Unity : Col check: tile 6 at (1,1) above 20 at (2,1)
11-21 09:39:37.698 28473 28500 I Unity : Replacement validation: row=False, col=True
11-21 09:39:37.698 28473 28500 I Unity : Checking replacement: tile 20 replacing 14 at (2,2)
11-21 09:39:37.698 28473 28500 I Unity : Board state - Row 2: [0, 11, 14, 15]
11-21 09:39:37.698 28473 28500 I Unity : Board state - Col 2: [0, 13, 14, 18]
11-21 09:39:37.698 28473 28500 I Unity : Row check: tile 11 at (2,1) to left of 20 at (2,2)
11-21 09:39:37.698 28473 28500 I Unity : Row check: tile 15 at (2,3) to right of 20 at (2,2)
11-21 09:39:37.698 28473 28500 I Unity : ✗ Row constraint failed: 15 <= 20
11-21 09:39:37.698 28473 28500 I Unity : Col check: tile 13 at (1,2) above 20 at (2,2)
11-21 09:39:37.698 28473 28500 I Unity : Col check: tile 18 at (3,2) below 20 at (2,2)
11-21 09:39:37.699 28473 28500 I Unity : ✗ Column constraint failed: 18 <= 20
11-21 09:39:37.699 28473 28500 I Unity : Replacement validation: row=False, col=False
11-21 09:39:37.699 28473 28500 I Unity : Checking replacement: tile 20 replacing 15 at (2,3)
11-21 09:39:37.699 28473 28500 I Unity : Board state - Row 2: [0, 11, 14, 15]
11-21 09:39:37.699 28473 28500 I Unity : Board state - Col 3: [0, 0, 15, 20]
11-21 09:39:37.699 28473 28500 I Unity : Row check: tile 14 at (2,2) to left of 20 at (2,3)
11-21 09:39:37.699 28473 28500 I Unity : Col check: tile 20 at (3,3) below 20 at (2,3)
11-21 09:39:37.699 28473 28500 I Unity : ✗ Column constraint failed: 20 <= 20
11-21 09:39:37.700 28473 28500 I Unity : Replacement validation: row=True, col=False
11-21 09:39:37.700 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 20 at (3, 0) failed constraints: row=False, col=True
11-21 09:39:37.700 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 20 at (3, 1) failed constraints: row=False, col=True
11-21 09:39:37.700 28473 28500 I Unity : Checking replacement: tile 20 replacing 18 at (3,2)
11-21 09:39:37.700 28473 28500 I Unity : Board state - Row 3: [0, 0, 18, 20]
11-21 09:39:37.700 28473 28500 I Unity : Board state - Col 2: [0, 13, 14, 18]
11-21 09:39:37.700 28473 28500 I Unity : Row check: tile 20 at (3,3) to right of 20 at (3,2)
11-21 09:39:37.700 28473 28500 I Unity : ✗ Row constraint failed: 20 <= 20
11-21 09:39:37.701 28473 28500 I Unity : Col check: tile 14 at (2,2) above 20 at (3,2)
11-21 09:39:37.701 28473 28500 I Unity : Replacement validation: row=False, col=True
11-21 09:39:37.701 28473 28500 I Unity : Checking replacement: tile 20 replacing 20 at (3,3)
11-21 09:39:37.701 28473 28500 I Unity : Board state - Row 3: [0, 0, 18, 20]
11-21 09:39:37.701 28473 28500 I Unity : Board state - Col 3: [0, 0, 15, 20]
11-21 09:39:37.701 28473 28500 I Unity : Row check: tile 18 at (3,2) to left of 20 at (3,3)
11-21 09:39:37.701 28473 28500 I Unity : Col check: tile 15 at (2,3) above 20 at (3,3)
11-21 09:39:37.701 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:39:37.702 28473 28500 I Unity : AI Player 3 decision: DrawFaceDown - Draw face-down tile - unknown potential (Score: 0.97)
11-21 09:39:37.702 28473 28500 I Unity : AI Player 3 drawing from face-down pile
11-21 09:39:37.702 28473 28500 I Unity : Drew tile: Purple 17 (45 tiles remaining)
11-21 09:39:37.702 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (0, 0) already occupied by 2
11-21 09:39:37.702 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 17 at (0, 1) failed constraints: row=True, col=False
11-21 09:39:37.702 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 17 at (0, 2) failed constraints: row=True, col=False
11-21 09:39:37.702 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 17 at (0, 3) failed constraints: row=True, col=False
11-21 09:39:37.703 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 17 at (1, 0) failed constraints: row=False, col=True
11-21 09:39:37.703 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (1, 1) already occupied by 6
11-21 09:39:37.703 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (1, 2) already occupied by 13
11-21 09:39:37.703 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 17 at (1, 3) failed constraints: row=True, col=False
11-21 09:39:37.703 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 17 at (2, 0) failed constraints: row=False, col=True
11-21 09:39:37.703 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (2, 1) already occupied by 11
11-21 09:39:37.703 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (2, 2) already occupied by 14
11-21 09:39:37.704 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (2, 3) already occupied by 15
11-21 09:39:37.704 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 17 at (3, 0) is VALID
11-21 09:39:37.704 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 17 at (3, 1) is VALID
11-21 09:39:37.704 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (3, 2) already occupied by 18
11-21 09:39:37.704 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (3, 3) already occupied by 20
11-21 09:39:37.704 28473 28500 I Unity : → Player 3 drew tile: Purple 17 from DrawPile | Valid placements: 2
11-21 09:39:37.704 28473 28500 I Unity : Tile drawn: Player 3 drew Purple 17
11-21 09:39:37.706 28473 28500 I Unity : UIGameTile Start: SpriteRenderer=True, NumberText=True
11-21 09:39:37.706 28473 28500 I Unity : SetTileData called with: Purple 17, Color enum: 2
11-21 09:39:37.707 28473 28500 I Unity : Updated _originalSprite to: TileRed for Purple
11-21 09:39:37.707 28473 28500 I Unity : Before UpdateVisualRepresentation: _color=Purple (enum: 2), GameTileSprites=4
11-21 09:39:37.707 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=17, Color=Purple, NumberText null: False
11-21 09:39:37.707 28473 28500 I Unity : Set tile text to: 17, text active: True
11-21 09:39:37.707 28473 28500 I Unity : Set sprite renderer sprite to: TileRed for color Purple (index 2)
11-21 09:39:37.707 28473 28500 I Unity : Tile 0 set to Purple 17
11-21 09:39:37.707 28473 28500 I Unity : Tile 0 number text visibility set to: True (faceDown: False)
11-21 09:39:37.707 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=17, Color=Purple, NumberText null: False
11-21 09:39:37.708 28473 28500 I Unity : Set tile text to: 17, text active: True
11-21 09:39:37.708 28473 28500 I Unity : Set sprite renderer sprite to: TileRed for color Purple (index 2)
11-21 09:39:37.708 28473 28500 I Unity : Tile 0 set to face-up
11-21 09:39:37.708 28473 28500 I Unity : Tile 17: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:37.708 28473 28500 I Unity : Created temporary drawn tile Purple 17 for opponent Player 3
11-21 09:39:37.708 28473 28500 I Unity : UpdateDiscardCount called with: 1
11-21 09:39:37.708 28473 28500 I Unity : Set discard count text to: 1
11-21 09:39:37.708 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=False, HasUnplacedTile=True, TestModeAllAI=False
11-21 09:39:37.709 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:39:37.709 28473 28500 W Unity : Tile 11: SetInteractable(False) - No Collider2D found!
11-21 09:39:37.709 28473 28500 W Unity : Tile 20: SetInteractable(False) - No Collider2D found!
11-21 09:39:37.709 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:39:37.709 28473 28500 W Unity : Tile 12: SetInteractable(False) - No Collider2D found!
11-21 09:39:37.709 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:39:37.709 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:39:37.709 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:39:37.709 28473 28500 W Unity : Tile 13: SetInteractable(False) - No Collider2D found!
11-21 09:39:37.709 28473 28500 W Unity : Tile 7: SetInteractable(False) - No Collider2D found!
11-21 09:39:37.710 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:39:37.710 28473 28500 W Unity : Tile 20: SetInteractable(False) - No Collider2D found!
11-21 09:39:37.710 28473 28500 I Unity : UIDiscardDeck interactability set to: False
11-21 09:39:37.710 28473 28500 I Unity : Tile 2: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:37.710 28473 28500 I Unity : Tile 6: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:37.710 28473 28500 I Unity : Tile 13: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:37.710 28473 28500 I Unity : Tile 11: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:37.710 28473 28500 I Unity : Tile 14: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:37.710 28473 28500 I Unity : Tile 15: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:37.710 28473 28500 I Unity : Tile 18: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:37.711 28473 28500 I Unity : Tile 20: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:37.711 28473 28500 I Unity : Player 3 placed tiles interactivity set to: False
11-21 09:39:37.711 28473 28500 I Unity : Interactability updated for player 3
11-21 09:39:37.711 28473 28500 I Unity : Checking replacement: tile 17 replacing 2 at (0,0)
11-21 09:39:37.711 28473 28500 I Unity : Board state - Row 0: [2, 0, 0, 0]
11-21 09:39:37.711 28473 28500 I Unity : Board state - Col 0: [2, 0, 0, 0]
11-21 09:39:37.711 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:39:37.712 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 17 at (0, 1) failed constraints: row=True, col=False
11-21 09:39:37.712 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 17 at (0, 2) failed constraints: row=True, col=False
11-21 09:39:37.712 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 17 at (0, 3) failed constraints: row=True, col=False
11-21 09:39:37.712 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 17 at (1, 0) failed constraints: row=False, col=True
11-21 09:39:37.712 28473 28500 I Unity : Checking replacement: tile 17 replacing 6 at (1,1)
11-21 09:39:37.712 28473 28500 I Unity : Board state - Row 1: [0, 6, 13, 0]
11-21 09:39:37.712 28473 28500 I Unity : Board state - Col 1: [0, 6, 11, 0]
11-21 09:39:37.712 28473 28500 I Unity : Row check: tile 13 at (1,2) to right of 17 at (1,1)
11-21 09:39:37.713 28473 28500 I Unity : ✗ Row constraint failed: 13 <= 17
11-21 09:39:37.713 28473 28500 I Unity : Col check: tile 11 at (2,1) below 17 at (1,1)
11-21 09:39:37.713 28473 28500 I Unity : ✗ Column constraint failed: 11 <= 17
11-21 09:39:37.713 28473 28500 I Unity : Replacement validation: row=False, col=False
11-21 09:39:37.713 28473 28500 I Unity : Checking replacement: tile 17 replacing 13 at (1,2)
11-21 09:39:37.713 28473 28500 I Unity : Board state - Row 1: [0, 6, 13, 0]
11-21 09:39:37.713 28473 28500 I Unity : Board state - Col 2: [0, 13, 14, 18]
11-21 09:39:37.713 28473 28500 I Unity : Row check: tile 6 at (1,1) to left of 17 at (1,2)
11-21 09:39:37.714 28473 28500 I Unity : Col check: tile 14 at (2,2) below 17 at (1,2)
11-21 09:39:37.714 28473 28500 I Unity : ✗ Column constraint failed: 14 <= 17
11-21 09:39:37.714 28473 28500 I Unity : Replacement validation: row=True, col=False
11-21 09:39:37.714 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 17 at (1, 3) failed constraints: row=True, col=False
11-21 09:39:37.714 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 17 at (2, 0) failed constraints: row=False, col=True
11-21 09:39:37.714 28473 28500 I Unity : Checking replacement: tile 17 replacing 11 at (2,1)
11-21 09:39:37.714 28473 28500 I Unity : Board state - Row 2: [0, 11, 14, 15]
11-21 09:39:37.714 28473 28500 I Unity : Board state - Col 1: [0, 6, 11, 0]
11-21 09:39:37.714 28473 28500 I Unity : Row check: tile 14 at (2,2) to right of 17 at (2,1)
11-21 09:39:37.715 28473 28500 I Unity : ✗ Row constraint failed: 14 <= 17
11-21 09:39:37.715 28473 28500 I Unity : Col check: tile 6 at (1,1) above 17 at (2,1)
11-21 09:39:37.715 28473 28500 I Unity : Replacement validation: row=False, col=True
11-21 09:39:37.715 28473 28500 I Unity : Checking replacement: tile 17 replacing 14 at (2,2)
11-21 09:39:37.715 28473 28500 I Unity : Board state - Row 2: [0, 11, 14, 15]
11-21 09:39:37.715 28473 28500 I Unity : Board state - Col 2: [0, 13, 14, 18]
11-21 09:39:37.715 28473 28500 I Unity : Row check: tile 11 at (2,1) to left of 17 at (2,2)
11-21 09:39:37.715 28473 28500 I Unity : Row check: tile 15 at (2,3) to right of 17 at (2,2)
11-21 09:39:37.715 28473 28500 I Unity : ✗ Row constraint failed: 15 <= 17
11-21 09:39:37.715 28473 28500 I Unity : Col check: tile 13 at (1,2) above 17 at (2,2)
11-21 09:39:37.716 28473 28500 I Unity : Col check: tile 18 at (3,2) below 17 at (2,2)
11-21 09:39:37.716 28473 28500 I Unity : Replacement validation: row=False, col=True
11-21 09:39:37.716 28473 28500 I Unity : Checking replacement: tile 17 replacing 15 at (2,3)
11-21 09:39:37.716 28473 28500 I Unity : Board state - Row 2: [0, 11, 14, 15]
11-21 09:39:37.716 28473 28500 I Unity : Board state - Col 3: [0, 0, 15, 20]
11-21 09:39:37.716 28473 28500 I Unity : Row check: tile 14 at (2,2) to left of 17 at (2,3)
11-21 09:39:37.716 28473 28500 I Unity : Col check: tile 20 at (3,3) below 17 at (2,3)
11-21 09:39:37.716 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:39:37.716 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 17 at (3, 0) is VALID
11-21 09:39:37.716 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 17 at (3, 1) is VALID
11-21 09:39:37.717 28473 28500 I Unity : Checking replacement: tile 17 replacing 18 at (3,2)
11-21 09:39:37.717 28473 28500 I Unity : Board state - Row 3: [0, 0, 18, 20]
11-21 09:39:37.717 28473 28500 I Unity : Board state - Col 2: [0, 13, 14, 18]
11-21 09:39:37.717 28473 28500 I Unity : Row check: tile 20 at (3,3) to right of 17 at (3,2)
11-21 09:39:37.717 28473 28500 I Unity : Col check: tile 14 at (2,2) above 17 at (3,2)
11-21 09:39:37.717 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:39:37.717 28473 28500 I Unity : Checking replacement: tile 17 replacing 20 at (3,3)
11-21 09:39:37.717 28473 28500 I Unity : Board state - Row 3: [0, 0, 18, 20]
11-21 09:39:37.717 28473 28500 I Unity : Board state - Col 3: [0, 0, 15, 20]
11-21 09:39:37.718 28473 28500 I Unity : Row check: tile 18 at (3,2) to left of 17 at (3,3)
11-21 09:39:37.718 28473 28500 I Unity : ✗ Row constraint failed: 18 >= 17
11-21 09:39:37.718 28473 28500 I Unity : Col check: tile 15 at (2,3) above 17 at (3,3)
11-21 09:39:37.718 28473 28500 I Unity : Replacement validation: row=False, col=True
11-21 09:39:37.718 28473 28500 I Unity : Found 5 valid placements for tile Purple 17
11-21 09:39:37.718 28473 28500 I Unity : Valid placements changed: 5 positions
11-21 09:39:37.718 28473 28500 I Unity : Highlighted 5 valid placements for Player 3
11-21 09:39:38.695 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (0, 0) already occupied by 2
11-21 09:39:38.696 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 17 at (0, 1) failed constraints: row=True, col=False
11-21 09:39:38.696 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 17 at (0, 2) failed constraints: row=True, col=False
11-21 09:39:38.696 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 17 at (0, 3) failed constraints: row=True, col=False
11-21 09:39:38.696 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 17 at (1, 0) failed constraints: row=False, col=True
11-21 09:39:38.696 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (1, 1) already occupied by 6
11-21 09:39:38.696 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (1, 2) already occupied by 13
11-21 09:39:38.696 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 17 at (1, 3) failed constraints: row=True, col=False
11-21 09:39:38.696 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 17 at (2, 0) failed constraints: row=False, col=True
11-21 09:39:38.696 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (2, 1) already occupied by 11
11-21 09:39:38.697 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (2, 2) already occupied by 14
11-21 09:39:38.697 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (2, 3) already occupied by 15
11-21 09:39:38.697 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 17 at (3, 0) is VALID
11-21 09:39:38.697 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 17 at (3, 1) is VALID
11-21 09:39:38.697 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (3, 2) already occupied by 18
11-21 09:39:38.697 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (3, 3) already occupied by 20
11-21 09:39:38.697 28473 28500 I Unity : Checking replacement: tile 17 replacing 2 at (0,0)
11-21 09:39:38.697 28473 28500 I Unity : Board state - Row 0: [2, 0, 0, 0]
11-21 09:39:38.697 28473 28500 I Unity : Board state - Col 0: [2, 0, 0, 0]
11-21 09:39:38.697 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:39:38.698 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 17 at (0, 1) failed constraints: row=True, col=False
11-21 09:39:38.698 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 17 at (0, 2) failed constraints: row=True, col=False
11-21 09:39:38.698 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 17 at (0, 3) failed constraints: row=True, col=False
11-21 09:39:38.698 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 17 at (1, 0) failed constraints: row=False, col=True
11-21 09:39:38.698 28473 28500 I Unity : Checking replacement: tile 17 replacing 6 at (1,1)
11-21 09:39:38.698 28473 28500 I Unity : Board state - Row 1: [0, 6, 13, 0]
11-21 09:39:38.698 28473 28500 I Unity : Board state - Col 1: [0, 6, 11, 0]
11-21 09:39:38.698 28473 28500 I Unity : Row check: tile 13 at (1,2) to right of 17 at (1,1)
11-21 09:39:38.699 28473 28500 I Unity : ✗ Row constraint failed: 13 <= 17
11-21 09:39:38.699 28473 28500 I Unity : Col check: tile 11 at (2,1) below 17 at (1,1)
11-21 09:39:38.699 28473 28500 I Unity : ✗ Column constraint failed: 11 <= 17
11-21 09:39:38.699 28473 28500 I Unity : Replacement validation: row=False, col=False
11-21 09:39:38.699 28473 28500 I Unity : Checking replacement: tile 17 replacing 13 at (1,2)
11-21 09:39:38.699 28473 28500 I Unity : Board state - Row 1: [0, 6, 13, 0]
11-21 09:39:38.699 28473 28500 I Unity : Board state - Col 2: [0, 13, 14, 18]
11-21 09:39:38.699 28473 28500 I Unity : Row check: tile 6 at (1,1) to left of 17 at (1,2)
11-21 09:39:38.700 28473 28500 I Unity : Col check: tile 14 at (2,2) below 17 at (1,2)
11-21 09:39:38.700 28473 28500 I Unity : ✗ Column constraint failed: 14 <= 17
11-21 09:39:38.700 28473 28500 I Unity : Replacement validation: row=True, col=False
11-21 09:39:38.700 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 17 at (1, 3) failed constraints: row=True, col=False
11-21 09:39:38.700 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 17 at (2, 0) failed constraints: row=False, col=True
11-21 09:39:38.700 28473 28500 I Unity : Checking replacement: tile 17 replacing 11 at (2,1)
11-21 09:39:38.700 28473 28500 I Unity : Board state - Row 2: [0, 11, 14, 15]
11-21 09:39:38.700 28473 28500 I Unity : Board state - Col 1: [0, 6, 11, 0]
11-21 09:39:38.701 28473 28500 I Unity : Row check: tile 14 at (2,2) to right of 17 at (2,1)
11-21 09:39:38.701 28473 28500 I Unity : ✗ Row constraint failed: 14 <= 17
11-21 09:39:38.701 28473 28500 I Unity : Col check: tile 6 at (1,1) above 17 at (2,1)
11-21 09:39:38.701 28473 28500 I Unity : Replacement validation: row=False, col=True
11-21 09:39:38.701 28473 28500 I Unity : Checking replacement: tile 17 replacing 14 at (2,2)
11-21 09:39:38.701 28473 28500 I Unity : Board state - Row 2: [0, 11, 14, 15]
11-21 09:39:38.701 28473 28500 I Unity : Board state - Col 2: [0, 13, 14, 18]
11-21 09:39:38.701 28473 28500 I Unity : Row check: tile 11 at (2,1) to left of 17 at (2,2)
11-21 09:39:38.702 28473 28500 I Unity : Row check: tile 15 at (2,3) to right of 17 at (2,2)
11-21 09:39:38.702 28473 28500 I Unity : ✗ Row constraint failed: 15 <= 17
11-21 09:39:38.702 28473 28500 I Unity : Col check: tile 13 at (1,2) above 17 at (2,2)
11-21 09:39:38.702 28473 28500 I Unity : Col check: tile 18 at (3,2) below 17 at (2,2)
11-21 09:39:38.702 28473 28500 I Unity : Replacement validation: row=False, col=True
11-21 09:39:38.702 28473 28500 I Unity : Checking replacement: tile 17 replacing 15 at (2,3)
11-21 09:39:38.702 28473 28500 I Unity : Board state - Row 2: [0, 11, 14, 15]
11-21 09:39:38.702 28473 28500 I Unity : Board state - Col 3: [0, 0, 15, 20]
11-21 09:39:38.702 28473 28500 I Unity : Row check: tile 14 at (2,2) to left of 17 at (2,3)
11-21 09:39:38.703 28473 28500 I Unity : Col check: tile 20 at (3,3) below 17 at (2,3)
11-21 09:39:38.703 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:39:38.703 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 17 at (3, 0) is VALID
11-21 09:39:38.703 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 17 at (3, 1) is VALID
11-21 09:39:38.703 28473 28500 I Unity : Checking replacement: tile 17 replacing 18 at (3,2)
11-21 09:39:38.703 28473 28500 I Unity : Board state - Row 3: [0, 0, 18, 20]
11-21 09:39:38.703 28473 28500 I Unity : Board state - Col 2: [0, 13, 14, 18]
11-21 09:39:38.703 28473 28500 I Unity : Row check: tile 20 at (3,3) to right of 17 at (3,2)
11-21 09:39:38.704 28473 28500 I Unity : Col check: tile 14 at (2,2) above 17 at (3,2)
11-21 09:39:38.704 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:39:38.704 28473 28500 I Unity : Checking replacement: tile 17 replacing 20 at (3,3)
11-21 09:39:38.704 28473 28500 I Unity : Board state - Row 3: [0, 0, 18, 20]
11-21 09:39:38.704 28473 28500 I Unity : Board state - Col 3: [0, 0, 15, 20]
11-21 09:39:38.704 28473 28500 I Unity : Row check: tile 18 at (3,2) to left of 17 at (3,3)
11-21 09:39:38.704 28473 28500 I Unity : ✗ Row constraint failed: 18 >= 17
11-21 09:39:38.704 28473 28500 I Unity : Col check: tile 15 at (2,3) above 17 at (3,3)
11-21 09:39:38.704 28473 28500 I Unity : Replacement validation: row=False, col=True
11-21 09:39:38.705 28473 28500 I Unity : AI Player 3 placing tile at (1, 3)
11-21 09:39:38.705 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 17 at (3, 1) is VALID
11-21 09:39:38.705 28473 28500 I Unity : [PlayerBoard] Player 3 placed tile 17 at (3, 1) | Board now: 9/16 filled
11-21 09:39:38.705 28473 28500 I Unity : [PLACEMENT] ✓ Player 3 placed Purple 17 at (3, 1) | Board: 9/16 filled | Remaining draw: 45
11-21 09:39:38.705 28473 28500 I Unity : Player 3 Board (9/16 filled):
11-21 09:39:38.706 28473 28500 I Unity : 02 -- -- --
11-21 09:39:38.706 28473 28500 I Unity : -- 06 13 --
11-21 09:39:38.706 28473 28500 I Unity : -- 11 14 15
11-21 09:39:38.706 28473 28500 I Unity : -- 17 18 20
11-21 09:39:38.706 28473 28500 I Unity : Tile placed: Player 3 placed Purple 17 at (3, 1)
11-21 09:39:38.707 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=False, HasUnplacedTile=True, TestModeAllAI=False
11-21 09:39:38.707 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:39:38.707 28473 28500 W Unity : Tile 11: SetInteractable(False) - No Collider2D found!
11-21 09:39:38.707 28473 28500 W Unity : Tile 20: SetInteractable(False) - No Collider2D found!
11-21 09:39:38.707 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:39:38.707 28473 28500 W Unity : Tile 12: SetInteractable(False) - No Collider2D found!
11-21 09:39:38.707 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:39:38.707 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:39:38.708 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:39:38.708 28473 28500 W Unity : Tile 13: SetInteractable(False) - No Collider2D found!
11-21 09:39:38.708 28473 28500 W Unity : Tile 7: SetInteractable(False) - No Collider2D found!
11-21 09:39:38.708 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:39:38.708 28473 28500 W Unity : Tile 20: SetInteractable(False) - No Collider2D found!
11-21 09:39:38.708 28473 28500 I Unity : UIDiscardDeck interactability set to: False
11-21 09:39:38.708 28473 28500 I Unity : Tile 2: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:38.708 28473 28500 I Unity : Tile 6: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:38.708 28473 28500 I Unity : Tile 13: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:38.708 28473 28500 I Unity : Tile 11: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:38.709 28473 28500 I Unity : Tile 14: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:38.709 28473 28500 I Unity : Tile 15: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:38.709 28473 28500 I Unity : Tile 18: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:38.709 28473 28500 I Unity : Tile 20: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:38.709 28473 28500 I Unity : Player 3 placed tiles interactivity set to: False
11-21 09:39:38.709 28473 28500 I Unity : Interactability updated for player 3
11-21 09:39:38.709 28473 28500 I Unity : Valid placements changed: 0 positions
11-21 09:39:38.709 28473 28500 I Unity : Highlighted 0 valid placements for Player 3
11-21 09:39:38.709 28473 28500 I Unity : ═══════════════════════════════════════════════════════
11-21 09:39:38.709 28473 28500 I Unity : TURN CHANGE: Player 3 → Player 0
11-21 09:39:38.710 28473 28500 I Unity : Turn #9 | Tiles Remaining: 45 | Discard Pile: 1
11-21 09:39:38.710 28473 28500 I Unity : ═══════════════════════════════════════════════════════
11-21 09:39:38.710 28473 28500 I Unity : Game state changed: Game State: Playing, Turn 9, Player 0, Draw: 45, Discard: 1
11-21 09:39:38.710 28473 28500 I Unity : Updating deck UI with remaining count: 45
11-21 09:39:38.710 28473 28500 I Unity : UpdateRemainingCount called with: 45
11-21 09:39:38.710 28473 28500 I Unity : Set deck count text to: 45
11-21 09:39:38.711 28473 28500 I Unity : Game UI updated
11-21 09:39:38.711 28473 28500 I Unity : Player turn changed to Player 0
11-21 09:39:38.711 28473 28500 I Unity : Player 0 current player status: True
11-21 09:39:38.711 28473 28500 I Unity : Player 1 current player status: False
11-21 09:39:38.712 28473 28500 I Unity : Player 2 current player status: False
11-21 09:39:38.712 28473 28500 I Unity : Player 3 current player status: False
11-21 09:39:38.712 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=True, HasUnplacedTile=False, TestModeAllAI=False
11-21 09:39:38.712 28473 28500 W Unity : Tile 14: SetInteractable(True) - No Collider2D found!
11-21 09:39:38.712 28473 28500 W Unity : Tile 11: SetInteractable(True) - No Collider2D found!
11-21 09:39:38.712 28473 28500 W Unity : Tile 20: SetInteractable(True) - No Collider2D found!
11-21 09:39:38.712 28473 28500 W Unity : Tile 14: SetInteractable(True) - No Collider2D found!
11-21 09:39:38.713 28473 28500 W Unity : Tile 12: SetInteractable(True) - No Collider2D found!
11-21 09:39:38.713 28473 28500 W Unity : Tile 15: SetInteractable(True) - No Collider2D found!
11-21 09:39:38.713 28473 28500 W Unity : Tile 15: SetInteractable(True) - No Collider2D found!
11-21 09:39:38.713 28473 28500 W Unity : Tile 14: SetInteractable(True) - No Collider2D found!
11-21 09:39:38.713 28473 28500 W Unity : Tile 13: SetInteractable(True) - No Collider2D found!
11-21 09:39:38.713 28473 28500 W Unity : Tile 7: SetInteractable(True) - No Collider2D found!
11-21 09:39:38.713 28473 28500 W Unity : Tile 15: SetInteractable(True) - No Collider2D found!
11-21 09:39:38.713 28473 28500 W Unity : Tile 20: SetInteractable(True) - No Collider2D found!
11-21 09:39:38.714 28473 28500 I Unity : UIDiscardDeck interactability set to: True
11-21 09:39:38.714 28473 28500 I Unity : Tile 2: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:38.714 28473 28500 I Unity : Tile 4: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:38.714 28473 28500 I Unity : Tile 7: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:38.714 28473 28500 I Unity : Tile 7: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:38.715 28473 28500 I Unity : Tile 8: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:38.715 28473 28500 I Unity : Tile 10: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:38.715 28473 28500 I Unity : Tile 11: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:38.715 28473 28500 I Unity : Tile 16: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:38.715 28473 28500 I Unity : Player 0 placed tiles interactivity set to: False
11-21 09:39:38.715 28473 28500 I Unity : Interactability updated for player 0
11-21 09:39:38.715 28473 28500 I Unity : Tile 7: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:39:39.197 28473 28500 I Unity : Tile 0 animation to (4.48, 5.22, 0.00) complete
11-21 09:39:39.198 28473 28500 I Unity : Tile 13 number text visibility set to: True (faceDown: False)
11-21 09:39:39.198 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=17, Color=Purple, NumberText null: False
11-21 09:39:39.198 28473 28500 I Unity : Set tile text to: 17, text active: True
11-21 09:39:39.198 28473 28500 I Unity : Set sprite renderer sprite to: TileRed for color Purple (index 2)
11-21 09:39:39.198 28473 28500 I Unity : Tile 13 set to face-up
11-21 09:39:39.198 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=17, Color=Purple, NumberText null: False
11-21 09:39:39.198 28473 28500 I Unity : Set tile text to: 17, text active: True
11-21 09:39:39.199 28473 28500 I Unity : Set sprite renderer sprite to: TileRed for color Purple (index 2)
11-21 09:39:39.199 28473 28500 I Unity : Placed tile 17 on grid cell 13 at (1.00, 3.00)
11-21 09:39:39.199 28473 28500 I Unity : Animated opponent tile placement for Player 3 at (1, 3) (board scale: (0.50, 0.50, 1.00))
11-21 09:39:39.199 28473 28500 I Unity : AI Player 3 turn completed
11-21 09:39:39.199 28473 28500 I Unity : AI turn completed for Player 3
11-21 09:39:41.964 28473 28500 I Unity : Interacting with discard deck
11-21 09:39:41.965 28473 28500 I Unity : Checking replacement: tile 20 replacing 2 at (0,0)
11-21 09:39:41.965 28473 28500 I Unity : Board state - Row 0: [2, 0, 4, 7]
11-21 09:39:41.965 28473 28500 I Unity : Board state - Col 0: [2, 0, 0, 0]
11-21 09:39:41.965 28473 28500 I Unity : Row check: tile 4 at (0,2) to right of 20 at (0,0)
11-21 09:39:41.965 28473 28500 I Unity : ✗ Row constraint failed: 4 <= 20
11-21 09:39:41.965 28473 28500 I Unity : Replacement validation: row=False, col=True
11-21 09:39:41.965 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 20 at (0, 1) failed constraints: row=False, col=False
11-21 09:39:41.965 28473 28500 I Unity : Checking replacement: tile 20 replacing 4 at (0,2)
11-21 09:39:41.965 28473 28500 I Unity : Board state - Row 0: [2, 0, 4, 7]
11-21 09:39:41.965 28473 28500 I Unity : Board state - Col 2: [4, 8, 11, 0]
11-21 09:39:41.965 28473 28500 I Unity : Row check: tile 2 at (0,0) to left of 20 at (0,2)
11-21 09:39:41.966 28473 28500 I Unity : Row check: tile 7 at (0,3) to right of 20 at (0,2)
11-21 09:39:41.966 28473 28500 I Unity : ✗ Row constraint failed: 7 <= 20
11-21 09:39:41.966 28473 28500 I Unity : Col check: tile 8 at (1,2) below 20 at (0,2)
11-21 09:39:41.966 28473 28500 I Unity : ✗ Column constraint failed: 8 <= 20
11-21 09:39:41.966 28473 28500 I Unity : Replacement validation: row=False, col=False
11-21 09:39:41.966 28473 28500 I Unity : Checking replacement: tile 20 replacing 7 at (0,3)
11-21 09:39:41.966 28473 28500 I Unity : Board state - Row 0: [2, 0, 4, 7]
11-21 09:39:41.966 28473 28500 I Unity : Board state - Col 3: [7, 0, 0, 16]
11-21 09:39:41.966 28473 28500 I Unity : Row check: tile 4 at (0,2) to left of 20 at (0,3)
11-21 09:39:41.966 28473 28500 I Unity : Col check: tile 16 at (3,3) below 20 at (0,3)
11-21 09:39:41.966 28473 28500 I Unity : ✗ Column constraint failed: 16 <= 20
11-21 09:39:41.966 28473 28500 I Unity : Replacement validation: row=True, col=False
11-21 09:39:41.966 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 20 at (1, 0) failed constraints: row=False, col=True
11-21 09:39:41.966 28473 28500 I Unity : Checking replacement: tile 20 replacing 7 at (1,1)
11-21 09:39:41.967 28473 28500 I Unity : Board state - Row 1: [0, 7, 8, 0]
11-21 09:39:41.967 28473 28500 I Unity : Board state - Col 1: [0, 7, 10, 0]
11-21 09:39:41.967 28473 28500 I Unity : Row check: tile 8 at (1,2) to right of 20 at (1,1)
11-21 09:39:41.967 28473 28500 I Unity : ✗ Row constraint failed: 8 <= 20
11-21 09:39:41.967 28473 28500 I Unity : Col check: tile 10 at (2,1) below 20 at (1,1)
11-21 09:39:41.967 28473 28500 I Unity : ✗ Column constraint failed: 10 <= 20
11-21 09:39:41.967 28473 28500 I Unity : Replacement validation: row=False, col=False
11-21 09:39:41.967 28473 28500 I Unity : Checking replacement: tile 20 replacing 8 at (1,2)
11-21 09:39:41.967 28473 28500 I Unity : Board state - Row 1: [0, 7, 8, 0]
11-21 09:39:41.967 28473 28500 I Unity : Board state - Col 2: [4, 8, 11, 0]
11-21 09:39:41.967 28473 28500 I Unity : Row check: tile 7 at (1,1) to left of 20 at (1,2)
11-21 09:39:41.967 28473 28500 I Unity : Col check: tile 4 at (0,2) above 20 at (1,2)
11-21 09:39:41.968 28473 28500 I Unity : Col check: tile 11 at (2,2) below 20 at (1,2)
11-21 09:39:41.968 28473 28500 I Unity : ✗ Column constraint failed: 11 <= 20
11-21 09:39:41.968 28473 28500 I Unity : Replacement validation: row=True, col=False
11-21 09:39:41.968 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 20 at (1, 3) failed constraints: row=True, col=False
11-21 09:39:41.968 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 20 at (2, 0) failed constraints: row=False, col=True
11-21 09:39:41.968 28473 28500 I Unity : Checking replacement: tile 20 replacing 10 at (2,1)
11-21 09:39:41.968 28473 28500 I Unity : Board state - Row 2: [0, 10, 11, 0]
11-21 09:39:41.968 28473 28500 I Unity : Board state - Col 1: [0, 7, 10, 0]
11-21 09:39:41.968 28473 28500 I Unity : Row check: tile 11 at (2,2) to right of 20 at (2,1)
11-21 09:39:41.968 28473 28500 I Unity : ✗ Row constraint failed: 11 <= 20
11-21 09:39:41.968 28473 28500 I Unity : Col check: tile 7 at (1,1) above 20 at (2,1)
11-21 09:39:41.968 28473 28500 I Unity : Replacement validation: row=False, col=True
11-21 09:39:41.968 28473 28500 I Unity : Checking replacement: tile 20 replacing 11 at (2,2)
11-21 09:39:41.968 28473 28500 I Unity : Board state - Row 2: [0, 10, 11, 0]
11-21 09:39:41.969 28473 28500 I Unity : Board state - Col 2: [4, 8, 11, 0]
11-21 09:39:41.969 28473 28500 I Unity : Row check: tile 10 at (2,1) to left of 20 at (2,2)
11-21 09:39:41.969 28473 28500 I Unity : Col check: tile 8 at (1,2) above 20 at (2,2)
11-21 09:39:41.969 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:39:41.969 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 20 at (2, 3) failed constraints: row=True, col=False
11-21 09:39:41.969 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 20 at (3, 0) failed constraints: row=False, col=True
11-21 09:39:41.969 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 20 at (3, 1) failed constraints: row=False, col=True
11-21 09:39:41.969 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 20 at (3, 2) failed constraints: row=False, col=True
11-21 09:39:41.969 28473 28500 I Unity : Checking replacement: tile 20 replacing 16 at (3,3)
11-21 09:39:41.969 28473 28500 I Unity : Board state - Row 3: [0, 0, 0, 16]
11-21 09:39:41.969 28473 28500 I Unity : Board state - Col 3: [7, 0, 0, 16]
11-21 09:39:41.969 28473 28500 I Unity : Col check: tile 7 at (0,3) above 20 at (3,3)
11-21 09:39:41.970 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:39:41.970 28473 28500 I Unity : Tile 20 has 2 valid placements - allowing player to take it
11-21 09:39:41.970 28473 28500 I Unity : Took discarded tile: Purple 20 from index 0
11-21 09:39:41.970 28473 28500 I Unity : Player 0 took discarded tile: Purple 20 from DiscardPile
11-21 09:39:41.970 28473 28500 I Unity : Tile drawn: Player 0 drew Purple 20
11-21 09:39:41.970 28473 28500 I Unity : UpdateDiscardCount called with: 0
11-21 09:39:41.970 28473 28500 I Unity : Set discard count text to: 0
11-21 09:39:41.970 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=True, HasUnplacedTile=True, TestModeAllAI=False
11-21 09:39:41.970 28473 28500 W Unity : Tile 14: SetInteractable(True) - No Collider2D found!
11-21 09:39:41.971 28473 28500 W Unity : Tile 11: SetInteractable(True) - No Collider2D found!
11-21 09:39:41.971 28473 28500 W Unity : Tile 20: SetInteractable(True) - No Collider2D found!
11-21 09:39:41.971 28473 28500 W Unity : Tile 14: SetInteractable(True) - No Collider2D found!
11-21 09:39:41.971 28473 28500 W Unity : Tile 12: SetInteractable(True) - No Collider2D found!
11-21 09:39:41.971 28473 28500 W Unity : Tile 15: SetInteractable(True) - No Collider2D found!
11-21 09:39:41.971 28473 28500 W Unity : Tile 15: SetInteractable(True) - No Collider2D found!
11-21 09:39:41.971 28473 28500 W Unity : Tile 14: SetInteractable(True) - No Collider2D found!
11-21 09:39:41.971 28473 28500 W Unity : Tile 13: SetInteractable(True) - No Collider2D found!
11-21 09:39:41.971 28473 28500 W Unity : Tile 7: SetInteractable(True) - No Collider2D found!
11-21 09:39:41.971 28473 28500 W Unity : Tile 15: SetInteractable(True) - No Collider2D found!
11-21 09:39:41.971 28473 28500 W Unity : Tile 20: SetInteractable(True) - No Collider2D found!
11-21 09:39:41.971 28473 28500 I Unity : UIDiscardDeck interactability set to: True
11-21 09:39:41.972 28473 28500 I Unity : Tile 2: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:39:41.972 28473 28500 I Unity : Tile 4: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:39:41.972 28473 28500 I Unity : Tile 7: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:39:41.972 28473 28500 I Unity : Tile 7: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:39:41.972 28473 28500 I Unity : Tile 8: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:39:41.972 28473 28500 I Unity : Tile 10: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:39:41.972 28473 28500 I Unity : Tile 11: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:39:41.972 28473 28500 I Unity : Tile 16: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:39:41.972 28473 28500 I Unity : Player 0 placed tiles interactivity set to: True
11-21 09:39:41.972 28473 28500 I Unity : Interactability updated for player 0
11-21 09:39:41.973 28473 28500 I Unity : Checking replacement: tile 20 replacing 2 at (0,0)
11-21 09:39:41.973 28473 28500 I Unity : Board state - Row 0: [2, 0, 4, 7]
11-21 09:39:41.973 28473 28500 I Unity : Board state - Col 0: [2, 0, 0, 0]
11-21 09:39:41.973 28473 28500 I Unity : Row check: tile 4 at (0,2) to right of 20 at (0,0)
11-21 09:39:41.973 28473 28500 I Unity : ✗ Row constraint failed: 4 <= 20
11-21 09:39:41.973 28473 28500 I Unity : Replacement validation: row=False, col=True
11-21 09:39:41.973 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 20 at (0, 1) failed constraints: row=False, col=False
11-21 09:39:41.973 28473 28500 I Unity : Checking replacement: tile 20 replacing 4 at (0,2)
11-21 09:39:41.973 28473 28500 I Unity : Board state - Row 0: [2, 0, 4, 7]
11-21 09:39:41.973 28473 28500 I Unity : Board state - Col 2: [4, 8, 11, 0]
11-21 09:39:41.973 28473 28500 I Unity : Row check: tile 2 at (0,0) to left of 20 at (0,2)
11-21 09:39:41.973 28473 28500 I Unity : Row check: tile 7 at (0,3) to right of 20 at (0,2)
11-21 09:39:41.974 28473 28500 I Unity : ✗ Row constraint failed: 7 <= 20
11-21 09:39:41.974 28473 28500 I Unity : Col check: tile 8 at (1,2) below 20 at (0,2)
11-21 09:39:41.974 28473 28500 I Unity : ✗ Column constraint failed: 8 <= 20
11-21 09:39:41.974 28473 28500 I Unity : Replacement validation: row=False, col=False
11-21 09:39:41.974 28473 28500 I Unity : Checking replacement: tile 20 replacing 7 at (0,3)
11-21 09:39:41.974 28473 28500 I Unity : Board state - Row 0: [2, 0, 4, 7]
11-21 09:39:41.974 28473 28500 I Unity : Board state - Col 3: [7, 0, 0, 16]
11-21 09:39:41.974 28473 28500 I Unity : Row check: tile 4 at (0,2) to left of 20 at (0,3)
11-21 09:39:41.974 28473 28500 I Unity : Col check: tile 16 at (3,3) below 20 at (0,3)
11-21 09:39:41.974 28473 28500 I Unity : ✗ Column constraint failed: 16 <= 20
11-21 09:39:41.974 28473 28500 I Unity : Replacement validation: row=True, col=False
11-21 09:39:41.974 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 20 at (1, 0) failed constraints: row=False, col=True
11-21 09:39:41.974 28473 28500 I Unity : Checking replacement: tile 20 replacing 7 at (1,1)
11-21 09:39:41.975 28473 28500 I Unity : Board state - Row 1: [0, 7, 8, 0]
11-21 09:39:41.975 28473 28500 I Unity : Board state - Col 1: [0, 7, 10, 0]
11-21 09:39:41.975 28473 28500 I Unity : Row check: tile 8 at (1,2) to right of 20 at (1,1)
11-21 09:39:41.975 28473 28500 I Unity : ✗ Row constraint failed: 8 <= 20
11-21 09:39:41.975 28473 28500 I Unity : Col check: tile 10 at (2,1) below 20 at (1,1)
11-21 09:39:41.975 28473 28500 I Unity : ✗ Column constraint failed: 10 <= 20
11-21 09:39:41.975 28473 28500 I Unity : Replacement validation: row=False, col=False
11-21 09:39:41.975 28473 28500 I Unity : Checking replacement: tile 20 replacing 8 at (1,2)
11-21 09:39:41.975 28473 28500 I Unity : Board state - Row 1: [0, 7, 8, 0]
11-21 09:39:41.975 28473 28500 I Unity : Board state - Col 2: [4, 8, 11, 0]
11-21 09:39:41.975 28473 28500 I Unity : Row check: tile 7 at (1,1) to left of 20 at (1,2)
11-21 09:39:41.976 28473 28500 I Unity : Col check: tile 4 at (0,2) above 20 at (1,2)
11-21 09:39:41.976 28473 28500 I Unity : Col check: tile 11 at (2,2) below 20 at (1,2)
11-21 09:39:41.976 28473 28500 I Unity : ✗ Column constraint failed: 11 <= 20
11-21 09:39:41.976 28473 28500 I Unity : Replacement validation: row=True, col=False
11-21 09:39:41.976 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 20 at (1, 3) failed constraints: row=True, col=False
11-21 09:39:41.976 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 20 at (2, 0) failed constraints: row=False, col=True
11-21 09:39:41.976 28473 28500 I Unity : Checking replacement: tile 20 replacing 10 at (2,1)
11-21 09:39:41.976 28473 28500 I Unity : Board state - Row 2: [0, 10, 11, 0]
11-21 09:39:41.976 28473 28500 I Unity : Board state - Col 1: [0, 7, 10, 0]
11-21 09:39:41.976 28473 28500 I Unity : Row check: tile 11 at (2,2) to right of 20 at (2,1)
11-21 09:39:41.976 28473 28500 I Unity : ✗ Row constraint failed: 11 <= 20
11-21 09:39:41.976 28473 28500 I Unity : Col check: tile 7 at (1,1) above 20 at (2,1)
11-21 09:39:41.976 28473 28500 I Unity : Replacement validation: row=False, col=True
11-21 09:39:41.977 28473 28500 I Unity : Checking replacement: tile 20 replacing 11 at (2,2)
11-21 09:39:41.977 28473 28500 I Unity : Board state - Row 2: [0, 10, 11, 0]
11-21 09:39:41.977 28473 28500 I Unity : Board state - Col 2: [4, 8, 11, 0]
11-21 09:39:41.977 28473 28500 I Unity : Row check: tile 10 at (2,1) to left of 20 at (2,2)
11-21 09:39:41.977 28473 28500 I Unity : Col check: tile 8 at (1,2) above 20 at (2,2)
11-21 09:39:41.977 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:39:41.977 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 20 at (2, 3) failed constraints: row=True, col=False
11-21 09:39:41.977 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 20 at (3, 0) failed constraints: row=False, col=True
11-21 09:39:41.977 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 20 at (3, 1) failed constraints: row=False, col=True
11-21 09:39:41.977 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 20 at (3, 2) failed constraints: row=False, col=True
11-21 09:39:41.977 28473 28500 I Unity : Checking replacement: tile 20 replacing 16 at (3,3)
11-21 09:39:41.977 28473 28500 I Unity : Board state - Row 3: [0, 0, 0, 16]
11-21 09:39:41.977 28473 28500 I Unity : Board state - Col 3: [7, 0, 0, 16]
11-21 09:39:41.978 28473 28500 I Unity : Col check: tile 7 at (0,3) above 20 at (3,3)
11-21 09:39:41.978 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:39:41.978 28473 28500 I Unity : Found 2 valid placements for tile Purple 20
11-21 09:39:41.978 28473 28500 I Unity : Valid placements changed: 2 positions
11-21 09:39:41.978 28473 28500 I Unity : Highlighted 2 valid placements for Player 0
11-21 09:39:41.978 28473 28500 I Unity : [DISCARD DEBUG] Selected tile from discard pile: Number=20, TileData=Purple 20, UniqueID=Purple_20_fce7069e
11-21 09:39:41.978 28473 28500 I Unity : Tile 15 selection set to: True
11-21 09:39:41.979 28473 28500 I Unity : Discard Pile: Tile 15 (index 6) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 15, Text Order: 16
11-21 09:39:41.979 28473 28500 I Unity : Discard Pile: Tile 14 (index 7) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 17, Text Order: 18
11-21 09:39:41.979 28473 28500 I Unity : Discard Pile: Tile 13 (index 8) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 19, Text Order: 20
11-21 09:39:41.979 28473 28500 I Unity : Discard Pile: Tile 7 (index 9) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 21, Text Order: 22
11-21 09:39:41.979 28473 28500 I Unity : Discard Pile: Tile 15 (index 10) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 23, Text Order: 24
11-21 09:39:41.979 28473 28500 I Unity : UpdateDiscardCount called with: 0
11-21 09:39:41.979 28473 28500 I Unity : Set discard count text to: 0
11-21 09:39:41.979 28473 28500 I Unity : Removed selected tile 20 from visual discard list (index 11)
11-21 09:39:42.706 28473 28500 I Unity : Interacting with tile 15 (Number: 16)
11-21 09:39:42.707 28473 28500 I Unity : Forwarding placed tile click to parent cell for replacement at (3.00, 3.00)
11-21 09:39:42.707 28473 28500 I Unity : Interacting with grid cell 15 at position (3.00, 3.00)
11-21 09:39:42.707 28473 28500 I Unity : HandleTilePlacement: Attempting to place tile 20 at grid position (3.00, 3.00)
11-21 09:39:42.707 28473 28500 I Unity : HandleTilePlacement: Converted to board coordinates - row=3, col=3
11-21 09:39:42.707 28473 28500 I Unity : Cell at (3.00, 3.00) is occupied by tile 16 - attempting tile replacement
11-21 09:39:42.707 28473 28500 I Unity : Checking replacement: tile 20 replacing 16 at (3,3)
11-21 09:39:42.707 28473 28500 I Unity : Board state - Row 3: [0, 0, 0, 16]
11-21 09:39:42.707 28473 28500 I Unity : Board state - Col 3: [7, 0, 0, 16]
11-21 09:39:42.707 28473 28500 I Unity : Col check: tile 7 at (0,3) above 20 at (3,3)
11-21 09:39:42.707 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:39:42.708 28473 28500 I Unity : Replacing tile 16 at (3, 3) with Purple 20
11-21 09:39:42.708 28473 28500 I Unity : Discarded tile: Yellow 16 (1 tiles in discard pile)
11-21 09:39:42.708 28473 28500 I Unity : Tile discarded: Player 0 discarded Yellow 16
11-21 09:39:42.708 28473 28500 I Unity : [DISCARD DEBUG] Cached logical discarded tile for player 0: Yellow 16
11-21 09:39:42.708 28473 28500 I Unity : [PlayerBoard] Player 0 removed tile 16 from (3, 3) | Board now: 7/16 filled
11-21 09:39:42.708 28473 28500 I Unity : [PlayerBoard] Player 0 placed tile 20 at (3, 3) | Board now: 8/16 filled
11-21 09:39:42.708 28473 28500 I Unity : Player 0 placed Purple 20 with replacement at (3, 3)
11-21 09:39:42.708 28473 28500 I Unity : Player 0 Board (8/16 filled):
11-21 09:39:42.709 28473 28500 I Unity : 02 -- 04 07
11-21 09:39:42.709 28473 28500 I Unity : -- 07 08 --
11-21 09:39:42.709 28473 28500 I Unity : -- 10 11 --
11-21 09:39:42.709 28473 28500 I Unity : -- -- -- 20
11-21 09:39:42.709 28473 28500 I Unity : Tile placed: Player 0 placed Purple 20 at (3, 3)
11-21 09:39:42.709 28473 28500 I Unity : [DISCARD DEBUG] selectedFromDiscard: NOT NULL, CurrentTileSource=DiscardPile
11-21 09:39:42.709 28473 28500 I Unity : [DISCARD DEBUG] selectedFromDiscard.TileData: NOT NULL
11-21 09:39:42.709 28473 28500 I Unity : [DISCARD DEBUG] BEFORE RESYNC - visual TileData: Purple 20, UniqueID: Purple_20_fce7069e
11-21 09:39:42.709 28473 28500 I Unity : [DISCARD DEBUG] logic TileData: Purple 20, UniqueID: Purple_20_fce7069e
11-21 09:39:42.709 28473 28500 I Unity : [UIDiscardDeck] Clearing selected discard tile reference for tile 20
11-21 09:39:42.710 28473 28500 I Unity : Resetting sprite renderer sprite to original: TileRed for tile Purple
11-21 09:39:42.710 28473 28500 I Unity : Tile 15 selection set to: False
11-21 09:39:42.710 28473 28500 I Unity : Tile 15 number text visibility set to: True (faceDown: False)
11-21 09:39:42.710 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=20, Color=Purple, NumberText null: False
11-21 09:39:42.710 28473 28500 I Unity : Set tile text to: 20, text active: True
11-21 09:39:42.710 28473 28500 I Unity : Set sprite renderer sprite to: TileRed for color Purple (index 2)
11-21 09:39:42.710 28473 28500 I Unity : Tile 15 set to face-up
11-21 09:39:42.710 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=True, HasUnplacedTile=True, TestModeAllAI=False
11-21 09:39:42.711 28473 28500 W Unity : Tile 14: SetInteractable(True) - No Collider2D found!
11-21 09:39:42.711 28473 28500 W Unity : Tile 11: SetInteractable(True) - No Collider2D found!
11-21 09:39:42.711 28473 28500 W Unity : Tile 20: SetInteractable(True) - No Collider2D found!
11-21 09:39:42.711 28473 28500 W Unity : Tile 14: SetInteractable(True) - No Collider2D found!
11-21 09:39:42.711 28473 28500 W Unity : Tile 12: SetInteractable(True) - No Collider2D found!
11-21 09:39:42.711 28473 28500 W Unity : Tile 15: SetInteractable(True) - No Collider2D found!
11-21 09:39:42.711 28473 28500 W Unity : Tile 15: SetInteractable(True) - No Collider2D found!
11-21 09:39:42.711 28473 28500 W Unity : Tile 14: SetInteractable(True) - No Collider2D found!
11-21 09:39:42.711 28473 28500 W Unity : Tile 13: SetInteractable(True) - No Collider2D found!
11-21 09:39:42.711 28473 28500 W Unity : Tile 7: SetInteractable(True) - No Collider2D found!
11-21 09:39:42.711 28473 28500 W Unity : Tile 15: SetInteractable(True) - No Collider2D found!
11-21 09:39:42.711 28473 28500 I Unity : UIDiscardDeck interactability set to: True
11-21 09:39:42.712 28473 28500 I Unity : Tile 2: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:39:42.712 28473 28500 I Unity : Tile 4: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:39:42.712 28473 28500 I Unity : Tile 7: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:39:42.712 28473 28500 I Unity : Tile 7: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:39:42.712 28473 28500 I Unity : Tile 8: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:39:42.712 28473 28500 I Unity : Tile 10: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:39:42.712 28473 28500 I Unity : Tile 11: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:39:42.712 28473 28500 I Unity : Tile 16: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:39:42.712 28473 28500 I Unity : Player 0 placed tiles interactivity set to: True
11-21 09:39:42.712 28473 28500 I Unity : Interactability updated for player 0
11-21 09:39:42.712 28473 28500 I Unity : Valid placements changed: 0 positions
11-21 09:39:42.712 28473 28500 I Unity : Highlighted 0 valid placements for Player 0
11-21 09:39:42.713 28473 28500 I Unity : ═══════════════════════════════════════════════════════
11-21 09:39:42.713 28473 28500 I Unity : TURN CHANGE: Player 0 → Player 1
11-21 09:39:42.713 28473 28500 I Unity : Turn #9 | Tiles Remaining: 45 | Discard Pile: 1
11-21 09:39:42.713 28473 28500 I Unity : ═══════════════════════════════════════════════════════
11-21 09:39:42.713 28473 28500 I Unity : Game state changed: Game State: Playing, Turn 9, Player 1, Draw: 45, Discard: 1
11-21 09:39:42.713 28473 28500 I Unity : Updating deck UI with remaining count: 45
11-21 09:39:42.713 28473 28500 I Unity : UpdateRemainingCount called with: 45
11-21 09:39:42.713 28473 28500 I Unity : Set deck count text to: 45
11-21 09:39:42.713 28473 28500 I Unity : Game UI updated
11-21 09:39:42.713 28473 28500 I Unity : Player turn changed to Player 1
11-21 09:39:42.713 28473 28500 I Unity : Player 0 current player status: False
11-21 09:39:42.714 28473 28500 I Unity : Player 1 current player status: True
11-21 09:39:42.714 28473 28500 I Unity : Player 2 current player status: False
11-21 09:39:42.714 28473 28500 I Unity : Player 3 current player status: False
11-21 09:39:42.714 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=False, HasUnplacedTile=False, TestModeAllAI=False
11-21 09:39:42.714 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:39:42.714 28473 28500 W Unity : Tile 11: SetInteractable(False) - No Collider2D found!
11-21 09:39:42.714 28473 28500 W Unity : Tile 20: SetInteractable(False) - No Collider2D found!
11-21 09:39:42.714 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:39:42.714 28473 28500 W Unity : Tile 12: SetInteractable(False) - No Collider2D found!
11-21 09:39:42.715 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:39:42.715 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:39:42.715 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:39:42.715 28473 28500 W Unity : Tile 13: SetInteractable(False) - No Collider2D found!
11-21 09:39:42.715 28473 28500 W Unity : Tile 7: SetInteractable(False) - No Collider2D found!
11-21 09:39:42.715 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:39:42.715 28473 28500 I Unity : UIDiscardDeck interactability set to: False
11-21 09:39:42.715 28473 28500 I Unity : Tile 2: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:42.715 28473 28500 I Unity : Tile 7: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:42.715 28473 28500 I Unity : Tile 3: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:42.715 28473 28500 I Unity : Tile 10: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:42.715 28473 28500 I Unity : Tile 12: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:42.716 28473 28500 I Unity : Tile 14: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:42.716 28473 28500 I Unity : Tile 13: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:42.719 28473 28500 I Unity : Tile 17: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:42.719 28473 28500 I Unity : Player 1 placed tiles interactivity set to: False
11-21 09:39:42.719 28473 28500 I Unity : Interactability updated for player 1
11-21 09:39:42.719 28473 28500 I Unity : Starting AI turn for Player 1
11-21 09:39:42.720 28473 28500 I Unity : Tile 7: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:42.720 28473 28500 I Unity : ✓ Successfully replaced tile at (3.00, 3.00) with 20
11-21 09:39:42.966 28473 28500 I Unity : Tile 15 animation to (2.00, 1.99, 0.00) complete
11-21 09:39:42.967 28473 28500 I Unity : SetTileData called with: Yellow 16, Color enum: 0
11-21 09:39:42.967 28473 28500 I Unity : Updated _originalSprite to: TileGreen for Yellow
11-21 09:39:42.967 28473 28500 I Unity : Before UpdateVisualRepresentation: _color=Yellow (enum: 0), GameTileSprites=4
11-21 09:39:42.967 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=16, Color=Yellow, NumberText null: False
11-21 09:39:42.967 28473 28500 I Unity : Set tile text to: 16, text active: True
11-21 09:39:42.967 28473 28500 I Unity : Set sprite renderer sprite to: TileGreen for color Yellow (index 0)
11-21 09:39:42.967 28473 28500 I Unity : Tile 15 set to Yellow 16
11-21 09:39:42.967 28473 28500 I Unity : Tile 16: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:39:42.968 28473 28500 I Unity : [UIDiscardDeck] Destroyed collider for discard pile tile 16
11-21 09:39:42.968 28473 28500 I Unity : Tile 16: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:42.968 28473 28500 I Unity : Discard Pile: Tile 14 (index 7) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 17, Text Order: 18
11-21 09:39:42.968 28473 28500 I Unity : Discard Pile: Tile 13 (index 8) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 19, Text Order: 20
11-21 09:39:42.968 28473 28500 I Unity : Discard Pile: Tile 7 (index 9) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 21, Text Order: 22
11-21 09:39:42.968 28473 28500 I Unity : Discard Pile: Tile 15 (index 10) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 23, Text Order: 24
11-21 09:39:42.968 28473 28500 I Unity : Discard Pile: Tile 16 (index 11) - Position: (0.00, 0.00, 0.00), Parent Order: 2, Sprite Order: 25, Text Order: 26
11-21 09:39:42.968 28473 28500 I Unity : UpdateDiscardCount called with: 1
11-21 09:39:42.968 28473 28500 I Unity : Set discard count text to: 1
11-21 09:39:42.968 28473 28500 I Unity : [UIDiscardDeck] Added tile 16 to discard deck (12 total)
11-21 09:39:42.969 28473 28500 I Unity : UpdateDiscardCount called with: 1
11-21 09:39:42.969 28473 28500 I Unity : Set discard count text to: 1
11-21 09:39:43.169 28473 28500 I Unity : Tile 15 animation to (3.15, -7.69, 0.00) complete
11-21 09:39:43.169 28473 28500 I Unity : Tile 20: SetInteractable(True) - Collider enabled = True, _isInteractable = True
11-21 09:39:43.169 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=20, Color=Purple, NumberText null: False
11-21 09:39:43.169 28473 28500 I Unity : Set tile text to: 20, text active: True
11-21 09:39:43.169 28473 28500 I Unity : Set sprite renderer sprite to: TileRed for color Purple (index 2)
11-21 09:39:43.170 28473 28500 I Unity : Player 0: Set particle system and all child particle renderers to sorting order 100
11-21 09:39:43.170 28473 28500 I Unity : Player 0: Triggered click particle at (3.15, -7.69, 0.00)
11-21 09:39:43.170 28473 28500 I Unity : Animated discard tile placement for Player 0 at (3, 3)
11-21 09:39:43.705 28473 28500 I Unity : AI Player 1 (DefensiveBlocker) starting turn...
11-21 09:39:45.109 28473 28500 I Unity : Checking replacement: tile 16 replacing 2 at (0,0)
11-21 09:39:45.109 28473 28500 I Unity : Board state - Row 0: [2, 0, 7, 0]
11-21 09:39:45.109 28473 28500 I Unity : Board state - Col 0: [2, 0, 0, 0]
11-21 09:39:45.109 28473 28500 I Unity : Row check: tile 7 at (0,2) to right of 16 at (0,0)
11-21 09:39:45.109 28473 28500 I Unity : ✗ Row constraint failed: 7 <= 16
11-21 09:39:45.109 28473 28500 I Unity : Replacement validation: row=False, col=True
11-21 09:39:45.110 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 16 at (0, 1) failed constraints: row=False, col=False
11-21 09:39:45.110 28473 28500 I Unity : Checking replacement: tile 16 replacing 7 at (0,2)
11-21 09:39:45.110 28473 28500 I Unity : Board state - Row 0: [2, 0, 7, 0]
11-21 09:39:45.110 28473 28500 I Unity : Board state - Col 2: [7, 10, 14, 0]
11-21 09:39:45.110 28473 28500 I Unity : Row check: tile 2 at (0,0) to left of 16 at (0,2)
11-21 09:39:45.110 28473 28500 I Unity : Col check: tile 10 at (1,2) below 16 at (0,2)
11-21 09:39:45.110 28473 28500 I Unity : ✗ Column constraint failed: 10 <= 16
11-21 09:39:45.110 28473 28500 I Unity : Replacement validation: row=True, col=False
11-21 09:39:45.110 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 16 at (0, 3) is VALID
11-21 09:39:45.110 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 16 at (1, 0) failed constraints: row=False, col=True
11-21 09:39:45.110 28473 28500 I Unity : Checking replacement: tile 16 replacing 3 at (1,1)
11-21 09:39:45.111 28473 28500 I Unity : Board state - Row 1: [0, 3, 10, 0]
11-21 09:39:45.111 28473 28500 I Unity : Board state - Col 1: [0, 3, 12, 13]
11-21 09:39:45.111 28473 28500 I Unity : Row check: tile 10 at (1,2) to right of 16 at (1,1)
11-21 09:39:45.111 28473 28500 I Unity : ✗ Row constraint failed: 10 <= 16
11-21 09:39:45.111 28473 28500 I Unity : Col check: tile 12 at (2,1) below 16 at (1,1)
11-21 09:39:45.111 28473 28500 I Unity : ✗ Column constraint failed: 12 <= 16
11-21 09:39:45.111 28473 28500 I Unity : Replacement validation: row=False, col=False
11-21 09:39:45.111 28473 28500 I Unity : Checking replacement: tile 16 replacing 10 at (1,2)
11-21 09:39:45.111 28473 28500 I Unity : Board state - Row 1: [0, 3, 10, 0]
11-21 09:39:45.112 28473 28500 I Unity : Board state - Col 2: [7, 10, 14, 0]
11-21 09:39:45.112 28473 28500 I Unity : Row check: tile 3 at (1,1) to left of 16 at (1,2)
11-21 09:39:45.112 28473 28500 I Unity : Col check: tile 7 at (0,2) above 16 at (1,2)
11-21 09:39:45.112 28473 28500 I Unity : Col check: tile 14 at (2,2) below 16 at (1,2)
11-21 09:39:45.112 28473 28500 I Unity : ✗ Column constraint failed: 14 <= 16
11-21 09:39:45.112 28473 28500 I Unity : Replacement validation: row=True, col=False
11-21 09:39:45.112 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 16 at (1, 3) is VALID
11-21 09:39:45.112 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 16 at (2, 0) failed constraints: row=False, col=True
11-21 09:39:45.112 28473 28500 I Unity : Checking replacement: tile 16 replacing 12 at (2,1)
11-21 09:39:45.112 28473 28500 I Unity : Board state - Row 2: [0, 12, 14, 0]
11-21 09:39:45.113 28473 28500 I Unity : Board state - Col 1: [0, 3, 12, 13]
11-21 09:39:45.113 28473 28500 I Unity : Row check: tile 14 at (2,2) to right of 16 at (2,1)
11-21 09:39:45.113 28473 28500 I Unity : ✗ Row constraint failed: 14 <= 16
11-21 09:39:45.113 28473 28500 I Unity : Col check: tile 3 at (1,1) above 16 at (2,1)
11-21 09:39:45.113 28473 28500 I Unity : Col check: tile 13 at (3,1) below 16 at (2,1)
11-21 09:39:45.113 28473 28500 I Unity : ✗ Column constraint failed: 13 <= 16
11-21 09:39:45.113 28473 28500 I Unity : Replacement validation: row=False, col=False
11-21 09:39:45.113 28473 28500 I Unity : Checking replacement: tile 16 replacing 14 at (2,2)
11-21 09:39:45.113 28473 28500 I Unity : Board state - Row 2: [0, 12, 14, 0]
11-21 09:39:45.113 28473 28500 I Unity : Board state - Col 2: [7, 10, 14, 0]
11-21 09:39:45.114 28473 28500 I Unity : Row check: tile 12 at (2,1) to left of 16 at (2,2)
11-21 09:39:45.114 28473 28500 I Unity : Col check: tile 10 at (1,2) above 16 at (2,2)
11-21 09:39:45.114 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:39:45.114 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 16 at (2, 3) is VALID
11-21 09:39:45.114 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 16 at (3, 0) failed constraints: row=False, col=True
11-21 09:39:45.114 28473 28500 I Unity : Checking replacement: tile 16 replacing 13 at (3,1)
11-21 09:39:45.114 28473 28500 I Unity : Board state - Row 3: [0, 13, 0, 17]
11-21 09:39:45.114 28473 28500 I Unity : Board state - Col 1: [0, 3, 12, 13]
11-21 09:39:45.114 28473 28500 I Unity : Row check: tile 17 at (3,3) to right of 16 at (3,1)
11-21 09:39:45.114 28473 28500 I Unity : Col check: tile 12 at (2,1) above 16 at (3,1)
11-21 09:39:45.115 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:39:45.115 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 16 at (3, 2) is VALID
11-21 09:39:45.115 28473 28500 I Unity : Checking replacement: tile 16 replacing 17 at (3,3)
11-21 09:39:45.115 28473 28500 I Unity : Board state - Row 3: [0, 13, 0, 17]
11-21 09:39:45.115 28473 28500 I Unity : Board state - Col 3: [0, 0, 0, 17]
11-21 09:39:45.115 28473 28500 I Unity : Row check: tile 13 at (3,1) to left of 16 at (3,3)
11-21 09:39:45.115 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:39:45.116 28473 28500 I Unity : AI Player 1 decision: TakeFaceUp - Top discard Yellow 16 has beneficial placement(s): 5 (Score: 1.00)
11-21 09:39:45.116 28473 28500 I Unity : AI Player 1 taking tile 0 from discard pile
11-21 09:39:45.116 28473 28500 I Unity : Took discarded tile: Yellow 16 from index 0
11-21 09:39:45.116 28473 28500 I Unity : Player 1 took discarded tile: Yellow 16 from DiscardPile
11-21 09:39:45.116 28473 28500 I Unity : Tile drawn: Player 1 drew Yellow 16
11-21 09:39:45.118 28473 28500 I Unity : UIGameTile Start: SpriteRenderer=True, NumberText=True
11-21 09:39:45.118 28473 28500 I Unity : SetTileData called with: Yellow 16, Color enum: 0
11-21 09:39:45.118 28473 28500 I Unity : Updated _originalSprite to: TileGreen for Yellow
11-21 09:39:45.118 28473 28500 I Unity : Before UpdateVisualRepresentation: _color=Yellow (enum: 0), GameTileSprites=4
11-21 09:39:45.119 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=16, Color=Yellow, NumberText null: False
11-21 09:39:45.119 28473 28500 I Unity : Set tile text to: 16, text active: True
11-21 09:39:45.119 28473 28500 I Unity : Set sprite renderer sprite to: TileGreen for color Yellow (index 0)
11-21 09:39:45.119 28473 28500 I Unity : Tile 0 set to Yellow 16
11-21 09:39:45.119 28473 28500 I Unity : Tile 0 number text visibility set to: True (faceDown: False)
11-21 09:39:45.119 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=16, Color=Yellow, NumberText null: False
11-21 09:39:45.119 28473 28500 I Unity : Set tile text to: 16, text active: True
11-21 09:39:45.120 28473 28500 I Unity : Set sprite renderer sprite to: TileGreen for color Yellow (index 0)
11-21 09:39:45.120 28473 28500 I Unity : Tile 0 set to face-up
11-21 09:39:45.120 28473 28500 I Unity : Tile 16: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:45.120 28473 28500 I Unity : Created temporary drawn tile Yellow 16 for opponent Player 1
11-21 09:39:45.120 28473 28500 I Unity : UpdateDiscardCount called with: 0
11-21 09:39:45.120 28473 28500 I Unity : Set discard count text to: 0
11-21 09:39:45.120 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=False, HasUnplacedTile=True, TestModeAllAI=False
11-21 09:39:45.120 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:39:45.121 28473 28500 W Unity : Tile 11: SetInteractable(False) - No Collider2D found!
11-21 09:39:45.121 28473 28500 W Unity : Tile 20: SetInteractable(False) - No Collider2D found!
11-21 09:39:45.121 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:39:45.121 28473 28500 W Unity : Tile 12: SetInteractable(False) - No Collider2D found!
11-21 09:39:45.121 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:39:45.121 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:39:45.121 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:39:45.121 28473 28500 W Unity : Tile 13: SetInteractable(False) - No Collider2D found!
11-21 09:39:45.121 28473 28500 W Unity : Tile 7: SetInteractable(False) - No Collider2D found!
11-21 09:39:45.121 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:39:45.121 28473 28500 W Unity : Tile 16: SetInteractable(False) - No Collider2D found!
11-21 09:39:45.122 28473 28500 I Unity : UIDiscardDeck interactability set to: False
11-21 09:39:45.122 28473 28500 I Unity : Tile 2: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:45.122 28473 28500 I Unity : Tile 7: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:45.122 28473 28500 I Unity : Tile 3: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:45.122 28473 28500 I Unity : Tile 10: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:45.122 28473 28500 I Unity : Tile 12: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:45.122 28473 28500 I Unity : Tile 14: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:45.122 28473 28500 I Unity : Tile 13: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:45.122 28473 28500 I Unity : Tile 17: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:45.123 28473 28500 I Unity : Player 1 placed tiles interactivity set to: False
11-21 09:39:45.123 28473 28500 I Unity : Interactability updated for player 1
11-21 09:39:45.123 28473 28500 I Unity : Checking replacement: tile 16 replacing 2 at (0,0)
11-21 09:39:45.123 28473 28500 I Unity : Board state - Row 0: [2, 0, 7, 0]
11-21 09:39:45.123 28473 28500 I Unity : Board state - Col 0: [2, 0, 0, 0]
11-21 09:39:45.123 28473 28500 I Unity : Row check: tile 7 at (0,2) to right of 16 at (0,0)
11-21 09:39:45.123 28473 28500 I Unity : ✗ Row constraint failed: 7 <= 16
11-21 09:39:45.123 28473 28500 I Unity : Replacement validation: row=False, col=True
11-21 09:39:45.123 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 16 at (0, 1) failed constraints: row=False, col=False
11-21 09:39:45.123 28473 28500 I Unity : Checking replacement: tile 16 replacing 7 at (0,2)
11-21 09:39:45.124 28473 28500 I Unity : Board state - Row 0: [2, 0, 7, 0]
11-21 09:39:45.124 28473 28500 I Unity : Board state - Col 2: [7, 10, 14, 0]
11-21 09:39:45.124 28473 28500 I Unity : Row check: tile 2 at (0,0) to left of 16 at (0,2)
11-21 09:39:45.124 28473 28500 I Unity : Col check: tile 10 at (1,2) below 16 at (0,2)
11-21 09:39:45.124 28473 28500 I Unity : ✗ Column constraint failed: 10 <= 16
11-21 09:39:45.124 28473 28500 I Unity : Replacement validation: row=True, col=False
11-21 09:39:45.124 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 16 at (0, 3) is VALID
11-21 09:39:45.124 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 16 at (1, 0) failed constraints: row=False, col=True
11-21 09:39:45.124 28473 28500 I Unity : Checking replacement: tile 16 replacing 3 at (1,1)
11-21 09:39:45.124 28473 28500 I Unity : Board state - Row 1: [0, 3, 10, 0]
11-21 09:39:45.124 28473 28500 I Unity : Board state - Col 1: [0, 3, 12, 13]
11-21 09:39:45.125 28473 28500 I Unity : Row check: tile 10 at (1,2) to right of 16 at (1,1)
11-21 09:39:45.125 28473 28500 I Unity : ✗ Row constraint failed: 10 <= 16
11-21 09:39:45.125 28473 28500 I Unity : Col check: tile 12 at (2,1) below 16 at (1,1)
11-21 09:39:45.125 28473 28500 I Unity : ✗ Column constraint failed: 12 <= 16
11-21 09:39:45.125 28473 28500 I Unity : Replacement validation: row=False, col=False
11-21 09:39:45.125 28473 28500 I Unity : Checking replacement: tile 16 replacing 10 at (1,2)
11-21 09:39:45.125 28473 28500 I Unity : Board state - Row 1: [0, 3, 10, 0]
11-21 09:39:45.125 28473 28500 I Unity : Board state - Col 2: [7, 10, 14, 0]
11-21 09:39:45.125 28473 28500 I Unity : Row check: tile 3 at (1,1) to left of 16 at (1,2)
11-21 09:39:45.125 28473 28500 I Unity : Col check: tile 7 at (0,2) above 16 at (1,2)
11-21 09:39:45.125 28473 28500 I Unity : Col check: tile 14 at (2,2) below 16 at (1,2)
11-21 09:39:45.126 28473 28500 I Unity : ✗ Column constraint failed: 14 <= 16
11-21 09:39:45.126 28473 28500 I Unity : Replacement validation: row=True, col=False
11-21 09:39:45.126 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 16 at (1, 3) is VALID
11-21 09:39:45.126 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 16 at (2, 0) failed constraints: row=False, col=True
11-21 09:39:45.126 28473 28500 I Unity : Checking replacement: tile 16 replacing 12 at (2,1)
11-21 09:39:45.126 28473 28500 I Unity : Board state - Row 2: [0, 12, 14, 0]
11-21 09:39:45.126 28473 28500 I Unity : Board state - Col 1: [0, 3, 12, 13]
11-21 09:39:45.126 28473 28500 I Unity : Row check: tile 14 at (2,2) to right of 16 at (2,1)
11-21 09:39:45.126 28473 28500 I Unity : ✗ Row constraint failed: 14 <= 16
11-21 09:39:45.126 28473 28500 I Unity : Col check: tile 3 at (1,1) above 16 at (2,1)
11-21 09:39:45.127 28473 28500 I Unity : Col check: tile 13 at (3,1) below 16 at (2,1)
11-21 09:39:45.127 28473 28500 I Unity : ✗ Column constraint failed: 13 <= 16
11-21 09:39:45.127 28473 28500 I Unity : Replacement validation: row=False, col=False
11-21 09:39:45.127 28473 28500 I Unity : Checking replacement: tile 16 replacing 14 at (2,2)
11-21 09:39:45.127 28473 28500 I Unity : Board state - Row 2: [0, 12, 14, 0]
11-21 09:39:45.127 28473 28500 I Unity : Board state - Col 2: [7, 10, 14, 0]
11-21 09:39:45.127 28473 28500 I Unity : Row check: tile 12 at (2,1) to left of 16 at (2,2)
11-21 09:39:45.127 28473 28500 I Unity : Col check: tile 10 at (1,2) above 16 at (2,2)
11-21 09:39:45.127 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:39:45.127 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 16 at (2, 3) is VALID
11-21 09:39:45.128 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 16 at (3, 0) failed constraints: row=False, col=True
11-21 09:39:45.128 28473 28500 I Unity : Checking replacement: tile 16 replacing 13 at (3,1)
11-21 09:39:45.128 28473 28500 I Unity : Board state - Row 3: [0, 13, 0, 17]
11-21 09:39:45.128 28473 28500 I Unity : Board state - Col 1: [0, 3, 12, 13]
11-21 09:39:45.128 28473 28500 I Unity : Row check: tile 17 at (3,3) to right of 16 at (3,1)
11-21 09:39:45.128 28473 28500 I Unity : Col check: tile 12 at (2,1) above 16 at (3,1)
11-21 09:39:45.128 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:39:45.128 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 16 at (3, 2) is VALID
11-21 09:39:45.128 28473 28500 I Unity : Checking replacement: tile 16 replacing 17 at (3,3)
11-21 09:39:45.128 28473 28500 I Unity : Board state - Row 3: [0, 13, 0, 17]
11-21 09:39:45.129 28473 28500 I Unity : Board state - Col 3: [0, 0, 0, 17]
11-21 09:39:45.129 28473 28500 I Unity : Row check: tile 13 at (3,1) to left of 16 at (3,3)
11-21 09:39:45.129 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:39:45.129 28473 28500 I Unity : Found 7 valid placements for tile Yellow 16
11-21 09:39:45.129 28473 28500 I Unity : Valid placements changed: 7 positions
11-21 09:39:45.129 28473 28500 I Unity : Highlighted 7 valid placements for Player 1
11-21 09:39:45.129 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (0, 0) already occupied by 2
11-21 09:39:45.129 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 16 at (0, 1) failed constraints: row=False, col=False
11-21 09:39:45.129 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (0, 2) already occupied by 7
11-21 09:39:45.130 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 16 at (0, 3) is VALID
11-21 09:39:45.130 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 16 at (1, 0) failed constraints: row=False, col=True
11-21 09:39:45.130 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (1, 1) already occupied by 3
11-21 09:39:45.130 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (1, 2) already occupied by 10
11-21 09:39:45.130 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 16 at (1, 3) is VALID
11-21 09:39:45.130 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 16 at (2, 0) failed constraints: row=False, col=True
11-21 09:39:45.130 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (2, 1) already occupied by 12
11-21 09:39:45.130 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (2, 2) already occupied by 14
11-21 09:39:45.130 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 16 at (2, 3) is VALID
11-21 09:39:45.130 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 16 at (3, 0) failed constraints: row=False, col=True
11-21 09:39:45.130 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (3, 1) already occupied by 13
11-21 09:39:45.131 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 16 at (3, 2) is VALID
11-21 09:39:45.131 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (3, 3) already occupied by 17
11-21 09:39:45.131 28473 28500 I Unity : Checking replacement: tile 16 replacing 2 at (0,0)
11-21 09:39:45.131 28473 28500 I Unity : Board state - Row 0: [2, 0, 7, 0]
11-21 09:39:45.131 28473 28500 I Unity : Board state - Col 0: [2, 0, 0, 0]
11-21 09:39:45.131 28473 28500 I Unity : Row check: tile 7 at (0,2) to right of 16 at (0,0)
11-21 09:39:45.131 28473 28500 I Unity : ✗ Row constraint failed: 7 <= 16
11-21 09:39:45.131 28473 28500 I Unity : Replacement validation: row=False, col=True
11-21 09:39:45.131 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 16 at (0, 1) failed constraints: row=False, col=False
11-21 09:39:45.131 28473 28500 I Unity : Checking replacement: tile 16 replacing 7 at (0,2)
11-21 09:39:45.131 28473 28500 I Unity : Board state - Row 0: [2, 0, 7, 0]
11-21 09:39:45.131 28473 28500 I Unity : Board state - Col 2: [7, 10, 14, 0]
11-21 09:39:45.132 28473 28500 I Unity : Row check: tile 2 at (0,0) to left of 16 at (0,2)
11-21 09:39:45.132 28473 28500 I Unity : Col check: tile 10 at (1,2) below 16 at (0,2)
11-21 09:39:45.132 28473 28500 I Unity : ✗ Column constraint failed: 10 <= 16
11-21 09:39:45.132 28473 28500 I Unity : Replacement validation: row=True, col=False
11-21 09:39:45.132 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 16 at (0, 3) is VALID
11-21 09:39:45.132 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 16 at (1, 0) failed constraints: row=False, col=True
11-21 09:39:45.132 28473 28500 I Unity : Checking replacement: tile 16 replacing 3 at (1,1)
11-21 09:39:45.132 28473 28500 I Unity : Board state - Row 1: [0, 3, 10, 0]
11-21 09:39:45.132 28473 28500 I Unity : Board state - Col 1: [0, 3, 12, 13]
11-21 09:39:45.132 28473 28500 I Unity : Row check: tile 10 at (1,2) to right of 16 at (1,1)
11-21 09:39:45.132 28473 28500 I Unity : ✗ Row constraint failed: 10 <= 16
11-21 09:39:45.133 28473 28500 I Unity : Col check: tile 12 at (2,1) below 16 at (1,1)
11-21 09:39:45.133 28473 28500 I Unity : ✗ Column constraint failed: 12 <= 16
11-21 09:39:45.133 28473 28500 I Unity : Replacement validation: row=False, col=False
11-21 09:39:45.133 28473 28500 I Unity : Checking replacement: tile 16 replacing 10 at (1,2)
11-21 09:39:45.133 28473 28500 I Unity : Board state - Row 1: [0, 3, 10, 0]
11-21 09:39:45.133 28473 28500 I Unity : Board state - Col 2: [7, 10, 14, 0]
11-21 09:39:45.133 28473 28500 I Unity : Row check: tile 3 at (1,1) to left of 16 at (1,2)
11-21 09:39:45.133 28473 28500 I Unity : Col check: tile 7 at (0,2) above 16 at (1,2)
11-21 09:39:45.133 28473 28500 I Unity : Col check: tile 14 at (2,2) below 16 at (1,2)
11-21 09:39:45.133 28473 28500 I Unity : ✗ Column constraint failed: 14 <= 16
11-21 09:39:45.133 28473 28500 I Unity : Replacement validation: row=True, col=False
11-21 09:39:45.134 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 16 at (1, 3) is VALID
11-21 09:39:45.134 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 16 at (2, 0) failed constraints: row=False, col=True
11-21 09:39:45.134 28473 28500 I Unity : Checking replacement: tile 16 replacing 12 at (2,1)
11-21 09:39:45.134 28473 28500 I Unity : Board state - Row 2: [0, 12, 14, 0]
11-21 09:39:45.134 28473 28500 I Unity : Board state - Col 1: [0, 3, 12, 13]
11-21 09:39:45.134 28473 28500 I Unity : Row check: tile 14 at (2,2) to right of 16 at (2,1)
11-21 09:39:45.134 28473 28500 I Unity : ✗ Row constraint failed: 14 <= 16
11-21 09:39:45.134 28473 28500 I Unity : Col check: tile 3 at (1,1) above 16 at (2,1)
11-21 09:39:45.134 28473 28500 I Unity : Col check: tile 13 at (3,1) below 16 at (2,1)
11-21 09:39:45.134 28473 28500 I Unity : ✗ Column constraint failed: 13 <= 16
11-21 09:39:45.134 28473 28500 I Unity : Replacement validation: row=False, col=False
11-21 09:39:45.134 28473 28500 I Unity : Checking replacement: tile 16 replacing 14 at (2,2)
11-21 09:39:45.135 28473 28500 I Unity : Board state - Row 2: [0, 12, 14, 0]
11-21 09:39:45.135 28473 28500 I Unity : Board state - Col 2: [7, 10, 14, 0]
11-21 09:39:45.135 28473 28500 I Unity : Row check: tile 12 at (2,1) to left of 16 at (2,2)
11-21 09:39:45.135 28473 28500 I Unity : Col check: tile 10 at (1,2) above 16 at (2,2)
11-21 09:39:45.135 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:39:45.135 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 16 at (2, 3) is VALID
11-21 09:39:45.135 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 16 at (3, 0) failed constraints: row=False, col=True
11-21 09:39:45.135 28473 28500 I Unity : Checking replacement: tile 16 replacing 13 at (3,1)
11-21 09:39:45.135 28473 28500 I Unity : Board state - Row 3: [0, 13, 0, 17]
11-21 09:39:45.135 28473 28500 I Unity : Board state - Col 1: [0, 3, 12, 13]
11-21 09:39:45.135 28473 28500 I Unity : Row check: tile 17 at (3,3) to right of 16 at (3,1)
11-21 09:39:45.136 28473 28500 I Unity : Col check: tile 12 at (2,1) above 16 at (3,1)
11-21 09:39:45.136 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:39:45.136 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 16 at (3, 2) is VALID
11-21 09:39:45.136 28473 28500 I Unity : Checking replacement: tile 16 replacing 17 at (3,3)
11-21 09:39:45.136 28473 28500 I Unity : Board state - Row 3: [0, 13, 0, 17]
11-21 09:39:45.136 28473 28500 I Unity : Board state - Col 3: [0, 0, 0, 17]
11-21 09:39:45.136 28473 28500 I Unity : Row check: tile 13 at (3,1) to left of 16 at (3,3)
11-21 09:39:45.136 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:39:45.136 28473 28500 I Unity : Prefer empty-cell over replacement | emptyPolicy=2.00, replPolicy=0.17, penalty=0.30
11-21 09:39:45.137 28473 28500 I Unity : Chose empty-cell placement over replacement | emptyScore=2.00, replaceScore=0.17
11-21 09:39:45.137 28473 28500 I Unity : AI Player 1 placing tile at (2, 3)
11-21 09:39:45.137 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 16 at (3, 2) is VALID
11-21 09:39:45.137 28473 28500 I Unity : [PlayerBoard] Player 1 placed tile 16 at (3, 2) | Board now: 9/16 filled
11-21 09:39:45.137 28473 28500 I Unity : [PLACEMENT] ✓ Player 1 placed Yellow 16 at (3, 2) | Board: 9/16 filled | Remaining draw: 45
11-21 09:39:45.137 28473 28500 I Unity : Player 1 Board (9/16 filled):
11-21 09:39:45.137 28473 28500 I Unity : 02 -- 07 --
11-21 09:39:45.137 28473 28500 I Unity : -- 03 10 --
11-21 09:39:45.138 28473 28500 I Unity : -- 12 14 --
11-21 09:39:45.138 28473 28500 I Unity : -- 13 16 17
11-21 09:39:45.138 28473 28500 I Unity : Tile placed: Player 1 placed Yellow 16 at (3, 2)
11-21 09:39:45.138 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=False, HasUnplacedTile=True, TestModeAllAI=False
11-21 09:39:45.138 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:39:45.138 28473 28500 W Unity : Tile 11: SetInteractable(False) - No Collider2D found!
11-21 09:39:45.138 28473 28500 W Unity : Tile 20: SetInteractable(False) - No Collider2D found!
11-21 09:39:45.139 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:39:45.139 28473 28500 W Unity : Tile 12: SetInteractable(False) - No Collider2D found!
11-21 09:39:45.139 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:39:45.139 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:39:45.139 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:39:45.139 28473 28500 W Unity : Tile 13: SetInteractable(False) - No Collider2D found!
11-21 09:39:45.139 28473 28500 W Unity : Tile 7: SetInteractable(False) - No Collider2D found!
11-21 09:39:45.139 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:39:45.139 28473 28500 W Unity : Tile 16: SetInteractable(False) - No Collider2D found!
11-21 09:39:45.139 28473 28500 I Unity : UIDiscardDeck interactability set to: False
11-21 09:39:45.139 28473 28500 I Unity : Tile 2: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:45.140 28473 28500 I Unity : Tile 7: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:45.140 28473 28500 I Unity : Tile 3: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:45.140 28473 28500 I Unity : Tile 10: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:45.140 28473 28500 I Unity : Tile 12: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:45.140 28473 28500 I Unity : Tile 14: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:45.140 28473 28500 I Unity : Tile 13: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:45.140 28473 28500 I Unity : Tile 17: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:45.140 28473 28500 I Unity : Player 1 placed tiles interactivity set to: False
11-21 09:39:45.140 28473 28500 I Unity : Interactability updated for player 1
11-21 09:39:45.140 28473 28500 I Unity : Valid placements changed: 0 positions
11-21 09:39:45.141 28473 28500 I Unity : Highlighted 0 valid placements for Player 1
11-21 09:39:45.141 28473 28500 I Unity : ═══════════════════════════════════════════════════════
11-21 09:39:45.141 28473 28500 I Unity : TURN CHANGE: Player 1 → Player 2
11-21 09:39:45.141 28473 28500 I Unity : Turn #9 | Tiles Remaining: 45 | Discard Pile: 0
11-21 09:39:45.141 28473 28500 I Unity : ═══════════════════════════════════════════════════════
11-21 09:39:45.141 28473 28500 I Unity : Game state changed: Game State: Playing, Turn 9, Player 2, Draw: 45, Discard: 0
11-21 09:39:45.141 28473 28500 I Unity : Updating deck UI with remaining count: 45
11-21 09:39:45.141 28473 28500 I Unity : UpdateRemainingCount called with: 45
11-21 09:39:45.142 28473 28500 I Unity : Set deck count text to: 45
11-21 09:39:45.142 28473 28500 I Unity : Game UI updated
11-21 09:39:45.142 28473 28500 I Unity : Player turn changed to Player 2
11-21 09:39:45.142 28473 28500 I Unity : Player 0 current player status: False
11-21 09:39:45.142 28473 28500 I Unity : Player 1 current player status: False
11-21 09:39:45.142 28473 28500 I Unity : Player 2 current player status: True
11-21 09:39:45.143 28473 28500 I Unity : Player 3 current player status: False
11-21 09:39:45.143 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=False, HasUnplacedTile=False, TestModeAllAI=False
11-21 09:39:45.143 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:39:45.143 28473 28500 W Unity : Tile 11: SetInteractable(False) - No Collider2D found!
11-21 09:39:45.143 28473 28500 W Unity : Tile 20: SetInteractable(False) - No Collider2D found!
11-21 09:39:45.143 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:39:45.143 28473 28500 W Unity : Tile 12: SetInteractable(False) - No Collider2D found!
11-21 09:39:45.143 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:39:45.143 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:39:45.143 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:39:45.144 28473 28500 W Unity : Tile 13: SetInteractable(False) - No Collider2D found!
11-21 09:39:45.144 28473 28500 W Unity : Tile 7: SetInteractable(False) - No Collider2D found!
11-21 09:39:45.144 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:39:45.144 28473 28500 W Unity : Tile 16: SetInteractable(False) - No Collider2D found!
11-21 09:39:45.144 28473 28500 I Unity : UIDiscardDeck interactability set to: False
11-21 09:39:45.144 28473 28500 I Unity : Tile 1: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:45.144 28473 28500 I Unity : Tile 4: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:45.144 28473 28500 I Unity : Tile 10: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:45.144 28473 28500 I Unity : Tile 8: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:45.144 28473 28500 I Unity : Tile 11: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:45.144 28473 28500 I Unity : Tile 12: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:45.145 28473 28500 I Unity : Tile 14: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:45.145 28473 28500 I Unity : Tile 15: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:45.145 28473 28500 I Unity : Player 2 placed tiles interactivity set to: False
11-21 09:39:45.145 28473 28500 I Unity : Interactability updated for player 2
11-21 09:39:45.145 28473 28500 I Unity : Starting AI turn for Player 2
11-21 09:39:45.145 28473 28500 I Unity : Tile 7: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:45.610 28473 28500 I Unity : Tile 0 animation to (-4.48, 5.22, 0.00) complete
11-21 09:39:45.611 28473 28500 I Unity : Tile 14 number text visibility set to: True (faceDown: False)
11-21 09:39:45.611 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=16, Color=Yellow, NumberText null: False
11-21 09:39:45.611 28473 28500 I Unity : Set tile text to: 16, text active: True
11-21 09:39:45.611 28473 28500 I Unity : Set sprite renderer sprite to: TileGreen for color Yellow (index 0)
11-21 09:39:45.611 28473 28500 I Unity : Tile 14 set to face-up
11-21 09:39:45.612 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=16, Color=Yellow, NumberText null: False
11-21 09:39:45.612 28473 28500 I Unity : Set tile text to: 16, text active: True
11-21 09:39:45.612 28473 28500 I Unity : Set sprite renderer sprite to: TileGreen for color Yellow (index 0)
11-21 09:39:45.612 28473 28500 I Unity : Placed tile 16 on grid cell 14 at (2.00, 3.00)
11-21 09:39:45.612 28473 28500 I Unity : Animated opponent tile placement for Player 1 at (2, 3) (board scale: (0.50, 0.50, 1.00))
11-21 09:39:45.612 28473 28500 I Unity : AI Player 1 turn completed
11-21 09:39:45.612 28473 28500 I Unity : AI turn completed for Player 1
11-21 09:39:46.110 28473 28500 I Unity : AI Player 2 (MethodicalPlanner) starting turn...
11-21 09:39:49.317 28473 28500 I Unity : AI Player 2 decision: DrawFaceDown - Draw face-down tile - unknown potential (Score: 0.96)
11-21 09:39:49.318 28473 28500 I Unity : AI Player 2 drawing from face-down pile
11-21 09:39:49.318 28473 28500 I Unity : Drew tile: Purple 4 (44 tiles remaining)
11-21 09:39:49.318 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (0, 0) already occupied by 1
11-21 09:39:49.318 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (0, 1) failed constraints: row=True, col=False
11-21 09:39:49.318 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (0, 2) is VALID
11-21 09:39:49.318 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (0, 3) is VALID
11-21 09:39:49.318 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (1, 0) failed constraints: row=False, col=True
11-21 09:39:49.318 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (1, 1) already occupied by 4
11-21 09:39:49.318 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (1, 2) already occupied by 10
11-21 09:39:49.318 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (1, 3) failed constraints: row=False, col=True
11-21 09:39:49.318 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (2, 0) is VALID
11-21 09:39:49.318 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (2, 1) already occupied by 8
11-21 09:39:49.319 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (2, 2) already occupied by 11
11-21 09:39:49.319 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (2, 3) already occupied by 12
11-21 09:39:49.319 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (3, 0) is VALID
11-21 09:39:49.319 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (3, 1) failed constraints: row=True, col=False
11-21 09:39:49.319 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (3, 2) already occupied by 14
11-21 09:39:49.319 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (3, 3) already occupied by 15
11-21 09:39:49.319 28473 28500 I Unity : → Player 2 drew tile: Purple 4 from DrawPile | Valid placements: 4
11-21 09:39:49.319 28473 28500 I Unity : Tile drawn: Player 2 drew Purple 4
11-21 09:39:49.320 28473 28500 I Unity : UIGameTile Start: SpriteRenderer=True, NumberText=True
11-21 09:39:49.321 28473 28500 I Unity : SetTileData called with: Purple 4, Color enum: 2
11-21 09:39:49.321 28473 28500 I Unity : Updated _originalSprite to: TileRed for Purple
11-21 09:39:49.321 28473 28500 I Unity : Before UpdateVisualRepresentation: _color=Purple (enum: 2), GameTileSprites=4
11-21 09:39:49.321 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=4, Color=Purple, NumberText null: False
11-21 09:39:49.321 28473 28500 I Unity : Set tile text to: 4, text active: True
11-21 09:39:49.322 28473 28500 I Unity : Set sprite renderer sprite to: TileRed for color Purple (index 2)
11-21 09:39:49.322 28473 28500 I Unity : Tile 0 set to Purple 4
11-21 09:39:49.322 28473 28500 I Unity : Tile 0 number text visibility set to: True (faceDown: False)
11-21 09:39:49.322 28473 28500 I Unity : UpdateVisualRepresentation: TileNumber=4, Color=Purple, NumberText null: False
11-21 09:39:49.322 28473 28500 I Unity : Set tile text to: 4, text active: True
11-21 09:39:49.322 28473 28500 I Unity : Set sprite renderer sprite to: TileRed for color Purple (index 2)
11-21 09:39:49.322 28473 28500 I Unity : Tile 0 set to face-up
11-21 09:39:49.322 28473 28500 I Unity : Tile 4: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:49.323 28473 28500 I Unity : Created temporary drawn tile Purple 4 for opponent Player 2
11-21 09:39:49.323 28473 28500 I Unity : UpdateDiscardCount called with: 0
11-21 09:39:49.323 28473 28500 I Unity : Set discard count text to: 0
11-21 09:39:49.323 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=False, HasUnplacedTile=True, TestModeAllAI=False
11-21 09:39:49.323 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:39:49.323 28473 28500 W Unity : Tile 11: SetInteractable(False) - No Collider2D found!
11-21 09:39:49.323 28473 28500 W Unity : Tile 20: SetInteractable(False) - No Collider2D found!
11-21 09:39:49.324 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:39:49.324 28473 28500 W Unity : Tile 12: SetInteractable(False) - No Collider2D found!
11-21 09:39:49.324 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:39:49.324 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:39:49.324 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:39:49.324 28473 28500 W Unity : Tile 13: SetInteractable(False) - No Collider2D found!
11-21 09:39:49.324 28473 28500 W Unity : Tile 7: SetInteractable(False) - No Collider2D found!
11-21 09:39:49.324 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:39:49.324 28473 28500 W Unity : Tile 16: SetInteractable(False) - No Collider2D found!
11-21 09:39:49.325 28473 28500 I Unity : UIDiscardDeck interactability set to: False
11-21 09:39:49.325 28473 28500 I Unity : Tile 1: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:49.325 28473 28500 I Unity : Tile 4: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:49.325 28473 28500 I Unity : Tile 10: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:49.325 28473 28500 I Unity : Tile 8: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:49.325 28473 28500 I Unity : Tile 11: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:49.325 28473 28500 I Unity : Tile 12: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:49.325 28473 28500 I Unity : Tile 14: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:49.326 28473 28500 I Unity : Tile 15: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:49.326 28473 28500 I Unity : Player 2 placed tiles interactivity set to: False
11-21 09:39:49.326 28473 28500 I Unity : Interactability updated for player 2
11-21 09:39:49.326 28473 28500 I Unity : Checking replacement: tile 4 replacing 1 at (0,0)
11-21 09:39:49.326 28473 28500 I Unity : Board state - Row 0: [1, 0, 0, 0]
11-21 09:39:49.326 28473 28500 I Unity : Board state - Col 0: [1, 0, 0, 0]
11-21 09:39:49.326 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:39:49.326 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (0, 1) failed constraints: row=True, col=False
11-21 09:39:49.327 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (0, 2) is VALID
11-21 09:39:49.327 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (0, 3) is VALID
11-21 09:39:49.327 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (1, 0) failed constraints: row=False, col=True
11-21 09:39:49.327 28473 28500 I Unity : Checking replacement: tile 4 replacing 4 at (1,1)
11-21 09:39:49.327 28473 28500 I Unity : Board state - Row 1: [0, 4, 10, 0]
11-21 09:39:49.327 28473 28500 I Unity : Board state - Col 1: [0, 4, 8, 0]
11-21 09:39:49.327 28473 28500 I Unity : Row check: tile 10 at (1,2) to right of 4 at (1,1)
11-21 09:39:49.327 28473 28500 I Unity : Col check: tile 8 at (2,1) below 4 at (1,1)
11-21 09:39:49.328 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:39:49.328 28473 28500 I Unity : Checking replacement: tile 4 replacing 10 at (1,2)
11-21 09:39:49.328 28473 28500 I Unity : Board state - Row 1: [0, 4, 10, 0]
11-21 09:39:49.328 28473 28500 I Unity : Board state - Col 2: [0, 10, 11, 14]
11-21 09:39:49.328 28473 28500 I Unity : Row check: tile 4 at (1,1) to left of 4 at (1,2)
11-21 09:39:49.328 28473 28500 I Unity : ✗ Row constraint failed: 4 >= 4
11-21 09:39:49.328 28473 28500 I Unity : Col check: tile 11 at (2,2) below 4 at (1,2)
11-21 09:39:49.328 28473 28500 I Unity : Replacement validation: row=False, col=True
11-21 09:39:49.328 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (1, 3) failed constraints: row=False, col=True
11-21 09:39:49.329 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (2, 0) is VALID
11-21 09:39:49.329 28473 28500 I Unity : Checking replacement: tile 4 replacing 8 at (2,1)
11-21 09:39:49.329 28473 28500 I Unity : Board state - Row 2: [0, 8, 11, 12]
11-21 09:39:49.329 28473 28500 I Unity : Board state - Col 1: [0, 4, 8, 0]
11-21 09:39:49.329 28473 28500 I Unity : Row check: tile 11 at (2,2) to right of 4 at (2,1)
11-21 09:39:49.329 28473 28500 I Unity : Col check: tile 4 at (1,1) above 4 at (2,1)
11-21 09:39:49.329 28473 28500 I Unity : ✗ Column constraint failed: 4 >= 4
11-21 09:39:49.329 28473 28500 I Unity : Replacement validation: row=True, col=False
11-21 09:39:49.330 28473 28500 I Unity : Checking replacement: tile 4 replacing 11 at (2,2)
11-21 09:39:49.330 28473 28500 I Unity : Board state - Row 2: [0, 8, 11, 12]
11-21 09:39:49.330 28473 28500 I Unity : Board state - Col 2: [0, 10, 11, 14]
11-21 09:39:49.330 28473 28500 I Unity : Row check: tile 8 at (2,1) to left of 4 at (2,2)
11-21 09:39:49.330 28473 28500 I Unity : ✗ Row constraint failed: 8 >= 4
11-21 09:39:49.330 28473 28500 I Unity : Col check: tile 10 at (1,2) above 4 at (2,2)
11-21 09:39:49.330 28473 28500 I Unity : ✗ Column constraint failed: 10 >= 4
11-21 09:39:49.331 28473 28500 I Unity : Replacement validation: row=False, col=False
11-21 09:39:49.331 28473 28500 I Unity : Checking replacement: tile 4 replacing 12 at (2,3)
11-21 09:39:49.331 28473 28500 I Unity : Board state - Row 2: [0, 8, 11, 12]
11-21 09:39:49.331 28473 28500 I Unity : Board state - Col 3: [0, 0, 12, 15]
11-21 09:39:49.331 28473 28500 I Unity : Row check: tile 11 at (2,2) to left of 4 at (2,3)
11-21 09:39:49.331 28473 28500 I Unity : ✗ Row constraint failed: 11 >= 4
11-21 09:39:49.331 28473 28500 I Unity : Col check: tile 15 at (3,3) below 4 at (2,3)
11-21 09:39:49.331 28473 28500 I Unity : Replacement validation: row=False, col=True
11-21 09:39:49.332 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (3, 0) is VALID
11-21 09:39:49.332 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (3, 1) failed constraints: row=True, col=False
11-21 09:39:49.332 28473 28500 I Unity : Checking replacement: tile 4 replacing 14 at (3,2)
11-21 09:39:49.332 28473 28500 I Unity : Board state - Row 3: [0, 0, 14, 15]
11-21 09:39:49.332 28473 28500 I Unity : Board state - Col 2: [0, 10, 11, 14]
11-21 09:39:49.332 28473 28500 I Unity : Row check: tile 15 at (3,3) to right of 4 at (3,2)
11-21 09:39:49.332 28473 28500 I Unity : Col check: tile 11 at (2,2) above 4 at (3,2)
11-21 09:39:49.332 28473 28500 I Unity : ✗ Column constraint failed: 11 >= 4
11-21 09:39:49.333 28473 28500 I Unity : Replacement validation: row=True, col=False
11-21 09:39:49.333 28473 28500 I Unity : Checking replacement: tile 4 replacing 15 at (3,3)
11-21 09:39:49.333 28473 28500 I Unity : Board state - Row 3: [0, 0, 14, 15]
11-21 09:39:49.333 28473 28500 I Unity : Board state - Col 3: [0, 0, 12, 15]
11-21 09:39:49.333 28473 28500 I Unity : Row check: tile 14 at (3,2) to left of 4 at (3,3)
11-21 09:39:49.333 28473 28500 I Unity : ✗ Row constraint failed: 14 >= 4
11-21 09:39:49.333 28473 28500 I Unity : Col check: tile 12 at (2,3) above 4 at (3,3)
11-21 09:39:49.334 28473 28500 I Unity : ✗ Column constraint failed: 12 >= 4
11-21 09:39:49.334 28473 28500 I Unity : Replacement validation: row=False, col=False
11-21 09:39:49.334 28473 28500 I Unity : Found 6 valid placements for tile Purple 4
11-21 09:39:49.334 28473 28500 I Unity : Valid placements changed: 6 positions
11-21 09:39:49.334 28473 28500 I Unity : Highlighted 6 valid placements for Player 2
11-21 09:39:50.318 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (0, 0) already occupied by 1
11-21 09:39:50.319 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (0, 1) failed constraints: row=True, col=False
11-21 09:39:50.319 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (0, 2) is VALID
11-21 09:39:50.319 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (0, 3) is VALID
11-21 09:39:50.319 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (1, 0) failed constraints: row=False, col=True
11-21 09:39:50.319 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (1, 1) already occupied by 4
11-21 09:39:50.319 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (1, 2) already occupied by 10
11-21 09:39:50.319 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (1, 3) failed constraints: row=False, col=True
11-21 09:39:50.319 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (2, 0) is VALID
11-21 09:39:50.319 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (2, 1) already occupied by 8
11-21 09:39:50.320 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (2, 2) already occupied by 11
11-21 09:39:50.320 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (2, 3) already occupied by 12
11-21 09:39:50.320 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (3, 0) is VALID
11-21 09:39:50.320 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (3, 1) failed constraints: row=True, col=False
11-21 09:39:50.320 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (3, 2) already occupied by 14
11-21 09:39:50.320 28473 28500 I Unity : [BoardValidator] IsValidPlacement position (3, 3) already occupied by 15
11-21 09:39:50.320 28473 28500 I Unity : Checking replacement: tile 4 replacing 1 at (0,0)
11-21 09:39:50.320 28473 28500 I Unity : Board state - Row 0: [1, 0, 0, 0]
11-21 09:39:50.320 28473 28500 I Unity : Board state - Col 0: [1, 0, 0, 0]
11-21 09:39:50.320 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:39:50.320 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (0, 1) failed constraints: row=True, col=False
11-21 09:39:50.321 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (0, 2) is VALID
11-21 09:39:50.321 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (0, 3) is VALID
11-21 09:39:50.321 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (1, 0) failed constraints: row=False, col=True
11-21 09:39:50.321 28473 28500 I Unity : Checking replacement: tile 4 replacing 4 at (1,1)
11-21 09:39:50.321 28473 28500 I Unity : Board state - Row 1: [0, 4, 10, 0]
11-21 09:39:50.321 28473 28500 I Unity : Board state - Col 1: [0, 4, 8, 0]
11-21 09:39:50.321 28473 28500 I Unity : Row check: tile 10 at (1,2) to right of 4 at (1,1)
11-21 09:39:50.321 28473 28500 I Unity : Col check: tile 8 at (2,1) below 4 at (1,1)
11-21 09:39:50.321 28473 28500 I Unity : Replacement validation: row=True, col=True
11-21 09:39:50.321 28473 28500 I Unity : Checking replacement: tile 4 replacing 10 at (1,2)
11-21 09:39:50.322 28473 28500 I Unity : Board state - Row 1: [0, 4, 10, 0]
11-21 09:39:50.322 28473 28500 I Unity : Board state - Col 2: [0, 10, 11, 14]
11-21 09:39:50.322 28473 28500 I Unity : Row check: tile 4 at (1,1) to left of 4 at (1,2)
11-21 09:39:50.322 28473 28500 I Unity : ✗ Row constraint failed: 4 >= 4
11-21 09:39:50.322 28473 28500 I Unity : Col check: tile 11 at (2,2) below 4 at (1,2)
11-21 09:39:50.322 28473 28500 I Unity : Replacement validation: row=False, col=True
11-21 09:39:50.322 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (1, 3) failed constraints: row=False, col=True
11-21 09:39:50.322 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (2, 0) is VALID
11-21 09:39:50.322 28473 28500 I Unity : Checking replacement: tile 4 replacing 8 at (2,1)
11-21 09:39:50.322 28473 28500 I Unity : Board state - Row 2: [0, 8, 11, 12]
11-21 09:39:50.322 28473 28500 I Unity : Board state - Col 1: [0, 4, 8, 0]
11-21 09:39:50.323 28473 28500 I Unity : Row check: tile 11 at (2,2) to right of 4 at (2,1)
11-21 09:39:50.323 28473 28500 I Unity : Col check: tile 4 at (1,1) above 4 at (2,1)
11-21 09:39:50.323 28473 28500 I Unity : ✗ Column constraint failed: 4 >= 4
11-21 09:39:50.323 28473 28500 I Unity : Replacement validation: row=True, col=False
11-21 09:39:50.323 28473 28500 I Unity : Checking replacement: tile 4 replacing 11 at (2,2)
11-21 09:39:50.323 28473 28500 I Unity : Board state - Row 2: [0, 8, 11, 12]
11-21 09:39:50.323 28473 28500 I Unity : Board state - Col 2: [0, 10, 11, 14]
11-21 09:39:50.323 28473 28500 I Unity : Row check: tile 8 at (2,1) to left of 4 at (2,2)
11-21 09:39:50.323 28473 28500 I Unity : ✗ Row constraint failed: 8 >= 4
11-21 09:39:50.323 28473 28500 I Unity : Col check: tile 10 at (1,2) above 4 at (2,2)
11-21 09:39:50.324 28473 28500 I Unity : ✗ Column constraint failed: 10 >= 4
11-21 09:39:50.324 28473 28500 I Unity : Replacement validation: row=False, col=False
11-21 09:39:50.324 28473 28500 I Unity : Checking replacement: tile 4 replacing 12 at (2,3)
11-21 09:39:50.324 28473 28500 I Unity : Board state - Row 2: [0, 8, 11, 12]
11-21 09:39:50.324 28473 28500 I Unity : Board state - Col 3: [0, 0, 12, 15]
11-21 09:39:50.324 28473 28500 I Unity : Row check: tile 11 at (2,2) to left of 4 at (2,3)
11-21 09:39:50.324 28473 28500 I Unity : ✗ Row constraint failed: 11 >= 4
11-21 09:39:50.324 28473 28500 I Unity : Col check: tile 15 at (3,3) below 4 at (2,3)
11-21 09:39:50.324 28473 28500 I Unity : Replacement validation: row=False, col=True
11-21 09:39:50.324 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (3, 0) is VALID
11-21 09:39:50.324 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (3, 1) failed constraints: row=True, col=False
11-21 09:39:50.325 28473 28500 I Unity : Checking replacement: tile 4 replacing 14 at (3,2)
11-21 09:39:50.325 28473 28500 I Unity : Board state - Row 3: [0, 0, 14, 15]
11-21 09:39:50.325 28473 28500 I Unity : Board state - Col 2: [0, 10, 11, 14]
11-21 09:39:50.325 28473 28500 I Unity : Row check: tile 15 at (3,3) to right of 4 at (3,2)
11-21 09:39:50.325 28473 28500 I Unity : Col check: tile 11 at (2,2) above 4 at (3,2)
11-21 09:39:50.325 28473 28500 I Unity : ✗ Column constraint failed: 11 >= 4
11-21 09:39:50.325 28473 28500 I Unity : Replacement validation: row=True, col=False
11-21 09:39:50.325 28473 28500 I Unity : Checking replacement: tile 4 replacing 15 at (3,3)
11-21 09:39:50.325 28473 28500 I Unity : Board state - Row 3: [0, 0, 14, 15]
11-21 09:39:50.325 28473 28500 I Unity : Board state - Col 3: [0, 0, 12, 15]
11-21 09:39:50.326 28473 28500 I Unity : Row check: tile 14 at (3,2) to left of 4 at (3,3)
11-21 09:39:50.326 28473 28500 I Unity : ✗ Row constraint failed: 14 >= 4
11-21 09:39:50.326 28473 28500 I Unity : Col check: tile 12 at (2,3) above 4 at (3,3)
11-21 09:39:50.326 28473 28500 I Unity : ✗ Column constraint failed: 12 >= 4
11-21 09:39:50.326 28473 28500 I Unity : Replacement validation: row=False, col=False
11-21 09:39:50.326 28473 28500 I Unity : AI Player 2 placing tile at (2, 0)
11-21 09:39:50.326 28473 28500 I Unity : [BoardValidator] IsValidPlacement tile 4 at (0, 2) is VALID
11-21 09:39:50.326 28473 28500 I Unity : [PlayerBoard] Player 2 placed tile 04 at (0, 2) | Board now: 9/16 filled
11-21 09:39:50.327 28473 28500 I Unity : [PLACEMENT] ✓ Player 2 placed Purple 4 at (0, 2) | Board: 9/16 filled | Remaining draw: 44
11-21 09:39:50.327 28473 28500 I Unity : Player 2 Board (9/16 filled):
11-21 09:39:50.327 28473 28500 I Unity : 01 -- 04 --
11-21 09:39:50.327 28473 28500 I Unity : -- 04 10 --
11-21 09:39:50.327 28473 28500 I Unity : -- 08 11 12
11-21 09:39:50.327 28473 28500 I Unity : -- -- 14 15
11-21 09:39:50.327 28473 28500 I Unity : Tile placed: Player 2 placed Purple 4 at (0, 2)
11-21 09:39:50.327 28473 28500 I Unity : Updating interactability: LocalPlayerTurn=False, HasUnplacedTile=True, TestModeAllAI=False
11-21 09:39:50.328 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:39:50.328 28473 28500 W Unity : Tile 11: SetInteractable(False) - No Collider2D found!
11-21 09:39:50.328 28473 28500 W Unity : Tile 20: SetInteractable(False) - No Collider2D found!
11-21 09:39:50.328 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:39:50.328 28473 28500 W Unity : Tile 12: SetInteractable(False) - No Collider2D found!
11-21 09:39:50.332 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:39:50.332 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:39:50.332 28473 28500 W Unity : Tile 14: SetInteractable(False) - No Collider2D found!
11-21 09:39:50.332 28473 28500 W Unity : Tile 13: SetInteractable(False) - No Collider2D found!
11-21 09:39:50.332 28473 28500 W Unity : Tile 7: SetInteractable(False) - No Collider2D found!
11-21 09:39:50.332 28473 28500 W Unity : Tile 15: SetInteractable(False) - No Collider2D found!
11-21 09:39:50.332 28473 28500 W Unity : Tile 16: SetInteractable(False) - No Collider2D found!
11-21 09:39:50.332 28473 28500 I Unity : UIDiscardDeck interactability set to: False
11-21 09:39:50.333 28473 28500 I Unity : Tile 1: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:50.333 28473 28500 I Unity : Tile 4: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:50.333 28473 28500 I Unity : Tile 10: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:50.333 28473 28500 I Unity : Tile 8: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:50.333 28473 28500 I Unity : Tile 11: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:50.333 28473 28500 I Unity : Tile 12: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:50.333 28473 28500 I Unity : Tile 14: SetInteractable(False) - Collider enabled = False, _isInteractable = False
11-21 09:39:50.333 28473 28500 I Unity : Tile 15: Set
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment