fix(offset): handle curved self-intersections

Closes #544
This commit is contained in:
Hakan Seven 2026-07-30 00:06:02 +03:00
commit d495e31d37
3 changed files with 287 additions and 167 deletions

26
Cargo.lock generated
View file

@ -19,6 +19,7 @@ dependencies = [
"acadrust",
"bincode",
"bytemuck",
"cavalier_contours",
"clap",
"console_error_panic_hook",
"cosmic-text",
@ -898,6 +899,16 @@ dependencies = [
"wayland-client",
]
[[package]]
name = "cavalier_contours"
version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "31cab9e73a5a3533d3d6fb36818e8735dd033e080fa70a63d90846c8183708c9"
dependencies = [
"num-traits",
"static_aabb2d_index",
]
[[package]]
name = "cbc"
version = "0.1.2"
@ -3259,7 +3270,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0b577e2d69827c4740cba2b52efaad1c4cc7c73042860b199710b3575c68438d"
dependencies = [
"bytecount",
"memchr 1.0.2",
"memchr 2.8.3",
"nom 8.0.0",
]
@ -4768,7 +4779,7 @@ dependencies = [
"security-framework",
"security-framework-sys",
"webpki-root-certs",
"windows-sys 0.52.0",
"windows-sys 0.61.2",
]
[[package]]
@ -5278,6 +5289,15 @@ version = "1.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596"
[[package]]
name = "static_aabb2d_index"
version = "2.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1204bd3057a2225dc60d157bd921aaeaa4d318527bd32af4678cad39e5279849"
dependencies = [
"num-traits",
]
[[package]]
name = "static_assertions"
version = "1.1.0"
@ -6920,7 +6940,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7d6f32a0ff4a9f6f01231eb2059cc85479330739333e0e58cadf03b6af2cca10"
dependencies = [
"cfg-if",
"windows-sys 0.59.0",
"windows-sys 0.61.2",
]
[[package]]