# Notices

This local prototype was implemented with OpenAI Codex assistance on 2026-09-19.

## Attribution

WebBAR is an unofficial browser port of Beyond All Reason. It is not affiliated with or endorsed by the Beyond All Reason project. Everything below is the work of its original authors, used under the licenses they publish.

- **Beyond All Reason (game content).** Game code, unit definitions, models, textures, animations, icons, unit pictures, effects, sounds, music and artwork come from the Beyond All Reason project and its contributors (package `Beyond All Reason test-30770-4e0b241`, pinned in `upstream.lock.json`). https://www.beyondallreason.info/ · https://github.com/beyond-all-reason/Beyond-All-Reason. License, as stated by BAR's `LICENSE.md` and the package's `license_*.txt` files: game code and Lua data GPL-2.0; most models, textures, animations, icons, unit pictures and music CC-BY-NC-ND-4.0 (© Beherith et al.); models authored only by Cremuss CC-BY-SA-4.0; sounds and effect bitmaps "all rights reserved" (IceXuick, Floris, PtaQ, Rubus and others), with a few CC/GPL/CC0 sound files listed in `license_sounds.txt`. https://github.com/beyond-all-reason/Beyond-All-Reason/blob/master/LICENSE.md
- **Unit model authors** (from the pinned package's unit metadata): Mr Bob, FireStorm, Beherith, Cremuss, Flaka, Kaiser, PtaQ, Tharsis, Hornet, Zecrus, Odin/mightyodin01, Tristan, Protar, Itanthias and jjackVII. Per-model credits are in the generated model metadata and in `modelAuthors` of [docs/licensing-inventory.json](docs/licensing-inventory.json).
- **Recoil engine** (fork of the Spring RTS engine), GPL-2.0-or-later, commit `e9d199329538cd9078a621c5e0f9ada416e1229f` (`upstream.lock.json`), compiled to WebAssembly with the changes in `patches/`. https://github.com/beyond-all-reason/RecoilEngine · Spring: https://springrts.com/
- **BARb AI** (CircuitAI by rlcevg), GPL-2.0, commit `f4a6ca3ae096631894e194cfa9b4e8e53f4fb78c` (`content.lock.json`), with its bundled AngelScript. https://github.com/rlcevg/CircuitAI
- **Maps** (original archives; no redistribution license is stated in them):
  - Jade Empress 1.41: Ambulatory Cortex, based on Mountain Passes by Nixa
  - Comet Catcher Remake 1.8: IceXuick, original by NoiZe
  - Red Comet Remake 1.8: IceXuick, original by NoiZe
  - Gods of War Remake v1.3: Nikuksis (https://www.beyondallreason.info/map/gods-of-war)
  - All That Glitters v2.2.3: Nikuksis
  - Shallow Straits v1.0.1: Johannes
- **Music.** The original Beyond All Reason soundtrack, "Music made for Beyond All Reason (BAR). All Rights Reserved (CC BY NC ND 4.0)" (`web/generated/music/license.txt`). Tracks in the player: Ryan Krause (19), Leon Devereux (19), Matteo Dell'Acqua (6), Nathan Sharples with sound engineer Kenneth Donahue (2), Russell Lucas-Nutt (1) and West Basinger (1). The full credits with links, including the other soundtrack contributors, are in `web/generated/music/credits.txt`, linked from the music controls as "Soundtrack credits". Each track's title and composer are shown while it plays.
- **Third-party code.** streflop (LGPL-2.1), zlib (zlib license), DevIL 1.8.0 (LGPL-2.1), xxHash (BSD-2-Clause, bundled with Recoil), the Emscripten runtime (MIT / University of Illinois NCSA) and the Emscripten SDK; the Node server uses `ws` (MIT); the build-time Python tools use Pillow (HPND) and websockets (BSD-3-Clause). The browser code has no other third-party JavaScript libraries. Details and pinned commits follow below.
- **Replay fixtures** from BAR demo-parser (Unlicense), used only by tests. https://github.com/beyond-all-reason/demo-parser

The in-app **Credits** page (Home → 04 Credits) shows the same attribution in short form.

- Recoil format and protocol headers are consumed from commit `e9d199329538cd9078a621c5e0f9ada416e1229f`, under GPL v2 or later. Their original notices are preserved in the unmodified checkout. https://github.com/beyond-all-reason/RecoilEngine
- The engine lab also compiles Recoil wind, vector/math and checksum sources from that commit. Local changes are recorded in `patches/recoil-wasm.patch`; the patched source is in `experiments/RecoilWasm`. Recoil's bundled xxHash and the sse2neon/Tracy header dependencies retain their original notices in that tree.
- The engine math module includes streflop at commit `570f86fb616a20179914aa7fc9645e683a3f5b4d`, with its LGPL and underlying libm notices preserved in `experiments/RecoilWasm/rts/lib/streflop`. The WASM backend changes are in `patches/streflop-wasm.patch`. `npm run engine:build` rebuilds and relinks it from source; static-library/object build products remain under `build/engine-native` and `build/engine-wasm`. https://github.com/RecoilEngine/streflop
- Real replay fixtures and reference JSON are used from BAR demo-parser commit `cac2b22b1c7fbd9c75ed4c45450637e4b3286e0b`. That repository's `LICENSE` dedicates its software to the public domain (Unlicense). The fixture files have not been copied into this project's source or published. https://github.com/beyond-all-reason/demo-parser
- WASM compression uses Emscripten's zlib 1.3.2 port, under the zlib license, retained with the downloaded source in the SDK cache. https://github.com/madler/zlib
- The full headless experiment also builds Recoil's bundled dependencies with their original notices preserved, and DevIL 1.8.0 at `a2d9193fed0c7f93519c0c4c28b3348e0cb5759b` under LGPL-2.1, with third-party notices retained in `upstream/DevIL`. Its JPEG compatibility change is saved in `patches/devil-wasm.patch`; source and static libraries are available locally for rebuilding/relinking. https://github.com/DentonW/DevIL
- Emscripten SDK 6.0.9 and its included toolchains retain their licenses in `.tools/emsdk`. https://github.com/emscripten-core/emsdk

No BAR visual or audio assets are bundled with the source. The full-engine experiment downloads pinned game/map archives into ignored `build/bar-data`; the local browser viewer serves manifest-listed content and a derived terrain/minimap preview on loopback. Jade Empress 1.41 credits Ambulatory Cortex, heavily modifying Mountain Passes by Nixa, in its original `mapinfo.lua`. The source archives and their original notices remain local. BAR's game source and its artwork have different licensing terms: https://github.com/beyond-all-reason/Beyond-All-Reason/blob/master/LICENSE.md

The local practice renderer extracts Commander (`armcom`, credited to FireStorm), metal extractor, solar collector and vehicle factory (`armmex`, `armsolar`, `armvp`, credited to Cremuss), Stout (`armstump`, credited to Flaka) and Brute (`corraid`, credited to Mr Bob and Flaka) S3O models and their shared color atlases from the pinned BAR package. The original files and derived RGBA atlases stay in ignored generated directories; `scripts/play-assets.mjs` records source hashes and credits. Texture alpha is preserved as the team-color mask. No artwork is newly licensed or published by this prototype.

The expanded skirmish adds original models for Rover (`armfav`, Flaka), construction vehicle (`armcv`, Beherith), Shellshocker (`armart`, Beherith), Sentry (`armllt`, Beherith), Armada radar (`armrad`, Cremuss), and Cortex commander/extractor/solar/factory/laser tower (`corcom`, `cormex`, `corsolar`, `corvp`, `corllt`, Mr Bob). It also extracts the associated original dead/heap meshes; generated metadata records the associated unit-definition credits and source hashes. The sharper terrain is reconstructed from Jade Empress's original SMT tiles. Positional audio uses `sounds/weapons/cannhvy1.wav`, `sounds/bombs/bombssml1.wav`, and `sounds/bombs/bombsmed1.wav` from the same pinned BAR package, credited to their original BAR contributors under the package's existing asset terms. These assets remain local and ignored; this work does not change their licenses.

The T1 pipeline now records per-definition author/source metadata for 95 Armada/Cortex types and 211 unit/wreck assets. Comet Catcher Remake 1.8 credits IceXuick and the original map by NoiZe; its archive and derived textures remain local. Exact map archive hashes are in `content.lock.json`. Public redistribution permission has not been established by this local extraction. The AI dependency probe uses BARb/CircuitAI at `f4a6ca3ae096631894e194cfa9b4e8e53f4fb78c` and its bundled AngelScript source, preserving their existing license notices in the pinned submodule.

The T2/T3 land batch expands the same pinned-package extraction to 238 unit/building types and 499 prepared unit/wreck model records. Per-definition credits and source/texture hashes remain in generated metadata. The missing `corfast_dead.s3o` wreck uses its own declared heap mesh for presentation, explicitly recorded as a fallback; native feature identity and resources are preserved. No new asset rights or redistribution permission are implied.

The air/naval batch expands the same extraction to 377 normal Armada/Cortex unit/building types and 722 prepared unit/wreck model records. Original source hashes, model authors and texture provenance remain recorded per asset. Gods of War Remake v1.3 credits Nikuksis; its exact archive, official source page and download hash are pinned in `content.lock.json`. All derived map/model assets remain local, under their original terms.

The explosion adapter extracts original textures and CEG definitions from the same pinned BAR package (`gamedata/resources.lua` and the shell, laser, unit/building, commander, burn/treeburn and lightning effect tables). Generated local catalogs retain each source file and sprite SHA-256. Atlas packing and animation-sheet splitting do not change the original assets’ licenses. These derived assets remain in ignored local output; no AI-generated artwork or upstream contribution is included.

The naval presentation adapter also extracts the pinned waterwake, torpedo, splash and watersplashes definitions and fifteen original sprites. `web/generated/naval/catalog.json` retains original resource paths and source/sprite SHA-256 values. All derived imagery remains local under its original terms.

## Licensing inventory

[docs/licensing.md](docs/licensing.md) lists every file in the default content release by group, with its source, license and attribution. [docs/licensing-inventory.json](docs/licensing-inventory.json) is generated by `node scripts/ci/license-inventory.mjs`. The pinned BAR package's own `license.md`, `license_general.txt`, `license_music.txt`, `license_sounds.txt`, `license_bitmaps.txt`, `license_icons.txt` and `license_unitpics.txt` apply to the BAR-derived files. Engine and AI binaries are GPL-2.0-or-later; `patches/` together with the `upstream.lock.json` pins make up the corresponding source, and `scripts/ci/patch-provenance.mjs` checks that they reproduce the engine tree. CI runs in the `node:24.19.0-bookworm` image, pinned by digest in `bitbucket-pipelines.yml`.

## Distribution notes

These are notes on the upstream terms, not blockers; the project's decision is to attribute BAR as an open-source project.

- CC-BY-NC-ND-4.0 (non-commercial, no derivatives): most BAR models, textures, animations, icons, unit pictures and the music. WebBAR serves converted copies (S3O re-exports, RGBA textures, sprite atlases, WAV/OGG).
- "All rights reserved": BAR sounds and effect bitmaps (`license_sounds.txt`, `license_bitmaps.txt`).
- CC-BY-SA-4.0: models authored only by Cremuss (attribution above; share-alike applies to derived files).
- Maps: none of the six archives states a license.
- GPL-2.0-or-later: a public build should link to the corresponding source (the pinned commits plus `patches/`). The public site publishes it at [/source/](https://webbar.ofunc.io/source/) (`upstream.lock.json`, every `patches/*.patch`, this file, `LICENSE` and rebuild steps), linked from Home → Credits; `scripts/static-export.mjs` generates it with each export.
