Skip to content

Commit 2f03478

Browse files
authored
Merge pull request #1821 from AliaksandrNazaruk/feat/fossil-record-visualizer
Fossil Record attestation archaeology visualizer with D3.js. Nice stacked area chart, streamgraph mode, architecture color coding. Bounty #2311.
2 parents 43ec92b + 0d96887 commit 2f03478

2 files changed

Lines changed: 399 additions & 0 deletions

File tree

web/fossils/README.md

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
# The Fossil Record — Attestation Archaeology Visualizer
2+
3+
**Bounty #2311 · 75 RTC**
4+
5+
Interactive D3.js visualization of RustChain attestation history, rendered as geological strata.
6+
7+
## Features
8+
9+
- **Stacked Area Chart** — architecture layers ordered by age (68K deepest, x86 on top)
10+
- **Streamgraph Mode** — centered flow view for temporal dynamics
11+
- **Normalized Mode** — percentage-based to see market share shifts
12+
- **Interactive Tooltips** — hover any layer for miner count, epoch, RTC earned, share %
13+
- **Architecture Color Coding** — 11 families from amber (68K) to pale grey (x86)
14+
- **Epoch Settlement Markers** — vertical dashed lines every 25 epochs
15+
- **First Appearance Markers** — shows when each architecture joined the network
16+
- **Responsive** — works on desktop and mobile
17+
- **No Backend Required** — static HTML + D3.js, deployable at `rustchain.org/fossils`
18+
19+
## Architecture Color Map
20+
21+
| Architecture | Color | Depth |
22+
|---|---|---|
23+
| 68K | Dark Amber | Deepest |
24+
| G3 | Warm Gold | |
25+
| G4 (PowerPC) | Copper | |
26+
| G5 (PowerPC) | Bronze | |
27+
| SPARC | Crimson | |
28+
| MIPS | Jade | |
29+
| POWER8 | Deep Blue | |
30+
| ARM | Saddle Brown | |
31+
| Apple Silicon | Silver | |
32+
| Modern x86 | Pale Grey | |
33+
| Virtual Machine | Dark Grey | Surface |
34+
35+
## Deployment
36+
37+
Copy `index.html` to `rustchain.org/fossils/`:
38+
39+
```bash
40+
cp web/fossils/index.html /var/www/rustchain/fossils/index.html
41+
```
42+
43+
No build step, no dependencies beyond D3.js (loaded from CDN).
44+
45+
## Production Integration
46+
47+
The demo uses generated data. To connect to live RustChain data:
48+
49+
1. Replace `generateData()` with a fetch to the attestation API
50+
2. API endpoint: `GET /api/attestations/history?group_by=arch&bucket=epoch`
51+
3. Expected format: `[{epoch, 68k, g4, g5, sparc, mips, power8, arm, apple_silicon, x86, vm, totalRTC}]`
52+
53+
## Tech Stack
54+
55+
- D3.js v7 (CDN)
56+
- Vanilla JS, no framework
57+
- CSS custom properties for theming
58+
- Vintage terminal aesthetic matching rustchain.org

0 commit comments

Comments
 (0)