Generate a 3D glTF representation of a Git repository history.
Current version: 0.1.1
The tool reads commits, branches, and tags from a repository and produces:
git_history.gltfgit_history.glb
- Visualizes commits and parent relationships as 3D nodes and edges
- Renders branch heads and merge commits with distinct styling
- Renders tags as separate nodes above commits (with connecting stems)
- Optional commit progression animation via CLI flag
- Uses
System.CommandLinefor modern CLI parsing
- Windows (current publish target is
win-x64) - .NET SDK 10.0+
gitavailable in PATH
dotnet build git_gltf_visualizer.slndotnet test git_gltf_visualizer.slndotnet run --project src/GitGltfVisualizer -- <repo-path>Enable animation:
dotnet run --project src/GitGltfVisualizer -- <repo-path> --animationShort form:
dotnet run --project src/GitGltfVisualizer -- <repo-path> -aIf <repo-path> is omitted, the current directory is used.
The project is configured to publish a self-contained single-file binary.
dotnet publish src/GitGltfVisualizer/GitGltfVisualizer.csproj -c ReleaseOutput executable:
src/GitGltfVisualizer/bin/Release/net10.0/win-x64/publish/GitGltfVisualizer.exe
GitGltfVisualizer [repo] [--animation|-a]
repo: Path to a Git repository (defaults to current directory)--animation,-a: Enable pop-in animation for commit/tag nodes
For the target repository, generated files are written to:
<repo>/git_history.gltf<repo>/git_history.glb
src/GitGltfVisualizer: Application sourcetests/GitGltfVisualizer.Tests: xUnit test project