diff --git a/CHANGELOG.md b/CHANGELOG.md index 4aec774..a467e70 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,11 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/) and this project adheres to [Semantic Versioning](http://semver.org/). -## Unreleased +## 1.0.0-alpha.3 - 2026-08-01 + +### Added + +* `vtracer-bench`: a blind fidelity benchmark for raster-to-vector tracers — it compares an original raster against a rendered reconstruction and reports one 0..1 score built from PSNR, SSIM, and a clustered-diff "missing patch" metric (geometric mean, so a single collapsed axis drags the score down). Blind to how the reconstruction was produced: render any tracer's output to pixels and score it. A new workspace crate, separate from the four shipped packages. ### Fixed diff --git a/Cargo.toml b/Cargo.toml index 7a2f605..ad661ce 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -19,7 +19,7 @@ exclude = [ resolver = "2" [workspace.package] -version = "1.0.0-alpha.2" +version = "1.0.0-alpha.3" authors = ["Chris Tsang "] edition = "2024" license = "MIT OR Apache-2.0" diff --git a/README.md b/README.md index 0e1d14f..224811b 100644 --- a/README.md +++ b/README.md @@ -169,7 +169,7 @@ cargo install vtracer-cli You can install [`vtracer`](https://crates.io/crates/vtracer) as a Rust library. ```sh -cargo add vtracer@1.0.0-alpha.2 +cargo add vtracer@1.0.0-alpha.3 ``` ```rust @@ -199,14 +199,14 @@ let seg = pipeline.segment(&img)?; // the expensive part let doc = pipeline.finish(&seg)?; // VectorDoc, ready to serialize ``` -See [docs.rs/vtracer](https://docs.rs/vtracer/1.0.0-alpha.2/vtracer/) for the full API. +See [docs.rs/vtracer](https://docs.rs/vtracer/1.0.0-alpha.3/vtracer/) for the full API. ### Python Library [`vtracer`](https://pypi.org/project/vtracer/) is also packaged as a Python native extension. ```sh -pip install vtracer==1.0.0a2 +pip install vtracer==1.0.0a3 ``` ```python @@ -238,7 +238,7 @@ See [`crates/vtracer-py`](crates/vtracer-py/README.md) for the full API. [`@visioncortex/vtracer`](https://www.npmjs.com/package/@visioncortex/vtracer) is available for Node as a WebAssembly build (from the [`nodejs`](nodejs/README.md) package) — image decoding and vectorization both run in wasm, so there is **no native dependency**. Decodes PNG, JPEG, GIF, BMP, and WebP; for other formats, decode yourself and pass raw RGBA to `convertPixels`. ```sh -npm install @visioncortex/vtracer@1.0.0-alpha.2 +npm install @visioncortex/vtracer@1.0.0-alpha.3 ``` ```js diff --git a/crates/vtracer-cli/Cargo.toml b/crates/vtracer-cli/Cargo.toml index b12dea9..d52b6eb 100644 --- a/crates/vtracer-cli/Cargo.toml +++ b/crates/vtracer-cli/Cargo.toml @@ -15,7 +15,7 @@ name = "vtracer" path = "src/main.rs" [dependencies] -vtracer = { version = "1.0.0-alpha.2", path = "../vtracer" } +vtracer = { version = "1.0.0-alpha.3", path = "../vtracer" } visioncortex.workspace = true # Decode-only: trimmed to real input formats (drops the AV1 encoder + OpenEXR). image = { version = "0.25", default-features = false, features = [ diff --git a/crates/vtracer-py/Cargo.toml b/crates/vtracer-py/Cargo.toml index 44129bf..66dd04a 100644 --- a/crates/vtracer-py/Cargo.toml +++ b/crates/vtracer-py/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "vtracer-py" description = "Python bindings for the vtracer vectorization framework." -version = "1.0.0-alpha.2" +version = "1.0.0-alpha.3" authors = ["Chris Tsang "] edition = "2024" license = "MIT OR Apache-2.0" @@ -19,7 +19,7 @@ name = "vtracer" crate-type = ["cdylib"] [dependencies] -vtracer = { version = "1.0.0-alpha.2", path = "../vtracer" } +vtracer = { version = "1.0.0-alpha.3", path = "../vtracer" } # Decode-only: trimmed to real input formats (drops the AV1 encoder + OpenEXR). image = { version = "0.25", default-features = false, features = [ "png", "jpeg", "gif", "bmp", "webp", "tiff", "ico", "pnm", "tga", "qoi", diff --git a/crates/vtracer-py/README.md b/crates/vtracer-py/README.md index d7bb737..2687d80 100644 --- a/crates/vtracer-py/README.md +++ b/crates/vtracer-py/README.md @@ -8,7 +8,7 @@ this crate adds image decoding and a Pythonic API. ## Install ```sh -pip install vtracer==1.0.0a2 +pip install vtracer==1.0.0a3 ``` ## Usage diff --git a/nodejs/Cargo.toml b/nodejs/Cargo.toml index 1a2b19d..e800be4 100644 --- a/nodejs/Cargo.toml +++ b/nodejs/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "vtracer-wasm" description = "WebAssembly core for the vtracer Node.js package." -version = "1.0.0-alpha.2" +version = "1.0.0-alpha.3" authors = ["Chris Tsang "] edition = "2024" license = "MIT OR Apache-2.0" @@ -15,7 +15,7 @@ repository = "https://github.com/visioncortex/vtracer/" crate-type = ["cdylib"] [dependencies] -vtracer = { version = "1.0.0-alpha.2", path = "../crates/vtracer" } +vtracer = { version = "1.0.0-alpha.3", path = "../crates/vtracer" } wasm-bindgen = "0.2" serde = { version = "1", features = ["derive"] } serde-wasm-bindgen = "0.6" diff --git a/nodejs/package.json b/nodejs/package.json index 2ffe596..912d1b3 100644 --- a/nodejs/package.json +++ b/nodejs/package.json @@ -1,6 +1,6 @@ { "name": "@visioncortex/vtracer", - "version": "1.0.0-alpha.2", + "version": "1.0.0-alpha.3", "description": "Raster to vector graphics converter (SVG). WebAssembly build of the vtracer framework — no native dependencies.", "main": "index.js", "types": "index.d.ts",