Skip to content

feat(deployments): mark deployment start and end on activity sparklines - #639

Merged
Chouffe merged 3 commits into
mainfrom
arthur/deployment-coverage-hairline
Sep 25, 2026
Merged

Chouffe merged 3 commits into
mainfrom
arthur/deployment-coverage-hairline

Conversation

@Chouffe

@Chouffe Chouffe commented Sep 23, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

image
  • Deployments tab: each bars/heatmap sparkline gets two faint 1px vertical marks at the deployment's first and last bucket edges, so "camera wasn't running" reads differently from "camera ran but saw nothing". Faint slate at rest, blue on row hover or selection. The marks sit behind the chart (negative z-index in an isolated wrapper) so the data always paints on top. Section headers for co-located deployments show the union of their children's ranges in muted slate. Line mode is deliberately left without marks because they fight the smoothed curve.
  • The cursor count pill on the selected row now reads "not deployed" instead of "0 obs" when the cursor is over the selected row itself, the hovered bucket is empty, and it lies entirely outside that deployment's window. Buckets with observations always show their count, and hovering any other row keeps the plain count (the pill always describes the selected deployment).
  • Fixes a pre-existing misalignment surfaced by this work: indented child rows under a location header shifted their sparkline 28px right of the header's date axis and the hover ruler, so the crosshair mapped to the wrong bucket on grouped deployments. The indent is now absorbed by the name column.
  • New pure helper coverage.js snaps dates outward to bucket edges (half-open buckets, open-ended on a missing date, null on unparseable or out-of-grid input). Renderer-only; no IPC or query changes, the activity payload already carried deploymentStart / deploymentEnd.

Test plan

  • node --test test/renderer/*.test.js: 257 pass (16 new: bucket snapping, boundary dates, open-ended ranges, unparseable dates, group union incl. order-independence with bad dates)
  • Driven over CDP on the 411-deployment / 154-location study at 2x DPR: every mark within 1px of a sparkline cell edge in bars and heatmap; 0 marks rendered in line mode; z-index and isolation verified from computed styles; child-row sparklines start at the same x as their header's
  • Pill on a selected child row: "259 obs" hovering its deployed bucket, "not deployed" hovering outside; "0 obs" when hovering another row's busy cell
  • Eyeball dark mode on a study with a long gap between deployments at the same location

@netlify

netlify Bot commented Sep 23, 2026 •

Copy link
Copy Markdown

✅ Deploy Preview for lucent-yeot-0cb408 canceled.

Name Link
🔨 Latest commit 2d5f95b
🔍 Latest deploy log https://app.netlify.com/projects/lucent-yeot-0cb408/deploys/6ab663fda6b5c9000882202c

@Chouffe
Chouffe requested a review from ioRekz September 23, 2026 08:43
A row's sparkline could not distinguish a camera that was not running from one that ran and saw nothing. Two faint vertical marks now sit behind each bars/heatmap sparkline at the deployment's first and last bucket edges, turning blue on hover or selection; section headers show the union of their children. The cursor pill says 'not deployed' instead of '0 obs' when the hovered empty bucket falls outside the selected deployment's window. Line mode is left untouched because the marks fight the smoothed curve.
…ployed' to the selected row

Indented child rows shifted their sparkline 28px right of the header's date axis and the hover ruler, so the crosshair mapped to the wrong bucket on grouped deployments and the pill could say 'not deployed' over a cell with a bar. The indent is now absorbed by the name column. The 'not deployed' wording is also only used while the cursor is over the selected row itself; over any other row the pill keeps its plain count, since it always describes the selected deployment.
@Chouffe
Chouffe force-pushed the arthur/deployment-coverage-hairline branch from 0a4a4bc to f837ce4 Compare September 23, 2026 12:33
@Chouffe

Chouffe commented Sep 23, 2026

Copy link
Copy Markdown
Collaborator Author

would love your review @ioRekz

…erage-hairline

# Conflicts:
#	src/renderer/src/deployments.jsx
#	src/renderer/src/deployments/groupDeployments.js
@Chouffe
Chouffe merged commit 81dc2ef into main Sep 25, 2026
13 checks passed
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.

1 participant