🗂️ Why Git Can't Track a Changing Dataset
Interactive 3D dataset-versioning timeline where creating simulated dataset snapshots shows a DVC-style pointer system tracking large-file versions without bloating a git-style repo.
A side-by-side 3D repository timeline: commit dataset snapshots and watch a naive Git repo grow a full-size block every time, while a DVC-style repo stays flat, storing only tiny pointer files and pushing the real bytes into a deduplicated content-addressable store.
🔬 What It Demonstrates
Every "Add dataset snapshot" click commits to both repos at once. The naive Git rail stacks a full-size blob per version forever; the DVC rail adds only a ~3.4KB pointer, and its storage rail only grows when the content hash actually changes.
🎮 How to Use
Set the snapshot size and how much of the dataset changed since last time. Drop "Change" to 0% and add a snapshot to trigger a dedup cache hit — the storage block pulses instead of duplicating. Try Auto-commit to watch the gap widen on its own.
💡 Did You Know?
DVC's .dvc files are plain text — just a path, a file size and a hash — small enough that git diffs and merges them like any other text file, even though the data they point to can be gigabytes.
Interactive 3D dataset-versioning timeline where creating simulated dataset snapshots shows a DVC-style pointer system tracking large-file versions without bloating a git-style repo.
3D · Three.js / WebGL renderer · 60 FPS target · runs fully client-side, no install