Repository navigation
feat(minimap): draw the drawn pen across the archive (#91) - #108
Merged
Merged
Conversation
The minimap was a navigation strip with no data on it, and its window marker left the strip once the chart followed live data past the extent read at start: the marker's left edge was not clamped, and the strip's right bound stayed at the startup extent. The marker now stays inside the strip at any zoom, and the right bound follows the newest sample the chart has seen, sticky or not. The strip draws the min/max band of the pen whose axis the chart draws, from the coarsest layer that still gives it 250 columns, scaled to its own range, in the pen's colour; a break in the archive is a gap. The band is re-read at start, after an extent reload, when the drawn pen changes, and every span/1000 between 2 s and 60 s, so it trails the right bound by about a pixel. A read for a pen no longer drawn is dropped, and an outage reports once and logs each repeat. The line through the middle of the strip is gone. The end labels sit in a row under the strip, clear of the chart's time labels, and hovering the strip shows a line with its time to the minute. Claude-Session: https://claude.ai/code/session_01PfZJa7neMMKPzycFR6iuhD
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
The minimap was a navigation strip with no data on it, and its window marker left the strip once the chart followed live data past the extent read at start (#91): the marker's left edge was not clamped, and the strip's right bound stayed at the startup extent.
What changed
MinimapGeometry.MarkerSpankeeps the marker inside the strip at any zoom.ChartNavigationController.NewestSample, which the navigation raises on every write, sticky or not.MinimapBandFeedreads the drawn pen's band over the whole extent at the layerLayerForWidth(span, previous, 250)picks, on start, an extent reload, a drawn-pen change andclamp(span / 1000, 2 s, 60 s)after each read lands. A read for a pen no longer drawn is dropped;OutageReportreports the first failure of an outage and logs repeats, for the band and the extent re-read alike.MinimapGeometry.BandFiguresturns the envelope into one figure per non-NaN run (finite values only, a flat pen at mid-height, a lone column 2 px wide);MinimapBanddraws them in the pen's colour.trend-interaction.md,charting.md,data-integration.md,ui-theme.md,bench.md,testing-strategy.md, TM-4 andCLAUDE.mdfollow the code; the plan moves todocs/plans/completed/.Verification
dotnet build SemiPlot.slnx: 0 warnings. Unit 1668/1668 under--blame-hang.AWindowPastTheExtent_KeepsItsMarkerInsideTheStripandANewerSampleThanTheExtent_MovesTheRightBoundAndItsLabelfailed by assertion against the code before their fixes;TheMinimapRow_ShowsTheWholeLabelRowUnderTheStripfails with the oldHeight="36".Closes #91
Per-task commits before collapse
https://claude.ai/code/session_01PfZJa7neMMKPzycFR6iuhD