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.8+.

Adds examples/visualize.rs that wires it up: NSGA-II on Schaffer
N.1, plain run() (no observer plumbing), final-front SVG written to
disk.
This commit is contained in:
2026-05-06 07:58:08 -06:00
parent 6368ca5f3d
commit 5b5fe50df3
7 changed files with 503 additions and 2 deletions
+4
View File
@@ -1,3 +1,6 @@
[workspace]
members = [".", "heuropt-plot"]
[package]
name = "heuropt"
version = "0.8.0"
@@ -28,6 +31,7 @@ serde = { version = "1", features = ["derive"], optional = true }
[dev-dependencies]
gungraun = "0.18"
heuropt-plot = { path = "heuropt-plot" }
proptest = "1"
tokio = { version = "1", features = ["rt-multi-thread", "macros", "time"] }