feat(wasm): sequential rayon shim for the web build
wasm32 has no threads, so rayon's global pool would panic at runtime. Add `crate::par::prelude`: native re-exports `rayon::prelude`, wasm provides sequential `std`-iterator equivalents (par_iter / into_par_iter / flat_map_iter over slices, Vec, HashMap, HashSet). All call sites now `use crate::par::prelude::*;` instead of rayon directly. - wire_gpu's rayon `reduce` (2-arg, no std equivalent) is cfg-split to a sequential flat_map concat on wasm. - rayon moves to a non-wasm target dependency. Native still runs in parallel; all 75 tests pass. wasm bin compiles. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
157d54a4d4
commit
9ca19a9db8
8 changed files with 96 additions and 10 deletions
|
|
@ -43,7 +43,6 @@ acadrust = "0.3.4"
|
|||
printpdf = "0.9.1"
|
||||
flate2 = "1"
|
||||
image = { version = "0.25", default-features = false, features = ["png", "jpeg", "bmp", "tiff"] }
|
||||
rayon = "1"
|
||||
inventory = "0.3"
|
||||
truck-shapeops = { version = "0.4", optional = true }
|
||||
# Fast non-cryptographic hasher. Handle/u64 keys dominate the hot block,
|
||||
|
|
@ -77,6 +76,7 @@ windows-sys = { version = "0.61", features = ["Win32_UI_Shell", "Win32_UI_Window
|
|||
acadrust = { git = "https://github.com/HakanSeven12/acadrust", branch = "main" }
|
||||
|
||||
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
|
||||
rayon = "1"
|
||||
open = "5"
|
||||
ureq = { version = "3", default-features = false, features = ["rustls"] }
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue