mantimon-tcg/backend/tests/core
Cal Corum cbc1da3c03 Add visibility filter for client-safe game state views
SECURITY: Implement hidden information filtering to prevent cheating.

- Create VisibleGameState, VisiblePlayerState, VisibleZone models
- get_visible_state(game, player_id): filtered view for a player
- get_spectator_state(game): filtered view for spectators

Hidden Information (NEVER exposed):
  - Opponent's hand contents (count only)
  - All deck contents and order
  - All prize card contents
  - Energy deck order

Public Information (always visible):
  - Active and benched Pokemon (full details)
  - Discard piles (full contents)
  - Energy zone (available energy)
  - Scores, turn info, phase
  - Stadium in play

- 44 security-critical tests verifying no information leakage
- Tests check JSON serialization for hidden card ID leaks
- Also adds test for configurable burn damage

Completes HIGH-008 and TEST-012 from PROJECT_PLAN.json
Updates security checklist: 4/5 items now verified
2026-01-25 13:11:06 -06:00
..
test_effects Add effects system with configurable weakness/resistance 2026-01-25 00:25:38 -06:00
test_models Add rules validator, win conditions checker, and coverage gap tests 2026-01-25 12:57:06 -06:00
__init__.py Add game engine foundation: enums, config, and RNG modules 2026-01-24 22:14:45 -06:00
conftest.py Add rules validator, win conditions checker, and coverage gap tests 2026-01-25 12:57:06 -06:00
test_config.py Add rules validator, win conditions checker, and coverage gap tests 2026-01-25 12:57:06 -06:00
test_coverage_gaps.py Add rules validator, win conditions checker, and coverage gap tests 2026-01-25 12:57:06 -06:00
test_rng.py Add game engine foundation: enums, config, and RNG modules 2026-01-24 22:14:45 -06:00
test_rules_validator.py Add rules validator, win conditions checker, and coverage gap tests 2026-01-25 12:57:06 -06:00
test_turn_manager.py Add visibility filter for client-safe game state views 2026-01-25 13:11:06 -06:00
test_visibility.py Add visibility filter for client-safe game state views 2026-01-25 13:11:06 -06:00
test_win_conditions.py Add rules validator, win conditions checker, and coverage gap tests 2026-01-25 12:57:06 -06:00