Recompia
Pokémon Pokopia (Switch 2) recompiled to run natively on Windows with Linux/Handheld support. Multiplayer included, modding, feature enhancements and more! Join the discord community as well
翻訳待ち
Counter Strike 2 demo analyzer with multi-demo support and playbooks. Everything happens in the user's browser and no data is uploaded or stored online (there is only local database). Free to use for everyone.
翻訳待ち
Loading the full README. The saved excerpt is shown below.
Local-first Counter-Strike 2 GOTV demo analyzer.
Drop a .dem in the browser — parse, replay, and review on your machine.
Live at cs2analyzer.whiskeyo.pl
Fan project. Not affiliated with Valve. Your demos never leave the computer.Read the full README ↗npm run dev / ./scripts/run.sh --dev, Settings → Layouts editor lets you draw map callout polygons used by Action and Utility labels.Everything goes through scripts/run.sh:
| Flag | What it does |
|---|---|
--prepare | Install Rust toolchain, wasm-bindgen-cli, and npm deps |
--fetch-demos | Download test demos listed in test-demos/manifest.json into test-demos/files/ (skip when sha256 matches). Every pull request and push to master runs the Real demos check; the ignored release tests run only when crates, Cargo.toml, Cargo.lock, the manifest, test-demos/output-hashes/**, scripts/run.sh, or that workflow changed. A cached demo dir is still sha256-checked. |
--update | Update Rust and npm deps within current semver ranges, keep wasm-bindgen pinned to the CLI, rebuild WASM, and run tests. Does not commit. |
--upgrade | Bump Rust and npm deps to the newest peer-compatible versions, including outside current semver ranges. Skips the =0.5.10 source2-demo pin, every wasm-bindgen* crate, js-sys, and web-sys. Rebuilds WASM, runs tests, then the production build. Does not commit. Restores the dependency tree on failure. |
--latest | With --upgrade only. Take the newest versions even when they break peer dependencies. |
--build-wasm | Compile the parser WASM into the web app |
--check | rustfmt, clippy, prettier, eslint, typecheck |
--test | Rust + web test suites |
--dev | Dev server at http://localhost:5173/ (layouts editor at /layouts) |
--prod | Production build + preview (default http://localhost:4173/) |
--update and --upgrade need a clean dependency tree: every workspace Cargo.toml, Cargo.lock, apps/web/package.json, apps/web/package-lock.json, and apps/web/src/parser/. Commit or stash those first. The two flags are mutually exclusive.
--upgrade--update stays inside the ranges already written in the manifests. --upgrade rewrites those ranges to the newest published versions that still satisfy peer dependencies (npm-check-updates --peer), refreshes the lockfiles, rebuilds WASM, and runs the Rust tests, the web tests, and npm run build (the production prerender). It prints a table of resolved version changes and leaves the diff in the working tree. It does not commit.
--upgrade --latest drops --peer and takes the newest versions even when another package's peer range cannot accept them. --latest on its own is an error.
If a step fails after files have changed, or the run is interrupted with Ctrl-C or SIGTERM, the script puts every workspace Cargo.toml, Cargo.lock, apps/web/package.json, apps/web/package-lock.json, and apps/web/src/parser/ back to the pre-run state, runs npm ci in apps/web so node_modules matches that lock, and does that restore only once. A failed step names the step and exits non-zero. Ctrl-C exits 130 and SIGTERM exits 143. If npm ci fails, it tells you to run that command manually and does not try again. A second interrupt during that restore leaves whatever was already restored in place and prints once: check git status, then run npm ci in apps/web.
Not a CI step. On success, review git diff and commit the bumps you want to keep.
Requires cargo-edit (cargo install cargo-edit). npm packages are bumped with npx npm-check-updates@22 (no global install). Major 23 rejects Node 24.11 (^24.15.0); major 22 accepts >=24.
Left unchanged:
This is the beginning of the README. Read the rest at the original. Read the full README ↗