3 Commits
Author SHA1 Message Date
jimmyabv b539aa403e fix: resolve compilation errors, add tests, fix configs, update docs
- Fix 9 CS0101 duplicate classes between Mono/ and Mono/Classic/
  - BoardManager -> ClassicBoardManager, SquareClick -> ClassicSquareClick
  - Delete duplicate Piece/Pawn/King/Queen/Rook/Bishop/Knight from Classic/
  - Merge GetAttackSquares into Piece base class with overrides
- Fix King castling: reject castling through/while in check
- Assign URP pipeline to QualitySettings (6 levels) and GraphicsSettings
- Fix template identifiers (DefaultCompany -> EarthGenesisGames)
- Delete orphaned SampleScene.unity and duplicate URP assets
- Fix test assembly reference (Assembly-CSharp -> AjedrezPurgatorio.Runtime)
- Remove 11 unused packages (multiplayer, visualscripting, terrain, etc.)
- Update BoardInputSystemSpike for ClassicSquareClick
- Write unit tests: CheckDetector, DrawDetector, MoveValidator
- Fix BalanceConfig JSON structure to match C# class fields
- Update stale documentation (~30 files)
  - architecture.md, ADR-0001, roadmap, gate-check, EPIC.md
  - PROJECT_STATUS.md, BLOQUEADORES_JUGABILIDAD.md
  - tech-debt-register.md
- Add Unity Editor setup guide (production/UNITY_EDITOR_SETUP.md)
2026-08-17 20:40:02 -03:00
jimmyabv f7df1befca feat: integrar GameManager-AudioManager-CampaignManager, tests unitarios y epics
GameManager:
- Campaign stats tracking (moves, captures, purgatory wins/losses)
- AudioManager SFX wiring (move, capture, check, checkmate, promotion)
- GameStateManager transitions on game over/draw
- RecordPurgatoryResult() and ResetCampaignStats() public API

AudioManager:
- Migrated to Awake-explicit singleton (Instance = this)
- Added OnDestroy cleanup

CampaignManager:
- Dead King reveal UI integration (ShowDeadKingReveal)
- Dead King input UI integration (TransitionToDeadKings)
- CampaignState restore from save (TotalPiecesLost, LastChapterWasVictory setters)

UI:
- GameHUD: pause button + piece sprite fallback via SpriteRenderer/Resources
- DeadKingInputUI: GatherCampaignStats from GameManager, TransitionToMainMenu
- DialogueUI: WaitForSecondsRealtime survives timeScale=0 pauses

Tests (73 tests):
- CheckDetector: check, checkmate, WouldLeaveKingInCheck, HasAnyLegalMove
- DrawDetector: insufficient material, stalemate, 50-move rule, threefold repetition, position hash
- MoveValidator: constructor, move legality, check avoidance, legal move enumeration
- DiceSystem: 2d6 distribution, winner determination, piece bonuses, penalty scaling
- SaveSystem: slot validation, null safety, data structures

Epics (5):
- core-integration, campaign-flow, scene-assembly, testing, polish
2026-08-17 04:36:46 -03:00
jimmyabvandClaude Sonnet 4.6 83e5e53e94 Restore May vertical slice (Sprint 1-3), discard Classic/Combat refactor
The May 10 commit (8a1db81) contained a much more mature, tested implementation
than the local Classic/Combat refactor done earlier today: Piece Identity System,
Dice/Purgatory mechanic, Dead Kings async pool, Dialogue System, Campaign System,
AI with Easy/Medium/Hard strategies, full chess rules (checkmate, stalemate, en
passant, castling, draw detection), and NUnit unit tests. The Classic/Combat
scaffold built today was a more primitive duplicate, created without awareness
of this prior work.

Per explicit user decision: restore the full May tree (code, tests, and the 9
design/gdd/* documents), and remove the Classic/Combat code along with the
GDD/ADR/control-manifest that documented it (now describing discarded code).

Reapplied on top of the restored May state (unrelated to the code decision):
- Fix CLAUDE.md / docs/CLAUDE.md engine-reference import (was still pointing at
  docs/engine-reference/godot/VERSION.md)
- Remove unused docs/engine-reference/godot/ and unreal/ (project is Unity-only)
- Fill in technical-preferences.md naming conventions, specialist routing, and
  testing framework (NUnit) entries that were left as [TO BE CONFIGURED]
- Add Version Awareness section to unity-specialist agent

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-24 17:10:19 -03:00