Moving a body transforms its intersection-curve edges, and truck-geometry 0.5.0 scales each curve's tolerance by the operator norm of the matrix. matext4cgmath 0.1.0 computes it from eigenvalues through a quartic whose Newton refinement loops while the residual is above a tolerance and never gives up. For a translation matrix all four eigenvalues are 1, and near that quadruple root the iteration can cycle forever (about one translation in eight of the boolean retries' shifts, by a scan of sizes 0.1-2000 mm). matext4cgmath is vendored with both Newton loops stopped after 100 steps (vendor/README.md, ATTRIBUTION.md). truck master no longer computes the norm in transform_by, so the vendored copy can go once a truck release after 0.5.0 is adopted. Tests: moving_a_body_with_an_intersection_curve_edge_ends (kernel) cuts a cylinder with a tilted box and moves the result by one of the shifts that hung (hangs on main). examples/regressions/oblique_cut_of_cylinder_hang.json is the variant of the oblique cut that hung the app; it hangs on main, and since the previous commit it passes without reaching the shifted retries, so it is replayed by the engine test as a scenario only. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
41 lines
1.1 KiB
TOML
41 lines
1.1 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 = "matext4cgmath"
|
|
version = "0.1.0"
|
|
authors = ["Yoshinori Tanimura <tanimura@ricos.co.jp>"]
|
|
description = "Unofficial third-party cgmath extensions for calculate eigenvalues, operator norms and Iwasawa decomposition."
|
|
homepage = "https://github.com/ricosjp/matext4cgmath"
|
|
keywords = [
|
|
"cgmath",
|
|
"graphics",
|
|
"linear-algebra",
|
|
]
|
|
categories = ["graphics"]
|
|
license = "Apache-2.0"
|
|
repository = "https://github.com/ricosjp/matext4cgmath"
|
|
resolver = "2"
|
|
autotests = false
|
|
autoexamples = false
|
|
autobenches = false
|
|
|
|
[dependencies.cgmath]
|
|
version = "0.18.0"
|
|
|
|
[dependencies.katexit]
|
|
version = "0.1.2"
|
|
|
|
[dependencies.num-complex]
|
|
version = "0.4.0"
|
|
|