Expand description
Figure visualization backend.
This module renders circuits with a Rust-native SVG-first pipeline and optional PNG
rasterization (via resvg).
§Core Features
- SVG-first rendering: directly generates scalable vector output.
- Optional PNG export: rasterizes SVG through
resvgwhen bitmap output is needed. - Shared IR pipeline: consumes
VisualCircuitbuilt by the common visualization builder. - Style-map driven drawing: gate colors/fonts/line styles come from
styles/default.jsonwith optional overrides.
§Typical Workflow
- Build visualization IR from a circuit.
- Convert IR into SVG output.
- Save SVG directly or rasterize to PNG.
§Examples
use cqlib_core::circuit::{Circuit, Qubit};
use cqlib_core::visualization::{FigureDrawerOptions, circuit_to_figure};
let mut circuit = Circuit::new(2);
circuit.h(Qubit::new(0)).unwrap();
circuit.cx(Qubit::new(0), Qubit::new(1)).unwrap();
let script = circuit_to_figure(&circuit, &FigureDrawerOptions::default()).unwrap();
assert!(script.contains("<svg"));Structs§
- Figure
Drawer Options - Options for figure drawing.
Enums§
- Figure
Draw Style - Figure rendering theme.
Functions§
- circuit_
to_ figure - Generate SVG markup for a circuit.
- draw_
figure_ from_ visual - Generate SVG markup from pre-built visualization IR.
- render_
figure_ to_ file - Render a circuit directly to an output file (
.svgor.png).