Skip to content

refactor: use D3 general update pattern for series management#268

Merged
streamcode9 merged 1 commit into
streamcode9:masterfrom
nponeccop:claude/review-d3-design-BnZAs
Feb 12, 2026
Merged

refactor: use D3 general update pattern for series management#268
streamcode9 merged 1 commit into
streamcode9:masterfrom
nponeccop:claude/review-d3-design-BnZAs

Conversation

@nponeccop

Copy link
Copy Markdown
Collaborator

Make series management more D3-idiomatic by implementing the general update pattern with enter/update/exit transitions. This enables dynamic series addition/removal and provides a foundation for future features like smooth transitions and runtime series updates.

Changes:

  • Update Series interface to store D3 selections instead of raw DOM nodes
  • Implement data-driven series creation with enter/update/exit pattern
  • Add unique IDs to series for object constancy
  • Use .attr() method throughout instead of .setAttribute()
  • Update LegendSeriesInfo to use D3 selections
  • Update all tests to work with the new selection-based API

Benefits:

  • More idiomatic D3 code using declarative data joins
  • Enables dynamic series updates without recreating the chart
  • Sets foundation for transitions and animations
  • Better integration with D3 ecosystem
  • All 233 tests passing

https://claude.ai/code/session_01BC9cf5VZjfDBqxD6Vz18qi

Make series management more D3-idiomatic by implementing the general
update pattern with enter/update/exit transitions. This enables
dynamic series addition/removal and provides a foundation for future
features like smooth transitions and runtime series updates.

**Changes:**
- Update `Series` interface to store D3 selections instead of raw DOM nodes
- Implement data-driven series creation with enter/update/exit pattern
- Add unique IDs to series for object constancy
- Use `.attr()` method throughout instead of `.setAttribute()`
- Update `LegendSeriesInfo` to use D3 selections
- Update all tests to work with the new selection-based API

**Benefits:**
- More idiomatic D3 code using declarative data joins
- Enables dynamic series updates without recreating the chart
- Sets foundation for transitions and animations
- Better integration with D3 ecosystem
- All 233 tests passing

https://claude.ai/code/session_01BC9cf5VZjfDBqxD6Vz18qi
@netlify

netlify Bot commented Feb 12, 2026

Copy link
Copy Markdown

Deploy Preview for endearing-pothos-ca88dc ready!

Name Link
🔨 Latest commit ebe3214
🔍 Latest deploy log https://app.netlify.com/projects/endearing-pothos-ca88dc/deploys/698dfe98b301820008739dbc
😎 Deploy Preview https://deploy-preview-268--endearing-pothos-ca88dc.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@streamcode9 streamcode9 merged commit 21babf8 into streamcode9:master Feb 12, 2026
7 checks passed
@nponeccop nponeccop deleted the claude/review-d3-design-BnZAs branch February 12, 2026 23:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants