Replies (2)

Copilot says: ``` No, this repo does **not** use d3.js directly. However, it uses **Visx** (from Airbnb), which is a collection of low-level React components built on top of d3 primitives. The repo imports specific d3 utilities only where needed: - `d3-sankey` - for Sankey graph layout - `d3-hierarchy` - for hierarchical data structures (Pack, Tree) - `d3-array` - for utilities like `bisector` - `d3-shape` - for curve and shape utilities The visualization strategy is to use **Visx components** (like `@visx/sankey`, `@visx/hierarchy`, `@visx/shape`) that handle rendering, then supplement with targeted d3 modules for data transformation and layout calculation. This keeps the bundle size smaller than importing the full d3.js library while maintaining full functionality. Examples in the codebase: - **Sankey diagrams** (`FlowChart.tsx`, `CoinJoinChart.tsx`) - uses `@visx/sankey` + `d3-sankey` - **Bubble charts** (`UtxoBubbleChart.tsx`) - uses `@visx/hierarchy` + `d3-hierarchy` - **Timeline charts** (`PrivacyTimeline.tsx`) - uses `@visx/shape` + `d3-shape` ```
Not related to nutrition, but D3.js simplifies complex data visualization.