Prepare 1.0.0-alpha.3 release

- version 1.0.0-alpha.3 across the workspace, Python, and Node packages
  (and the vtracer dep pins, install snippets, and docs.rs link)
- CHANGELOG: date the section; note the new vtracer-bench crate and the
  watershed blurred-crack filament fix

(Supersampling was explored after alpha.2 and reverted -- it did not
improve output enough to keep.)
This commit is contained in:
Chris Tsang
2026-08-01 21:22:33 +01:00
parent 4a7820bf03
commit 58221025d5
8 changed files with 17 additions and 13 deletions
+5 -1
View File
@@ -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/) The format is based on [Keep a Changelog](http://keepachangelog.com/)
and this project adheres to [Semantic Versioning](http://semver.org/). 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 ### Fixed
+1 -1
View File
@@ -19,7 +19,7 @@ exclude = [
resolver = "2" resolver = "2"
[workspace.package] [workspace.package]
version = "1.0.0-alpha.2" version = "1.0.0-alpha.3"
authors = ["Chris Tsang <chris.2y3@outlook.com>"] authors = ["Chris Tsang <chris.2y3@outlook.com>"]
edition = "2024" edition = "2024"
license = "MIT OR Apache-2.0" license = "MIT OR Apache-2.0"
+4 -4
View File
@@ -169,7 +169,7 @@ cargo install vtracer-cli
You can install [`vtracer`](https://crates.io/crates/vtracer) as a Rust library. You can install [`vtracer`](https://crates.io/crates/vtracer) as a Rust library.
```sh ```sh
cargo add vtracer@1.0.0-alpha.2 cargo add vtracer@1.0.0-alpha.3
``` ```
```rust ```rust
@@ -199,14 +199,14 @@ let seg = pipeline.segment(&img)?; // the expensive part
let doc = pipeline.finish(&seg)?; // VectorDoc, ready to serialize 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 ### Python Library
[`vtracer`](https://pypi.org/project/vtracer/) is also packaged as a Python native extension. [`vtracer`](https://pypi.org/project/vtracer/) is also packaged as a Python native extension.
```sh ```sh
pip install vtracer==1.0.0a2 pip install vtracer==1.0.0a3
``` ```
```python ```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`. [`@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 ```sh
npm install @visioncortex/vtracer@1.0.0-alpha.2 npm install @visioncortex/vtracer@1.0.0-alpha.3
``` ```
```js ```js
+1 -1
View File
@@ -15,7 +15,7 @@ name = "vtracer"
path = "src/main.rs" path = "src/main.rs"
[dependencies] [dependencies]
vtracer = { version = "1.0.0-alpha.2", path = "../vtracer" } vtracer = { version = "1.0.0-alpha.3", path = "../vtracer" }
visioncortex.workspace = true visioncortex.workspace = true
# Decode-only: trimmed to real input formats (drops the AV1 encoder + OpenEXR). # Decode-only: trimmed to real input formats (drops the AV1 encoder + OpenEXR).
image = { version = "0.25", default-features = false, features = [ image = { version = "0.25", default-features = false, features = [
+2 -2
View File
@@ -1,7 +1,7 @@
[package] [package]
name = "vtracer-py" name = "vtracer-py"
description = "Python bindings for the vtracer vectorization framework." description = "Python bindings for the vtracer vectorization framework."
version = "1.0.0-alpha.2" version = "1.0.0-alpha.3"
authors = ["Chris Tsang <tyt2y7@gmail.com>"] authors = ["Chris Tsang <tyt2y7@gmail.com>"]
edition = "2024" edition = "2024"
license = "MIT OR Apache-2.0" license = "MIT OR Apache-2.0"
@@ -19,7 +19,7 @@ name = "vtracer"
crate-type = ["cdylib"] crate-type = ["cdylib"]
[dependencies] [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). # Decode-only: trimmed to real input formats (drops the AV1 encoder + OpenEXR).
image = { version = "0.25", default-features = false, features = [ image = { version = "0.25", default-features = false, features = [
"png", "jpeg", "gif", "bmp", "webp", "tiff", "ico", "pnm", "tga", "qoi", "png", "jpeg", "gif", "bmp", "webp", "tiff", "ico", "pnm", "tga", "qoi",
+1 -1
View File
@@ -8,7 +8,7 @@ this crate adds image decoding and a Pythonic API.
## Install ## Install
```sh ```sh
pip install vtracer==1.0.0a2 pip install vtracer==1.0.0a3
``` ```
## Usage ## Usage
+2 -2
View File
@@ -1,7 +1,7 @@
[package] [package]
name = "vtracer-wasm" name = "vtracer-wasm"
description = "WebAssembly core for the vtracer Node.js package." description = "WebAssembly core for the vtracer Node.js package."
version = "1.0.0-alpha.2" version = "1.0.0-alpha.3"
authors = ["Chris Tsang <tyt2y7@gmail.com>"] authors = ["Chris Tsang <tyt2y7@gmail.com>"]
edition = "2024" edition = "2024"
license = "MIT OR Apache-2.0" license = "MIT OR Apache-2.0"
@@ -15,7 +15,7 @@ repository = "https://github.com/visioncortex/vtracer/"
crate-type = ["cdylib"] crate-type = ["cdylib"]
[dependencies] [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" wasm-bindgen = "0.2"
serde = { version = "1", features = ["derive"] } serde = { version = "1", features = ["derive"] }
serde-wasm-bindgen = "0.6" serde-wasm-bindgen = "0.6"
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "@visioncortex/vtracer", "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.", "description": "Raster to vector graphics converter (SVG). WebAssembly build of the vtracer framework — no native dependencies.",
"main": "index.js", "main": "index.js",
"types": "index.d.ts", "types": "index.d.ts",