Malte Langkabel 5bdf0d5b8a Merge master (replay feature) into feature/win-condition-artifacts
Resolves conflicts from the merged replay/command-chokepoint work:

- src/test/CMakeLists.txt: keep both new test sets (artifact + replay).
- GameWorldView::onFrame: keep the replay gate (if (!m_replayPlayer)) and
  place the artifact-count / win / game-over polls inside it, de-duplicating
  the game-over check.
- ArtifactWinConditionTest.cpp: route applySchematicChoice through
  SimulationTestAccess (the mutator is now private post-lockdown).
- Simulation::computeStateChecksum: fold in m_isWon and m_artifactCount so the
  new artifact state is covered by determinism/replay desync detection.

Simulation.h/.cpp auto-merged cleanly (applySchematicChoice landed private;
artifact accessors public; reset() clears artifact state; the artifact roll
draws from m_rng so it stays deterministic under replay).

All targets build; 365 cases / 3469 assertions pass.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DUsFgd2Ga6pmLz8giS8WUn
2026-07-01 21:32:24 +02:00
2026-04-19 10:19:27 +02:00
2026-04-19 10:19:27 +02:00
2026-04-19 13:40:37 +02:00
Description
No description provided
20 MiB
Languages
C++ 96%
CMake 2.2%
Python 1.2%
C 0.6%