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
+2 -2
View File
@@ -4,12 +4,12 @@
//! use heuropt::prelude::*;
//! ```
#[cfg(feature = "async")]
pub use crate::core::async_problem::AsyncProblem;
pub use crate::core::{
Candidate, Direction, Evaluation, Objective, ObjectiveSpace, OptimizationResult,
PartialProblem, Population, Problem, Rng, rng_from_seed,
};
#[cfg(feature = "async")]
pub use crate::core::async_problem::AsyncProblem;
pub use crate::traits::{Initializer, Optimizer, Repair, Variation};