diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 4b1af02..fb5ed91 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -69,7 +69,8 @@ jobs: retention-days: 30 # Stage 3 is open to players (src/flags.ts). To take it back, set 'off' and push: saves that have met Mr. Fugu # keep it on. The web game has Buy me a coffee (Ko-fi, src/flags.ts); it's off in any build that doesn't say so, - # the Steam build's included. + # the Steam build's included. The build also lists the open-source licences of what it bundled, and stops on a GPL, + # LGPL or AGPL one, or one it can't read, that the owner hasn't approved (scripts/licences.ts). - run: npm run build env: VITE_STAGE3: 'on' diff --git a/LICENSE b/LICENSE index f94ac8f..ab8eb38 100644 --- a/LICENSE +++ b/LICENSE @@ -5,4 +5,9 @@ is granted to copy, modify, distribute, or use any of it, in whole or in part, w copyright holder. Recorded sounds by others are used under their own licenses, listed in public/sounds/CREDITS.md and in the game's -Credits & Copyrights; those licenses apply to those files. +Credits & Copyrights; those licenses apply to those files. The fonts in public/fonts are under the SIL Open Font +License 1.1, whose texts sit beside them. + +The open-source libraries built into the game (three.js, html2canvas, Firebase and the code they bring) are not part of +this repository and keep their own licenses. The built game lists them under Credits & Copyrights, with their full +texts in licences.txt. diff --git a/README.md b/README.md index 9a59e9a..657c373 100644 --- a/README.md +++ b/README.md @@ -25,4 +25,4 @@ How the game works, running it locally, the tests and the feature flags are all Copyright © 2026 ChefControl. All rights reserved. The source is public to read, but you may not copy, modify or redistribute it without permission. See [LICENSE](LICENSE). -The recorded sounds are other people's work under their own licenses (CC BY and CC0), credited in [public/sounds/CREDITS.md](public/sounds/CREDITS.md) and under Credits & Copyrights in the game. +The recorded sounds are other people's work under their own licenses (CC BY and CC0), credited in [public/sounds/CREDITS.md](public/sounds/CREDITS.md) and under Credits & Copyrights in the game. The fonts in [public/fonts](public/fonts) are under the SIL Open Font License 1.1, with their texts beside them. The open-source libraries built into the game (three.js, html2canvas, Firebase and the code they bring) keep their own licenses: the build lists them under Credits & Copyrights and writes their full texts to `licences.txt` ([scripts/licences.ts](scripts/licences.ts)). diff --git a/docs/game.md b/docs/game.md index 1be222d..96285e5 100644 --- a/docs/game.md +++ b/docs/game.md @@ -303,6 +303,8 @@ On the casino boat, a sign hangs from the wall behind the bar, over its window e TypeScript + [three.js r186](https://threejs.org/), bundled with [Vite](https://vite.dev/). All textures are drawn at runtime on canvas. The fonts and the emoji ship with the game (`public/fonts`, cut down to what it writes by `scripts/fonts/build.py`), so it fetches none from the web. +**Open-source licences.** The build credits the third-party code it actually bundles (`scripts/licences.ts`): it writes each package's licence text to `licences.txt` beside the game and lists the packages under Credits & Copyrights. It's what's bundled, not `package.json`, so dev tools never show, and a build without Firebase leaves it out. The build stops on a GPL, LGPL or AGPL licence, or one it can't read, until the owner approves that package and licence in `APPROVED` (Steam needs Valve's agreement before a game ships GPL or LGPL code). The Electron build hands in its own notices (Electron, Chromium, ffmpeg) as `licences({ extra })`, checked the same way. + | Command | What it does | | --- | --- | | `npm run dev` | Dev server with hot reload | diff --git a/index.html b/index.html index 89fd65c..c32392c 100644 --- a/index.html +++ b/index.html @@ -1554,6 +1554,10 @@

The ring's crowd

  • Murmur: “Crowd of 50-60 People #1” and “#2” by Joseph Sardin, BigSoundBank, CC0; layered and looped.
  • Applause: “Applause: 150 People” by Joseph Sardin, BigSoundBank, CC0.
  • +

    Open-source licences

    +