Skip to content

Dashboard: chart widgets (line, bar, area, sparkline, gauge) #101142

Description

@100yenadmin

Turn data bindings into visuals operators can actually read at a glance.

Part of the Modular Dashboard roadmap — see the tracker #101136. Builds on Wave 1 (#101093; PRs #101094 / #101097 / #101098).

Problem

Today the only builtins are stat-card and table. Small-business operators and agents watching a dashboard want to see trends — revenue over time, token spend, request latency — not just read the latest number. Without a chart primitive, every trend question requires exporting data elsewhere.

What this adds

  • Line, bar, area, sparkline, and gauge chart builtins.
  • Each bound to a file or rpc timeseries binding, same as existing builtins.
  • Dependency-free SVG rendering — no new npm dependency, to stay clear of the dependency-guard gate.

How it'd be built

Add the new chart kinds to BUILTIN_WIDGET_RENDERERS in ui/src/lib/dashboard/widgets/index.ts, following the renderStatCard pattern in ui/src/lib/dashboard/widgets/stat-card.ts. Extend BUILTIN_KIND_PATTERN in extensions/dashboard/src/schema.ts to accept the new kinds. Data flows through the existing resolveBinding path — charts just need a timeseries-shaped value from a file or rpc binding, rendered as raw SVG (polyline/path/rect elements) built by hand rather than via a charting library.

References

Tier 1 — high-value builtins.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Normal backlog priority with limited blast radius.clawsweeper:fix-shape-clearClawSweeper found a clear likely implementation shape for this issue.clawsweeper:needs-maintainer-reviewClawSweeper marked this issue as needing maintainer review before automation.clawsweeper:needs-product-decisionClawSweeper marked this issue as needing a product or behavior decision.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.impact:ux-frictionUser-facing flow adds avoidable confusion or support burden without fully blocking progress.issue-rating: 🌊 off-meta tidepoolIssue quality rating does not apply to this item.

    Type

    No type

    Fields

    Priority

    None yet

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions