mirror of
https://github.com/visioncortex/vtracer.git
synced 2026-09-12 07:06:03 -07:00
ef9496f792
A new pipeline slot between curve fitting and composition: CurvePasses rewrite each fitted contour, so mosaic mode transforms every shared boundary segment exactly once and the tessellation stays seam-free by construction. SimplifyCurves re-fits each smooth run between corners with the fewest cubics within the tolerance (Schneider's algorithm via a current flo_curves — visioncortex's copy is pinned to an old one and block-splits at 200 points), with tangents from the chain's own ends, corners kept in place, junction endpoints pinned bit-for-bit, and rings seamed at their sharpest junction. Off by default; polylines pass through untouched. Cityscape at tolerance 1: 229 -> 138 KB stacked, 103 -> 36 KB watershed cutout, with render diffs under golden noise. CurveFitter now returns Vec<FittedGeom> (promoted from mosaic::fit) so stacked contours flow through the same pass machinery; the optimizer's SimplifyPass is renamed CleanupPass to free the word.
34 lines
960 B
TOML
34 lines
960 B
TOML
[workspace]
|
|
|
|
members = [
|
|
"crates/vtracer",
|
|
"crates/vtracer-cli",
|
|
]
|
|
|
|
# The pre-1.0 webapp is kept in the tree for now but is no longer part of the
|
|
# build. It is superseded by the crates/ workspace above.
|
|
exclude = [
|
|
"webapp",
|
|
# pyo3 extension-module cdylib; built with maturin, not the core workspace.
|
|
"crates/vtracer-py",
|
|
# wasm-bindgen cdylib; built with wasm-pack as the Node package's core.
|
|
"nodejs",
|
|
]
|
|
|
|
resolver = "2"
|
|
|
|
[workspace.package]
|
|
version = "1.0.0-alpha.1"
|
|
authors = ["Chris Tsang <chris.2y3@outlook.com>"]
|
|
edition = "2024"
|
|
license = "MIT OR Apache-2.0"
|
|
homepage = "http://www.visioncortex.org/vtracer"
|
|
repository = "https://github.com/visioncortex/vtracer/"
|
|
|
|
[workspace.dependencies]
|
|
visioncortex = "0.9.1"
|
|
# Schneider curve fitting for the simplify pass. visioncortex pins an old
|
|
# flo_curves internally for legacy reasons; we depend on the current one
|
|
# directly and convert at the call boundary.
|
|
flo_curves = "0.8"
|