Reproducibility
The Reproducibility panel replays a whole pipeline (dataset, analysis, layout, visualization, render, export) from a declarative JSON or YAML file, and records a provenance manifest.
This panel sits at the top level of the SciGraphs sidebar tab. The same controls are also surfaced inside the Data panel when the data source is set to Repro.
Controls
Pipeline
| Control | Description |
|---|---|
| Pipeline file | Path to the pipeline .json or .yaml specification. |
| Validate | Checks the specification against the schema without executing it. |
| Run | Executes the full pipeline with deterministic seeding. |
Templates
| Control | Description |
|---|---|
| Export Template | Writes a starter pipeline file you can edit. |
| Export Current Scene | Serializes the current graph and settings into a pipeline specification, capturing what you built interactively. |
| Export Options Reference | Generates a Markdown reference of every option a pipeline can set, introspected from the live property groups, the schema and the operator registry. |
Artifacts
| Control | Description |
|---|---|
| Artifacts folder | Output directory for run artifacts (default //repro/). |
| Open Folder | Opens the artifacts directory in the file browser. |
When a graph is active, a Current Graph box reports its node/edge counts and source (OSMnx, geospatial, or custom).
The pipeline specification
For the complete schema, every field, the ops escape hatch and the nested scene_props format that exposes all SciGraphs parameters, see Writing pipeline files. The exhaustive, auto-generated option list lives at pipeline options reference.
A pipeline is a declarative description of the workflow, one block per stage. Only meta is required; the rest are optional and run in the order below.
{
"meta": {
"title": "burjassot_walk",
"seed": 42,
"output_dir": "//repro/burjassot_walk"
},
"dataset": {
"source": "osmnx",
"method": "PLACE",
"query": "Burjassot, Valencia, Spain",
"network_type": "walk"
},
"analysis": {
"metrics": ["degree", "betweenness"]
},
"visual": {
"node_color": "betweenness",
"colormap": "plasma",
"color_norm": "RANK",
"node_radius_rel": 0.004,
"edge_radius_rel": 0.0014
},
"lighting": {
"sun_energy": 3.0,
"sun_angle": 180.0
},
"render": {
"engine": "CYCLES",
"samples": 64,
"output": "figure.png",
"view_transform": "Standard"
}
}Two things in that example are deliberate and worth copying.
There is no layout block. A street network arrives with real coordinates, and those coordinates are the data; running a force-directed layout over them would throw the geography away. Layouts are for graphs that have no positions of their own.
color_norm is set to RANK. Betweenness on a road network concentrates on the few streets carrying through-traffic, so the default linear ramp would leave almost every node in the darkest color of the map. Ranking spreads the ramp evenly whatever the distribution.
Run artifacts
Each run emits a canonical (normalized) specification with the fully resolved pipeline, a provenance manifest with input/output hashes and timing, and an execution log. Together with the meta.seed, these guarantee that the same inputs reproduce the same result.
See the reproducible-pipeline example for a complete walkthrough.