fix(web): restore wasm build broken by SECTION + file association

The v0.7.0 web (GitHub Pages) release failed to compile under
--no-default-features. Two symbols leaked into the wasm build:

* `solid_section` (SECTION command) used truck-meshalgo directly
  (`triangulation`/`extract_interference`), but that crate is gated
  behind the `solid3d` feature which is off on wasm. Gate the function
  with `#[cfg(feature = "solid3d")]` and add a stub for builds without
  it, mirroring `solid_model::boolean`.
* `register_as_handler` was `#[cfg(not(wasm32))]` while its caller
  `set_default_app_blocking` was not, so wasm couldn't resolve it. Drop
  the wasm gate; the existing non-win/lin/mac arm already returns `Ok`
  on wasm, matching `unregister_handler`.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Hakan Seven 2026-06-29 17:13:17 +03:00
commit ea35479dd9
2 changed files with 9 additions and 1 deletions

View file

@ -37,7 +37,6 @@ const APP_ID: &str = "io.github.HakanSeven12.OpenCadStudio";
/// Idempotent and best-effort; safe to call on every launch. Runs synchronously
/// (registry / small file writes), so callers should invoke it off the UI
/// thread.
#[cfg(not(target_arch = "wasm32"))]
pub fn register_as_handler() -> Result<(), String> {
#[cfg(target_os = "windows")]
{