flowchart LR
A["1 Import or Generate"] --> B["2 Analyze"]
B --> C["3 Lay Out"]
C --> D["4 Visualize"]
D --> E["5 Render & Export"]
The end-to-end workflow
Whatever the data source, a SciGraphs project follows the same five stages.
1. Import or generate a graph
Load a file or database, download an OSMnx network, build an urban morphology graph, or pull a SuiteSparse matrix. Source detection and column mapping are handled in the Data panel; spatial sources have their own tabs (OSMnx, City2Graph).
The result is one Blender object carrying the graph as mesh topology (vertices = nodes, edges = edges) plus custom properties such as num_nodes, num_edges and is_directed.
2. Analyze
Compute centrality, community structure, statistics and topology in the Analysis panel and the Graph Algorithms panel. Results are stored as named mesh attributes. The stage is optional, but the metrics it produces are exactly what the color and size mappings read later.
3. Lay out
Arrange nodes with any of the 2D/3D force-directed, spectral, geometric or Graphviz algorithms, or skip layout entirely when the data carries intrinsic coordinates (geospatial, sparse-matrix). See the Layout & Positioning panel.
4. Visualize
Apply Geometry Nodes via Setup Visual, then drive node and edge color and size from attributes using scientific colormaps and edge-style presets. See the Visualization panel.
5. Render & export
Render with Cycles or EEVEE, and export the graph (GEXF, GraphML, JSON, CSV, Pajek), node positions, or a statistics report. See the Export & Tools panel.
Reproducing the whole pipeline
SciGraphs can replay a whole pipeline, dataset through export, from a short declarative JSON or YAML file:
{
"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
},
"render": {
"engine": "CYCLES",
"samples": 64,
"output": "figure.png",
"view_transform": "Standard"
}
}Note what is not there: no layout block. A street network arrives with real coordinates, and those coordinates are the data, so a force-directed layout would throw the geography away. Layouts are for graphs with no positions of their own.
Each run emits a canonical specification, a provenance manifest with input/output hashes and timing, and an execution log, so the same seed and inputs reproduce the same result. For the full schema and the ops escape hatch that exposes every SciGraphs parameter, see Writing pipeline files, the Reproducibility panel and the reproducible-pipeline example.