# Web port upstreams

The browser runtime is an OpenQ4 port. The following revisions are pinned so the
build and corresponding mixed-license source offer are reproducible. The offer is a
code-only OpenQ4 export and omits upstream media whose redistribution rights were not
established by the engine-code license:

- OpenQ4: `975e296b80b66f63b817d16ea78b53e0685c5c55`
- OpenQ4 GameLibs: `eb26e5f3a52358c58ee00bee5602575e5b057164`
- D3Wasm reference backend: `48f8f65d1216db3ee0b11872bb3b413febadc669`
- idTech4A++ GLES reference: `c414ba2180df5fa7a1d39b8a37765b00212efc7c`

D3Wasm is the proven idTech4 Emscripten/WebGL reference. idTech4A++ contributes
the actively maintained Quake 4-aware GLES renderer and is not treated as a
wire-compatible OpenQ4 client. Quake 4 gameplay, network protocol and the
native dedicated server remain pinned to OpenQ4/OpenQ4-GameLibs; any donor code
is carried as an explicit patch with its original licence and attribution.

Retail Quake 4 PK4 files are proprietary. They are used locally for testing
and by the native server, but are excluded from Git and from the public static
tree. The browser import pipeline must validate a player's own Quake 4 data and
store it in revisioned origin-private storage.
