Skip to content

Add scatter, range, and horizontal bar charts#1

Open
oshtz wants to merge 1 commit into
Boring-Software-Inc:mainfrom
oshtz:agent/add-scatter-range-horizontal-bars
Open

Add scatter, range, and horizontal bar charts#1
oshtz wants to merge 1 commit into
Boring-Software-Inc:mainfrom
oshtz:agent/add-scatter-range-horizontal-bars

Conversation

@oshtz

@oshtz oshtz commented Jul 11, 2026

Copy link
Copy Markdown

Summary

Adds the missing Cartesian geometries needed for numeric comparisons while preserving existing chart APIs. This revision is rebased onto the current registry/CLI architecture.

  • Add ScatterChart and Scatter with numeric axes, dithered points, labels, X/Y tooltip values, nearest-point hover across every series, and selection.
  • Add RangeChart and Range for horizontal low/value/high intervals with dithered value markers and auto-domains derived only from registered range fields.
  • Add opt-in layout="horizontal" support to BarChart.
  • Preserve vertical bars as the default, including existing grouped and stacked behavior.
  • Generalize Cartesian scaling, axes, grid rendering, hit testing, and reusable dither painting for the new geometries.
  • Add exports, current-format registry entries/generated JSON, docs, mount regressions, and focused geometry tests.
  • Normalize generated registry source line endings so builds are deterministic across platforms.

Example

<ScatterChart
  data={data}
  config={config}
  xKey="cost"
  xDomain={[0, maxCost]}
  yDomain={[0, 1]}
>
  <XAxis />
  <YAxis />
  <Tooltip labelKey="model" />
  <Scatter dataKey="score" labelKey="model" radius={5} />
</ScatterChart>

<RangeChart
  data={data}
  config={config}
  categoryKey="model"
  domain={[0, 1]}
>
  <XAxis />
  <YAxis dataKey="model" />
  <Tooltip labelKey="model" />
  <Range dataKey="mean" lowKey="low" highKey="high" />
</RangeChart>

Horizontal bars use layout="horizontal", category labels on YAxis, and numeric values on XAxis.

Compatibility

Existing BarChart callers remain vertical by default. Existing grouped and stacked behavior is unchanged. No application-specific UI or SVG export changes are included.

Validation

  • npm test ? 35 Vitest component/geometry tests and 27 CLI tests passed
  • npm run build ? generated 11 registry items with 51 file references; CLI build passed
  • npx tsc --noEmit ? passed
  • Temporary Vite consumer previously verified at desktop/narrow widths in light and dark themes

Summary by Comp AI

No blocking issues found.

Written for commit 9d11218. New commits will trigger a re-review. Generated by Comp AI.

@oshtz
oshtz marked this pull request as ready for review July 11, 2026 19:50
@oshtz
oshtz force-pushed the agent/add-scatter-range-horizontal-bars branch from 0c5bdb8 to 0e8a7c9 Compare July 13, 2026 12:22
@tripwire-dev

tripwire-dev Bot commented Jul 13, 2026

Copy link
Copy Markdown

passed — nothing tripped. good to merge.

View on Tripwire

@ripgrim

ripgrim commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

@oshtz Could you give some screenshots of your change?

@oshtz

oshtz commented Jul 14, 2026

Copy link
Copy Markdown
Author

@ripgrim sure (:

Screenshot 2026-07-14 135110 Screenshot 2026-07-14 135139 Screenshot 2026-07-14 135124 Screenshot 2026-07-14 135156

screenshot dark mode w/ tooltips for vis.

@oshtz
oshtz force-pushed the agent/add-scatter-range-horizontal-bars branch from 0e8a7c9 to 9d11218 Compare July 15, 2026 06:34
@comp-ai-code-review

comp-ai-code-review Bot commented Jul 15, 2026

Copy link
Copy Markdown

Comp AI code review complete — no issues found.

Reviewed commit 9d11218.

Posted by Comp AI Code Reviews.

@comp-ai-code-review comp-ai-code-review Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No blocking issues found across the changed files.

Posted by Comp AI Code Reviews.

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