| Crates.io | dotspace |
| lib.rs | dotspace |
| version | 0.4.0 |
| created_at | 2025-05-29 12:07:12.369172+00 |
| updated_at | 2025-06-16 01:51:00.9346+00 |
| description | Explore your Graphviz dot files in interactive 3D space |
| homepage | |
| repository | https://github.com/navicore/dotspace |
| max_upload_size | |
| id | 1693709 |
| size | 1,504,694 |
Explore your Graphviz dot files in interactive 3D space. Transform static graph diagrams into navigable 3D experiences.
cargo install dotspace
git clone https://github.com/navicore/dotspace.git
cd dotspace
make build
The binary will be available at target/release/dotspace.
# Visualize a dot file
dotspace graph.dot
# Pipe from another command
cat graph.dot | dotspace
# Generate and visualize on the fly
echo "digraph { A -> B -> C }" | dotspace
dotspace [OPTIONS] [FILE]
Arguments:
[FILE] Optional dot file path. If not provided, reads from stdin
Options:
-d, --distance <DISTANCE> Initial camera distance from center [default: 25.0]
-s, --speed <SPEED> Camera movement speed [default: 5.0]
-v, --label-distance <DIST> Label visibility distance [default: 15.0]
-h, --help Print help
-V, --version Print version
| Key | Action |
|---|---|
| Arrow Keys | Move camera forward/backward/left/right |
| Shift + Arrow Keys | Rotate camera around center |
| + / - | Zoom in/out |
| PageUp / PageDown | Alternative zoom controls |
| L (hold) | Show all labels temporarily |
| / | Open search (type to filter nodes) |
| ESC | Close search mode |
| Q | Exit application |
dotspace supports standard Graphviz dot syntax with additional attributes for 3D visualization:
Specify node types for different shapes and colors:
digraph Organization {
"CEO" [type="organization", level="3"];
"CTO" [type="team", level="2"];
"Dev1" [type="user", level="1"];
"CEO" -> "CTO";
"CTO" -> "Dev1";
}
Available node types:
organization - Red cube (large)lob (Line of Business) - Orange cylindersite - Blue torusteam - Green sphereuser - Purple capsule (small)Use the level attribute to control vertical positioning:
digraph Hierarchy {
"Level3" [level="3"];
"Level2" [level="2"];
"Level1" [level="1"];
"Ground" [level="0"];
}
The repository includes several example dot files in the examples/ directory:
# Organizational hierarchy
dotspace examples/hierarchy.dot
# Network topology
dotspace examples/network_topology.dot
# Software architecture
dotspace examples/software_architecture.dot
# Simple directed graph
echo 'digraph { rankdir=LR; A -> B -> C -> D; B -> D; }' | dotspace
make test
# Run clippy with CI settings
make clippy
# Auto-fix clippy warnings
make clippy-fix
# Format code
make fmt
# Full check (format, lint, test, build)
make all
# Run with example file
make run
# Run with stdin example
make run-stdin
dotspace is built with:
The visualization uses:
Contributions are welcome! Please feel free to submit a Pull Request.
twintalk Integration: dotspace will support live monitoring of digital twin runtimes through integration with twintalk. This will provide:
Note: twintalk handles all system-specific integrations (IoT, Kubernetes, logistics systems, etc.), while dotspace focuses purely on 3D visualization of the twin graph structure.
This project is licensed under the MIT License - see the LICENSE file for details.