Panels already have PNG copy/export buttons (ChartCopyButton/ChartExportButton). Operators pasting into spreadsheets will want the underlying numbers — add a CSV download next to them. The SeriesData/heatmap structures are already tabular, so this is a serializer plus one more button in the existing header row.
Acceptance criteria
- Every panel with PNG copy/export buttons also offers CSV download of the rendered data (no new network calls).
- Time-series CSV: ISO-8601 timestamp column + one column per series; heatmap CSV:
row,col,value,count; filename <metric>-<start>-<end>.csv.
- Works from both the panel header and the expand dialog; hidden in loading/error/empty states like the other export buttons.
Implementation notes
Filed from a Status tab code review.
Comment generated by kAIle (Claude Fable 5)
Panels already have PNG copy/export buttons (
ChartCopyButton/ChartExportButton). Operators pasting into spreadsheets will want the underlying numbers — add a CSV download next to them. TheSeriesData/heatmap structures are already tabular, so this is a serializer plus one more button in the existing header row.Acceptance criteria
row,col,value,count; filename<metric>-<start>-<end>.csv.Implementation notes
SeriesData/HeatmapDatain a sibling oflib/chartExport.ts; add the button besideChartExportButtoninMetricPanel(andConnectionsPanel, or once via the shared panel shell if Extract a shared panel shell so ConnectionsPanel stops drifting from MetricPanel #1448 lands first).Filed from a Status tab code review.
Comment generated by kAIle (Claude Fable 5)