refactor: retire the solid3d feature — the web build gets solids too
The feature existed for one reason: truck's mesh and boolean crates reach `vtkio → xz2 → lzma-sys`, a C library that cannot cross-compile to wasm32. So the web build dropped it, and with it the Model tab, solid tessellation and ACIS import — all of which quietly did nothing in the browser. cadkernel is pure Rust and has no C dependency, so none of that holds any more. The feature gated exactly two things by the end, `acis_export` and the save-path sync that calls it, and both are as portable as everything around them. Removing it means the web build makes primitives, runs booleans, draws ACIS solids read from a file, and writes them back out as exact geometry — the same as the desktop build. Verified against all three: native, `--no-default-features`, and an actual `wasm32-unknown-unknown` check rather than an assumption about one. The docs claimed otherwise in four places and are corrected. `tessellation.md` in particular was organised around whether an entity "goes through truck", which is no longer a question anything can be asked — the three paths are now a kernel B-rep mesh, a curve sampled through `entities::curve`, or geometry emitted directly, and the per-entity table is updated to match. `index.html` no longer passes `data-cargo-no-default-features`; there are no features left to turn off. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
f14ef54528
commit
273f482aee
8 changed files with 68 additions and 73 deletions
6
.github/workflows/pages.yml
vendored
6
.github/workflows/pages.yml
vendored
|
|
@ -50,10 +50,8 @@ jobs:
|
|||
with:
|
||||
tool: wasm-bindgen@${{ steps.wasm-bindgen-version.outputs.version }}
|
||||
|
||||
# The rust <link> in index.html sets `data-cargo-no-default-features`,
|
||||
# so this drops the `solid3d` feature (truck-meshalgo → lzma-sys C deps
|
||||
# that can't cross-compile to wasm). `--public-url` matches the project
|
||||
# page sub-path: https://<user>.github.io/OpenCADStudio/.
|
||||
# `--public-url` matches the project page sub-path:
|
||||
# https://<user>.github.io/OpenCADStudio/.
|
||||
- name: Build web bundle
|
||||
run: trunk build --release --public-url /OpenCADStudio/
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue