# WC3 command-stream lab manifest — 2026-08-17

This manifest records an experimental build. It is not a production AMI or a
production checkpoint profile.

## Recorder build

- Source: `native/d3d9_proxy.c`
- Compiler: `i686-w64-mingw32-gcc`
- Flags: `-O2 -g0 -std=gnu11 -Wall -Wextra -Werror -DWIN32_LEAN_AND_MEAN`
- Link flags: `-shared -static-libgcc -Wl,--no-insert-timestamp`
- DLL SHA-256: `32a2c25b0b3b5fc0afada894d0b2d6256fc243a88d60440795739f97a9172e15`
- Protocol: W3CS version 1
- Runtime flags: `W3_D3D9_HEADLESS_FAST=1`, `W3_D3D9_NO_RASTER=1`,
  `W3_D3D9_MAX_FPS=40`, `W3_D3D9_CAPTURE_FPS=40`

## Reference measurement

- Instance: disposable `m7a.xlarge` lab in `us-east-1`
- Replay: Warcraft III 1.28.5 on Echo Isles
- Authoritative viewport: 1024x768
- Capture interval: 30 seconds, including game startup
- Complete command frames: 1,089
- Warcraft plus recorder steady CPU: approximately 0.16 vCPU
- Relay compression CPU: 1.88 CPU-seconds, approximately 0.063 vCPU
- Combined steady CPU: approximately 0.22-0.23 vCPU
- Compressed steady frame: approximately 10.7 KiB
- Estimated steady frame wire rate at 40 FPS: approximately 3.4 Mbit/s
- Browser output: 1600x1200 backing target, fitted without stretching
- Browser presentation cap: 40 FPS
- Browser render time in the measured scene: approximately 0.9 ms per frame
- Modular live-state build plus GPU submit: approximately 2-4 ms per frame

The first two CPU samples include replay startup and resource initialization.
The release gate uses steady playback. Random maps, late-game fights, loss,
reconnect, input, and fallback tests still must pass before production use.

## Native-HD validation — 2026-08-18

- Virtual display: 1920x1440
- Authoritative WC3 viewport: 1600x1200
- Browser backing target: physical display at 1.25x, capped at 2560x1920
- Fullscreen fit: centered 4:3 with black bars; no horizontal stretch
- Presentation cap: 40 FPS
- Final 240-frame median gap: 24.6 ms
- Final 240-frame p95 gap: 50.7 ms
- Final 240-frame maximum gap: 73.6 ms
- WebRTC command path: direct UDP
- Audio: WebRTC 48 kHz stereo Opus at approximately 96 kbit/s
- Final audio loss sample: zero packets
- WC3 plus recorder CPU snapshot: 0.126 vCPU
- Native C++ WebRTC plus Opus relay CPU snapshot: 0.091 vCPU
- Combined snapshot: approximately 0.217 vCPU
- Exact click mapping: passed against a 1600x1200 window
- Camera-pan key press and release: passed
- Fullscreen: centered 4:3; measured ratio 1.3333285
- DataChannels: ordered reliable resources, unordered one-retransmit frames,
  ordered reliable control
- `native/w3cs_webrtc_relay.cpp` SHA-256:
  `3e27a69f9b1b87ea2bebc51da80b87564aeab3c31b0f218e9892caaeda0e637e`
- `native/w3cs_protocol.h` SHA-256:
  `5ec94fe0b9d2c03c7525be891f51dc3173dd8a6ce7dfc7ee2704ee507124cf14`
- `native/lab-live.sh` SHA-256:
  `056d1e65ade4b6d73343197b3fe09842fd43986648db76e474183438cdd4c55d`
- `poc/run-e2e-lab.sh` SHA-256:
  `b69890de8bb9cbd6503811a44193675319c775b25064ac45d23ec4a758d77447`
- `poc/interactive-live.html` SHA-256:
  `355c77e07205adb1adce4b2c65ee3ae9bb4d19f6eef20146bc30fab4c89c1b38`
- `web/webgpu-renderer.js` SHA-256:
  `318f20a5909c86d7bf8ffd385c6c2eeafda5c6603d00b35b9f74f8147b16d5c9`
- `web/live-command-client.js` SHA-256:
  `7dad54fa44712900f948e4a85a0d61fbdb8c97f9a1be0c217a84956c250c1450`

This is a disposable native WebRTC lab. It is not a production checkpoint,
AMI, or routing promotion.
