mirror of
https://github.com/visioncortex/vtracer.git
synced 2026-10-15 15:10:02 -07:00
Rewrite into a vectorization framework (pillars 1–4)
Replace the 0.6.x single-pipeline crate with a stage-based framework, per docs/design/. Implements Motivation pillars 1–4 (frontend, curve fitting, color fitting, optimizer); mosaic (5) and bindings are deferred. Workspace: - crates/vtracer — the framework library (wasm-safe, no I/O) - crates/vtracer-cli — thin CLI wrapper (clap 4 + image I/O) - cmdapp/ and webapp/ excluded from the workspace (git-preserved) Stages behind object-safe traits, composed by a Pipeline driver: - Frontend: ColorClusterFrontend (+ transparency keying), BinaryFrontend - CurveFitter: Pixel / Polygon / Spline (region tracing via visioncortex) - ColorFitter: Identity, FixedPalette (OKLab-nearest), AutoQuantize (area-weighted median cut), MergeAdjacent - OptimizerPass: QuantizePass, SimplifyPass - SvgWriter: relative/absolute shortest encoding, H/V/S shorthands, compact number formatting, <g fill> grouping visioncortex is a path dependency on the local 0.9.0 checkout. Verified: 14 unit/integration tests pass; framework builds for wasm32-unknown-unknown; CLI output renders faithfully via rsvg.
This commit is contained in:
+22
-1
@@ -1,7 +1,28 @@
|
||||
[workspace]
|
||||
|
||||
members = [
|
||||
"crates/vtracer",
|
||||
"crates/vtracer-cli",
|
||||
]
|
||||
|
||||
# The pre-1.0 crates are kept in the tree for git history but are no longer
|
||||
# part of the build. They are replaced by the crates/ workspace above.
|
||||
exclude = [
|
||||
"cmdapp",
|
||||
"webapp",
|
||||
]
|
||||
resolver = "2"
|
||||
|
||||
resolver = "2"
|
||||
|
||||
[workspace.package]
|
||||
version = "1.0.0-alpha.1"
|
||||
authors = ["Chris Tsang <chris.2y3@outlook.com>"]
|
||||
edition = "2021"
|
||||
license = "MIT OR Apache-2.0"
|
||||
homepage = "http://www.visioncortex.org/vtracer"
|
||||
repository = "https://github.com/visioncortex/vtracer/"
|
||||
|
||||
[workspace.dependencies]
|
||||
# visioncortex 0.9.0 is currently unreleased; developed against the local
|
||||
# checkout. Releases will pin a published 0.9.x.
|
||||
visioncortex = { version = "0.9", path = "../visioncortex" }
|
||||
|
||||
Reference in New Issue
Block a user