{
  "schema_version": 1,
  "release": "orao-2026-wasm-v0.3.0",
  "prepared_on": "2026-10-19",
  "timezone": "Europe/Zagreb",
  "status": "Prepared incremental ZIP for upload; no remote deployment performed",
  "archive": "evil-appliances-orao-2026-wasm-v0.3.0-update.zip",
  "previous_release": "orao-2026-wasm-v0.1.0-homepage-1",
  "requires_previous_release": "orao-2026-wasm-v0.1.0-homepage-1",
  "scope": [
    "orao/",
    "reference/orao/"
  ],
  "whole_site_release": false,
  "emulator_version": "0.10.0",
  "emulator_revision": "raster-1",
  "wasm_version": "0.3.0",
  "experimental": true,
  "abandonable": true,
  "changes": [
    "New native C3 graphics server in JS v0.9 with immutable C0/C3 transactions and retained scene",
    "New JS v0.10 with block fills, glyph-mask blending and grouped changed-pixel presentation",
    "Wasm v0.2 on the same v0.10 firmware; Wasm v0.3 additionally ports the original 151-opcode Orao32 CPU",
    "Original ROM, cycle semantics, complete-core reservations, queue ownership and protection preserved",
    "Eighteen JS variants in three carousel cards; v0.10 selected by default; prominent Wasm panel starts v0.3"
  ],
  "new_trees": {
    "orao/versions/orao-2026-v0.9/": 102,
    "orao/versions/orao-2026-v0.10/": 103,
    "orao/prototypes/wasm-v02/": 17,
    "orao/prototypes/wasm-v03/": 19
  },
  "checks": {
    "nativeCPUCases": 8202,
    "nmosOpcodeCases": 6144,
    "nmosArithmeticCases": 524288,
    "nmosInterruptCases": 12,
    "decoderCases": 792,
    "nativeGUIChecks": 11,
    "rasterCases": 64,
    "legacyDeviceChecks": 3,
    "legacyBrowserChecks": 4,
    "browserChecks": 13,
    "homepageChecks": 5,
    "benchmarkTrials": 9,
    "allEighteenJSArchiveManifestsVerified": true,
    "allNewArchiveManifestsVerified": true,
    "pinnedBenchmarkedSourcesVerified": true
  },
  "benchmark": {
    "methodology": "Three fresh processes per backend, sequential runs with rotating order and no concurrent emulation tests. JS v0.10, Wasm v02 with JS NMOS, and Wasm v03 with native NMOS execute identical emulated work. Clocks, core/legacy cycles, bus/waits, pixel writes, whole RAM, guest registers/memory/sound and framebuffer agree. Native boot includes POST. System guest stages cover approximately 0.5 virtual seconds after each reservation. Isolated 200000-instruction CPU stages deliberately hold C0/C3 and disable the timer; these are CPU throughput, not GUI latency or a normal OS configuration. No compilation/initialization, browser DOM/audio presentation or realtime cap in stage timings. Results on one machine, not universal gameplay speed.",
    "comparisons": [
      {
        "name": "native-boot",
        "jsMedianMs": 18403.6987,
        "v02MedianMs": 5645.3345,
        "v03MedianMs": 5689.4082,
        "speedupVsJS": 3.234729879286918,
        "speedupVsV02": 0.9922533770735593,
        "sameWork": true,
        "virtualMs": 2875.2303
      },
      {
        "name": "1-orao32-with-system",
        "jsMedianMs": 3419.6079000000027,
        "v02MedianMs": 1457.2613999999994,
        "v03MedianMs": 1302.6768999999995,
        "speedupVsJS": 2.6250622084417126,
        "speedupVsV02": 1.1186668006471905,
        "sameWork": true,
        "virtualMs": 501.39596
      },
      {
        "name": "2-orao32-with-system",
        "jsMedianMs": 3222.0383999999976,
        "v02MedianMs": 1600.7533000000003,
        "v03MedianMs": 1276.0766000000003,
        "speedupVsJS": 2.524956887384344,
        "speedupVsV02": 1.2544335504624096,
        "sameWork": true,
        "virtualMs": 501.6953
      },
      {
        "name": "one-6502-only-200k",
        "jsMedianMs": 31.49789999999848,
        "v02MedianMs": 71.0673999999999,
        "v03MedianMs": 5.558000000000902,
        "speedupVsJS": 5.667128463474877,
        "speedupVsV02": 12.786505937385456,
        "sameWork": true,
        "virtualMs": 590.89474
      },
      {
        "name": "two-6502-only-200k",
        "jsMedianMs": 32.76480000000083,
        "v02MedianMs": 75.4323000000004,
        "v03MedianMs": 7.90730000000076,
        "speedupVsJS": 4.14361412871621,
        "speedupVsV02": 9.539577352572072,
        "sameWork": true,
        "virtualMs": 294.649
      }
    ]
  },
  "limits": [
    "Experimental and removable prototype; JS reference remains available",
    "Native 65C832 still uses exact JS fallback for remaining instruction/device paths",
    "151 supported NMOS instructions match the preserved project model, not a new complete chip-conformance claim",
    "Isolated 6502 benchmarks hold C0/C3 and disable the timer; not GUI/gameplay speed guarantees",
    "Main browser thread, no Web Worker or new host threads",
    "Switching engine reloads RAM/media; download IMG before switching or closing"
  ],
  "preserved": [
    "All 1182 unchanged previously released files, including all sixteen earlier JS archives and Wasm v0.1",
    "Original transcript, cassette loader/UI, tape/source downloads, ROM and prototype v0.1 bytes",
    "All previous release ZIPs and complete comparison baselines"
  ],
  "packaging": {
    "modified_files": 6,
    "added_files": 243,
    "zip_entries": 249,
    "unchanged_excluded": 1182,
    "deletions": 0,
    "complete_baseline_files": 1431,
    "complete_future_baseline": "orao-tests/orao-2026-release-baseline-wasm-v0.3.0.json",
    "whole_site_baseline_replaced": false
  }
}
