What Am I Using? cube component: GPL-3.0-only.
Upstream: AdamNolle/Cube-Solver, commit 4f04c32e283a8c7cda838d8e01a9b09114227628, unchanged Rust source.

Engine build:
1. Unpack upstream-source.zip. Use Rust1.99.0 and the wasm32-unknown-unknown standard-library target.
2. cargo build --locked --release --target wasm32-unknown-unknown --manifest-path crates/cube_wasm/Cargo.toml
3. Using wasm-bindgen-cli0.2.125:
wasm-bindgen target/wasm32-unknown-unknown/release/cube_wasm.wasm --target web --out-dir browser-engine
4. Distribute cube_wasm.js and cube_wasm_bg.wasm from browser-engine. No Rust files changed. wasm-opt is not used.

This build used the official portable Windows GNU Rust components in a local tools directory, with the bundled GNU linker and link-self-contained=yes for host builds. Packages came from https://static.rust-lang.org/dist/2026-10-01/ and were SHA-256 verified against the official stable manifest. No global compiler installation was made.

Frontend integration:
Unpack integration-source.zip. src/, scripts/, package.json, pnpm-lock.yaml and notices provide the editable frontend and build source. Use Node.js24, pnpm install --frozen-lockfile, then npm run build. The cube module uses an isolated worker and sends only sticker arrays. An independently authored cube model replays every returned solution. The shared frontend shell/styles/build pipeline are included for reproduction. Cube component files are GPL-3.0-only; cubejs and other dependencies retain their original notices. No keys or private accounts are required.

Refresh integration-source.zip when integration code changes, and retain matching source with archived releases. The source applies to the distributed module.
