Automatic inference for interactions in Clue (Cluedo).
If you're interested in a written explanation for the inference methods I've discovered while creating this website, I've done my best to document them here. You don't need to read it to use the website, but it might be interesting.
Note that GitLab has a maximum number of LaTeX cells per markdown file, so it will not display properly unless you're looking at this repository on GitHub.
| Folder | Purpose |
|---|---|
| inference | Rust WebAssembly implementation of the site's inference logic. |
| public | Static website assets. |
| scripts | Convenience scripts for testing/development. |
| src | Source code for the UI and the TypeScript portions of the website. |
| test | Unit and integration tests for the inference logic. |
A Nix flake is available to build the project in release mode. To use it, run:
$ nix buildThe build website's static files will be available at ./result.
The inference logic must be built before the rest of the website. Instructions are available here.
After that, this project requires pnpm v9. After installing Node.js, run the following in the project directory:
corepack enable
corepack installThen, to build for release:
pnpm run buildThis project is licensed under the GNU Affero General Public License, Version 3.0 (LICENSE or https://www.gnu.org/licenses/agpl-3.0.en.html).