The command line and the web app link SMLib by default too

As the desktop app: SMLib is the only kernel, so a build without it models nothing. The web
app links the prebuilt wasm archive, so it needs no wasi-sdk.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HoZgkCdAVrscuw2kjQTWDs
This commit is contained in:
jyviko
2026-10-26 22:57:25 -04:00
parent e1ad6ec1aa
commit 4e26dc6402
3 changed files with 9 additions and 7 deletions
+3 -2
View File
@@ -20,10 +20,11 @@ name = "solvecraft-cli"
path = "src/alias.rs"
[features]
default = ["raytrace-cpu"]
default = ["raytrace-cpu", "smlib"]
bundled-render-library = ["solidcraft-engine/bundled-render-library"]
raytrace-cpu = ["solidcraft-engine/raytrace-cpu"]
# Link SMLib into the kernel, for the regression rig's smlib runs (tests/kernel-cases).
# Link SMLib into the kernel (solidcraft-engine/smlib; needs scripts/fetch-smlib.sh). SMLib is the
# only kernel, so without it the command line models nothing.
smlib = ["solidcraft-engine/smlib"]
[dependencies]
+4 -3
View File
@@ -14,10 +14,11 @@ name = "solidcraft-web"
path = "src/main.rs"
[features]
default = []
default = ["smlib"]
bundled-render-library = ["solidcraft-engine/bundled-render-library"]
# Link SMLib into the kernel (solidcraft-engine/smlib): needs scripts/fetch-smlib.sh and wasi-sdk in
# WASI_SDK_PATH (crates/smlib/build.rs). Off by default until CI has wasi-sdk.
# Link SMLib into the kernel (solidcraft-engine/smlib; needs scripts/fetch-smlib.sh
# wasm32-unknown-unknown, or the sources and wasi-sdk in WASI_SDK_PATH, crates/smlib/build.rs). SMLib
# is the only kernel, so without it the web app models nothing.
smlib = ["solidcraft-engine/smlib"]
[dependencies]
+2 -2
View File
@@ -10,8 +10,8 @@ cargo xtask kernel-cases --cli target/release/solidcraft-cli --out /tmp/run #
cargo run -p solidcraft-cli --features smlib -- kernel-cases tests/kernel-cases/booleans/<id> # one case
```
The CLI needs `--features smlib` (after `scripts/fetch-smlib.sh`); without it every operation
answers that SMLib is not built. The run's output folder (`--out`, default `target/kernel-cases`)
The CLI links SMLib by default (`scripts/fetch-smlib.sh` fetches the prebuilt library first);
built with `--no-default-features`, every operation answers that SMLib is not built. The run's output folder (`--out`, default `target/kernel-cases`)
gets `results.json`, every case's full result, and `dumps/<area>-<case>/`: the inputs of each
SMLib call a case failed in, for replay (the CLI's `--dumps=DIR`, which the rig always passes).