feat(heuropt-plot): v0.1.0 — SVG visualization companion crate

Adds heuropt-plot, a tiny SVG-only plotter that takes heuropt
results and emits scatter plots (pareto_front_svg) and line plots
(convergence_svg). No heavy 'plotters' or 'tiny-skia' dep — hand-
rolled SVG so the crate adds <100 KB to a build.

Workspace setup: root Cargo.toml gains [workspace] with members =
['.', 'heuropt-plot']. heuropt-plot has its own version (0.1.0) and
publishes independently against heuropt 0.7+.

Adds examples/visualize.rs that wires it all up: NSGA-II on Schaffer
N.1, observer closure recording per-generation hypervolume, two SVGs
written to disk.
This commit is contained in:
2026-05-05 15:26:22 -06:00
parent 41122b7d48
commit 8cf518200a
8 changed files with 634 additions and 0 deletions
+4
View File
@@ -1,3 +1,6 @@
[workspace]
members = [".", "heuropt-plot"]
[package]
name = "heuropt"
version = "0.7.0"
@@ -30,6 +33,7 @@ tracing = { version = "0.1", optional = true, default-features = false, features
[dev-dependencies]
gungraun = "0.18"
heuropt-plot = { path = "heuropt-plot" }
proptest = "1"
tokio = { version = "1", features = ["rt-multi-thread", "macros", "time"] }