Skip to content

Unify single-track and multi-track paths in ConfigurableGraph - #49

Merged
veillette merged 1 commit into
mainfrom
claude/review-complex-components-u9Zcb
Feb 24, 2026
Merged

Unify single-track and multi-track paths in ConfigurableGraph#49
veillette merged 1 commit into
mainfrom
claude/review-complex-components-u9Zcb

Conversation

@veillette

Copy link
Copy Markdown
Collaborator

The single-track path (primary linePlot + addDataPoints()) was dead code:
KinematicsGraphNode exclusively uses setTrackData() / clearAllTracks(),
so the primary linePlot was always empty and addDataPoints() was never
called from outside ConfigurableGraph.

  • Remove the primary LinePlot and its creation from ConfigurableGraph;
    the clippedDataContainer now only holds per-track plots from setTrackData()
  • Pass null for linePlot to the primary GraphDataManager, which now serves
    solely as a coordinator for tick spacing, axis reset, and the manuallyZoomed
    flag shared by gesture handlers
  • Make GraphDataManager.linePlot: LinePlot | null and guard the three
    setDataSet() call sites with optional chaining
  • Delete the dead public addDataPoints() and private getValueForAxis() methods

No behaviour change: the primary linePlot rendered nothing (0 points),
and the ZoomGestureHandler's getDataPointCount() > 1 branch was already
unreachable because the primary manager was never populated.

https://claude.ai/code/session_01JZLVYHZUundEnN8z2tM4mV

The single-track path (primary linePlot + addDataPoints()) was dead code:
KinematicsGraphNode exclusively uses setTrackData() / clearAllTracks(),
so the primary linePlot was always empty and addDataPoints() was never
called from outside ConfigurableGraph.

- Remove the primary LinePlot and its creation from ConfigurableGraph;
  the clippedDataContainer now only holds per-track plots from setTrackData()
- Pass null for linePlot to the primary GraphDataManager, which now serves
  solely as a coordinator for tick spacing, axis reset, and the manuallyZoomed
  flag shared by gesture handlers
- Make GraphDataManager.linePlot: LinePlot | null and guard the three
  setDataSet() call sites with optional chaining
- Delete the dead public addDataPoints() and private getValueForAxis() methods

No behaviour change: the primary linePlot rendered nothing (0 points),
and the ZoomGestureHandler's getDataPointCount() > 1 branch was already
unreachable because the primary manager was never populated.

https://claude.ai/code/session_01JZLVYHZUundEnN8z2tM4mV
@veillette
veillette merged commit 88d5f84 into main Feb 24, 2026
1 check passed
@veillette
veillette deleted the claude/review-complex-components-u9Zcb branch February 25, 2026 21:47
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.

2 participants