Files
OneCAD/vendor/truck-meshalgo/Cargo.toml
T
bherbruckandClaude Opus 5.5 08cf223ced STEP export: unique ids, plain curves, right revolution senses; seams on split faces
Vendored truck-stepio (writer only): an intersection curve's second surface
was written at the first one's id (duplicate ids for every boolean edge),
and revolved surfaces lost their orientation (the modeling-surface sense was
always true; inverted or mirrored revolutions came out inside out). Export
now writes intersection edges as C1 cubic B-splines through exact points,
so files carry plain 3D curves and no redundant surfaces.

Vendored truck-meshalgo: hinted parameter searches that run off a B-spline's
domain are rejected or clamped (meshing their grid never finished).

STEP import: straight revolution profiles are bounded in the meridian plane
and stop at the axis; loops on revolutions start away from the axis; face
extents include edge end points. Edges between pieces of one split surface
draw as seams.

kernel::step_validate checks a STEP file (duplicate ids, dangling
references, dense numbering); the oracle replay now exports every rebuilt
part, validates it and re-imports it with no warnings and the same volume
(all 32 rebuildable cases pass).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AS5Tn3xieewUSg3uxrMVdL
2026-10-07 23:40:07 +00:00

114 lines
2.0 KiB
TOML

# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.
[package]
edition = "2021"
name = "truck-meshalgo"
version = "0.4.0"
build = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Mesh algorigthms, include tessellations of the shape."
homepage = "https://github.com/ricosjp/truck"
readme = "README.md"
keywords = [
"truck",
"graphics",
"mesh",
]
categories = ["graphics"]
license = "Apache-2.0"
repository = "https://github.com/ricosjp/truck"
[lib]
name = "truck_meshalgo"
path = "src/lib.rs"
[dependencies.array-macro]
version = "2.1.8"
[dependencies.derive_more]
version = "0.99.18"
[dependencies.itertools]
version = "0.13.0"
[dependencies.rustc-hash]
version = "2.0.0"
[dependencies.spade]
version = "2.12.1"
optional = true
[dependencies.truck-base]
version = "0.5.0"
[dependencies.truck-geometry]
version = "0.5.0"
[dependencies.truck-polymesh]
version = "0.6.0"
[dependencies.truck-topology]
version = "0.6.0"
[dev-dependencies.proptest]
version = "1.5.0"
[dev-dependencies.rand]
version = "0.8.5"
[dev-dependencies.serde_json]
version = "1.0.128"
[dev-dependencies.truck-modeling]
version = "0.6.0"
[features]
analyzers = []
default = [
"analyzers",
"filters",
"tessellation",
"vtk",
]
filters = []
tessellation = [
"spade",
"filters",
]
vtk = ["vtkio"]
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.rayon]
version = "1.10.0"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.vtkio]
version = "0.6.3"
optional = true
[target.'cfg(target_arch = "wasm32")'.dev-dependencies.getrandom]
version = "0.2.15"
features = ["js"]