gamer147 20ddba4c5f Merge battle-engine-extraction: engine port + multi-instancing
Lands the Phase 1 + Phase 2 + multi-instancing migration as one mergepoint.

Phase 1 — engine extraction (M1-M14): client's BattleManagerBase ported
headless under SVSim.BattleEngine; deterministic emit; authoritative RNG
seam (Q-RNG/F2); single-card resolution set proven.

Phase 2 — headless conductor (M-HC-0..4 + M-HC-exit): receive conductor
runs headless inside the battle node via no-op view shims + InstantVfx
rule (zero Engine/*.cs edits, check_drift.py clean). Six structural
shadow-vs-wire divergences resolved against live PvP traffic.

Multi-instancing: per-battle engine statics now AsyncLocal-scoped via
BattleAmbientContext (Mgr, GameMgr, ViewerId, IsForecast, IsRandomDraw,
RealTimeNetworkAgent, BattleRecoveryInfo). EngineSessionGate deleted;
SessionBattleEngine wraps all entry points; MultiInstanceEngineTests is
the regression oracle.

Parallelism hardening: Resources._loaded + GameObject._components shim
Dictionaries -> ConcurrentDictionary; Wizard.LocalLog mutations gated by
single static lock. SVSim.BattleEngine.Tests now runs under
ParallelScope.Fixtures; StressN parallelizes Setup AND Drive.

Pending: live two-pair PvP smoke (Task 10 of the multi-instancing plan).

Suite: SVSim.UnitTests 1054/1054; SVSim.BattleEngine.Tests 59/2 (skips
pre-existing). Audit script tools/engine-port/audit-static-writes.ps1
green.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-06-08 10:21:09 -04:00
2024-09-05 08:20:09 -04:00
2026-06-03 13:56:59 -04:00
Description
The SV Simulator server code, including the DCG Engine, SVSim content, and an entrypoint for the official game client.
13 MiB
Languages
C# 100%