{
  "task": "M0-11D",
  "spike": "M0-11 one simulation (ADR-029)",
  "finished": "2026-10-10T20:49:40.727Z",
  "golden": {
    "scenario": "walk_eight_directions",
    "finalHash": "bb46012ea5aaaebf",
    "source": "packages/sim-golden/vectors.json"
  },
  "toolchain": {
    "unity": "6000.3.25f1",
    "rustc": "rustc 1.99.0 (b940084d7 2026-09-28)",
    "androidNdk": "r27c (27.2.12479018, bundled with Unity)",
    "emscripten": "3.1.39-git (bundled with Unity, LLVM 17 fork)",
    "xcode": "Xcode 26.6",
    "iphoneosSdk": "26.5",
    "iosDeploymentTarget": "15.0"
  },
  "targets": [
    {
      "target": "macOS",
      "rust": "aarch64-apple-darwin",
      "result": "pass",
      "tested": true,
      "evidence": "logs/evidence/M0-11/",
      "binary": {
        "kind": "dylib arm64",
        "bytes": 406288
      },
      "stepNsPerTick": {
        "movers1": 108,
        "movers5000": 333200
      },
      "note": "macOS player (Apple M3), finalHash match, allMatch"
    },
    {
      "target": "Android",
      "rust": "aarch64-linux-android",
      "result": "pass",
      "tested": true,
      "evidence": "logs/evidence/M0-11B/",
      "binary": {
        "kind": "so arm64-v8a stripped, 16 KB aligned",
        "bytes": 316552
      },
      "stepNsPerTick": {
        "movers1": 54.5,
        "movers5000": [
          149075,
          158175
        ]
      },
      "note": "APK on nubia NX709S (SM8475, Android 13), all 4 tiers, finalHash match, allMatch"
    },
    {
      "target": "Web",
      "rust": "wasm32-unknown-emscripten",
      "result": "pass",
      "tested": true,
      "evidence": "logs/evidence/M0-11C/, logs/evidence/M0-11C2/",
      "binary": {
        "kind": "static archive (panic=abort)",
        "bytes": 3662566,
        "webBuildDeltaBytes": 37947
      },
      "stepNsPerTick": {
        "movers1": [
          70,
          100
        ],
        "movers5000": [
          160000,
          215000
        ],
        "note": "timer-quantized"
      },
      "note": "headless Chrome, 0 console errors, finalHash match, allMatch 4 scenarios",
      "featureRewrite": "target_features names bulk-memory-opt and call-indirect-overlong (LLVM 20+) dropped for the bundled LLVM 17/Binaryen; implied by bulk-memory and reference-types",
      "browserFloor": "Chrome 95, Firefox 100, Safari 15.2"
    },
    {
      "target": "iOS",
      "rust": "aarch64-apple-ios",
      "result": "built, recorded not tested (ADR-032)",
      "tested": false,
      "evidence": "logs/evidence/M0-11D/plugin-ios.json",
      "binary": {
        "kind": "static archive, debug info stripped",
        "bytes": 2333096,
        "cargoBytes": 5890424
      },
      "detail": {
        "minIos": "15.0",
        "platforms": [
          "2"
        ],
        "nativeLibs": [
          "-lSystem",
          "-lc",
          "-lm"
        ],
        "cSmokeLinked": true,
        "embeddedBitcodeMembers": 229,
        "linkedSmokeKeepsBitcode": false
      },
      "why": "no iOS device or simulator target here; Xcode 26.6 is now installed, so the C smoke links for iOS 15.0; the Unity Xcode export is M0-11D2"
    },
    {
      "target": "Windows",
      "rust": "x86_64-pc-windows-msvc",
      "result": "staticlib built; DLL blocked; recorded not tested (ADR-032)",
      "tested": false,
      "evidence": "logs/evidence/M0-11D/plugin-windows.json",
      "binary": {
        "kind": "static .lib (COFF x86-64)",
        "bytes": 3701330,
        "dll": null
      },
      "why": "rust-lld cannot link the DLL without kernel32.lib, ntdll.lib, userenv.lib, ws2_32.lib, dbghelp.lib, msvcrt.lib (Windows SDK + MSVC CRT: Microsoft licence, owner)"
    }
  ],
  "decision": "Confirmed with a qualification: zoen-sim is the one simulation for client prediction and server; the C# prediction subset of ADR-024 is not written. Windows and iOS stay open risks until tested."
}
