fix(build): restore the no-default-features build, and drop lzma-sys

Two things the truck removal broke without saying so, both found by auditing
what is left in the manifest rather than by anything failing.

The cfg gate on `acis_export` ended up on `acad_to_render` instead, when that
module was put back after being deleted by mistake. `acad_to_render` is what
every entity converts through, so gating it left the wasm build — which is
what `--no-default-features` stands in for — unable to resolve it from thirty
places. It built at the commit before the migration and builds again now.

And deleting TRUCK_CHORD_FRAC took the constant but left its doc comment and
its `#[cfg]` behind, so the attribute landed on the next constant down and
gated a boundary-sampling tolerance that has nothing to do with solids.

lzma-sys was the last dependency in the manifest with nothing using it: no
code references it and nothing else in the tree pulls it in. The `solid3d`
feature it hung off still gates four places, so the feature stays.

Everything else declared is used. `getrandom` and `iced_widget` look unused
by grep and are not — the first is declared to turn on the feature the wasm
target needs from a crate half the tree pulls in, and the second is a
`[patch]` entry rather than a dependency at all.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Hakan SevenandClaude Opus 5 committed 2026-08-10 01:22:08 +03:00
1 parent 8c7ebdc9f1
commit f14ef54528
4 files changed
+2 -22

No files matched your search

Generated
-12
View File
@@ -29,7 +29,6 @@ dependencies = [
"js-sys",
"log",
"lyon_tessellation",
"lzma-sys",
"naga 27.0.3",
"ocs_plugin_api",
"open",
@@ -3047,17 +3046,6 @@ dependencies = [
"num-traits",
]
[[package]]
name = "lzma-sys"
version = "0.1.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5fda04ab3764e6cde78b9974eec4f779acaba7c4e84b36eca3cf77c581b85d27"
dependencies = [
"cc",
"libc",
"pkg-config",
]
[[package]]
name = "maybe-rayon"
version = "0.1.1"
+1 -2
View File
@@ -17,13 +17,12 @@ winresource = "0.1"
[features]
default = ["solid3d"]
solid3d = ["dep:lzma-sys"]
solid3d = []
[dependencies]
serde_json = "1"
serde = { version = "1", features = ["derive"] }
semver = "1"
lzma-sys = { version = "0.1", features = ["static"], optional = true }
iced = { git = "https://github.com/iced-rs/iced.git", rev = "23604ff22ab0aad9e00b9327cb7b8546ed84db39", features = ["image", "svg", "advanced", "canvas", "smol", "markdown"] }
iced_core = { git = "https://github.com/iced-rs/iced.git", rev = "23604ff22ab0aad9e00b9327cb7b8546ed84db39" }
iced_aw = { git = "https://github.com/HakanSeven12/iced_aw.git", branch = "agent/fix-iced-fonts", features = ["menu", "context_menu", "color_picker", "drop_down"] }
+1 -1
View File
@@ -1,5 +1,5 @@
#[cfg(feature = "solid3d")]
pub mod acad_to_render;
#[cfg(feature = "solid3d")]
pub mod acis_export;
pub mod acis_kernel;
pub mod dgn_linestyle;
-7
View File
@@ -39,13 +39,6 @@ use crate::scene::model::mesh_model::{MeshLodSet, MeshModel};
/// fraction of the curve radius sets their sampling density (~0.002 ⇒ ~50
/// segments per full circle).
pub(crate) const EDGE_CHORD_FRAC: f64 = 0.002;
/// The triangulation chord tolerance for the cone faces still routed
/// through its kernel, as a fraction of the surface radius. Matches
/// [`LodConfig::HIGH`]: the kernel emits a single mesh rather than an LOD ladder, so
/// it has to be the detailed one. A coarse fraction here turns a wide pipe into
/// a hexagonal prism whose flats sink far inside the true radius, tearing the
/// wall away from the planar faces and caps that meet it.
#[cfg(feature = "solid3d")]
/// Boundary-loop sampling for parameter-range classification (which arc of a
/// sphere/torus a face covers): a fine fraction so the classification is
/// accurate; the points are not rendered.