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
110 lines
2.0 KiB
TOML
110 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-stepio"
|
|
version = "0.3.0"
|
|
authors = ["Yoshinori Tanimura <tanimura@ricos.co.jp>"]
|
|
build = false
|
|
autobins = false
|
|
autoexamples = false
|
|
autotests = false
|
|
autobenches = false
|
|
description = "Reads/writes STEP files from/to truck"
|
|
homepage = "https://github.com/ricosjp/truck"
|
|
readme = "README.md"
|
|
keywords = [
|
|
"truck",
|
|
"graphics",
|
|
]
|
|
categories = ["graphics"]
|
|
license = "Apache-2.0"
|
|
repository = "https://github.com/ricosjp/truck"
|
|
|
|
[lib]
|
|
name = "truck_stepio"
|
|
path = "src/lib.rs"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[dependencies.chrono]
|
|
version = "0.4.38"
|
|
features = ["wasmbind"]
|
|
|
|
[dependencies.derive_more]
|
|
version = "0.99.18"
|
|
optional = true
|
|
|
|
[dependencies.ruststep]
|
|
version = "0.4.0"
|
|
optional = true
|
|
|
|
[dependencies.serde]
|
|
version = "1.0.210"
|
|
features = ["derive"]
|
|
optional = true
|
|
|
|
[dependencies.truck-derivers]
|
|
version = "0.1.0"
|
|
optional = true
|
|
|
|
[dependencies.truck-geometry]
|
|
version = "0.5.0"
|
|
|
|
[dependencies.truck-geotrait]
|
|
version = "0.4.0"
|
|
optional = true
|
|
|
|
[dependencies.truck-modeling]
|
|
version = "0.6.0"
|
|
|
|
[dependencies.truck-polymesh]
|
|
version = "0.6.0"
|
|
|
|
[dependencies.truck-topology]
|
|
version = "0.6.0"
|
|
|
|
[dev-dependencies.clap]
|
|
version = "4.5.17"
|
|
features = ["derive"]
|
|
|
|
[dev-dependencies.espr-derive]
|
|
version = "0.4.0"
|
|
|
|
[dev-dependencies.itertools]
|
|
version = "0.13.0"
|
|
|
|
[dev-dependencies.proptest]
|
|
version = "1.5.0"
|
|
|
|
[dev-dependencies.serde_json]
|
|
version = "1.0.128"
|
|
|
|
[dev-dependencies.truck-meshalgo]
|
|
version = "0.4.0"
|
|
|
|
[features]
|
|
default = [
|
|
"in",
|
|
"derive",
|
|
]
|
|
derive = ["truck-derivers"]
|
|
in = [
|
|
"derive_more",
|
|
"ruststep",
|
|
"serde",
|
|
"truck-geotrait",
|
|
]
|