Developer guide
Core checks
cargo fmt --all --check
cargo clippy --workspace --all-targets --all-features -- -D warnings
cargo test --workspace --all-features
RUSTDOCFLAGS=-Dwarnings cargo doc --workspace --no-deps
cargo bench -p ifc-scan --no-run
cargo deny check
Import official schemas before Rust builds:
.venv/bin/python scripts/import-official-schemas.py
Viewer and WASM checks
./scripts/build-wasm-packages.sh
npm ci --prefix integration/wasm
npm run test:node --prefix integration/wasm
npm run test:browser --prefix integration/wasm
npm ci --prefix apps/ifc-viewer
npm test --prefix apps/ifc-viewer
npm run check --prefix apps/ifc-viewer
Troubleshooting
model_not_found: stale, closed, or foreign WASM handle;invalid_input_size: empty input or more than 128 MiB;- schema errors: repeat the official bootstrap and verify checksums;
- browser launch errors: install Playwright Chromium with system dependencies;
- MCP silence: launch it as a stdio child and keep stdout reserved for protocol.
The stable tag is v0.2.0. The release flow is dry-run, immutable tag,
protected corpus gate, and manual Environment approval. The Windows installer is
excluded from the GitHub Release.