Repository navigation
fix(chart): draw a live-edge break as a gap - #141
Merged
Merged
Conversation
A break that opened at the live edge drew as a held line until the next history read covered the span: the poll counted a q = 32 row for its debug line only and emitted it as an ordinary sample. The realtime seam now carries an absence. A Sample with a null Value is a break for that pen at that moment; TrendCoordinator keeps it in the batch, and ChartRealtimeApplier appends a NaN column there at every layer instead of folding it into the last column. RealtimePoll turns a q = 32 row into its value followed by a break 1 ms later, the smallest step that lands on a distinct axis position. The later OPC UA slices write breaks on session loss, on a Bad status and ahead of a pen's first live sample through the same null sample. Closes the backlog item "A break that opens at the live edge draws as a held line".
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
A break that opened at the live edge drew as a held line until the next history read covered the span.
RealtimePollcounted aq = 32row for its debug line only and emitted it as an ordinary sample.What changed
Sample.ValueandPenRealtimeValues.Valuesare nullable. A null value is a break for that pen at thatmoment, and
TrendCoordinatorkeeps it in the batch.ChartRealtimeApplierappends aNaNcolumn for a null at every layer, ahead of the coarse fold.RealtimePollturns aq = 32row into its value followed by a break 1 ms later. 1 ms is the smalleststep that lands on a distinct OA-date axis position.
charting.md,trend-interaction.md,data-integration.md,testing-strategy.md,trend-feature-spec.md,bench.md. The backlog item "A break that opens at the live edge draws as aheld line" is removed.
This is the first slice of
opc-live-edge(#116). Later slices write breaks on OPC UA session loss, on aBadstatus and ahead of a pen's first live sample through the same null sample. #116 is closed by theopc-live-sourceslice, not by this one.How it was verified
dotnet build SemiPlot.slnx: 0 errors.dotnet format SemiPlot.slnx --verify-no-changes: exit 0.dotnet test SemiPlot.slnx: Unit 2285/2285, Integration 195/195, 0 skipped.RealtimePoll.csrestored on the branch, 4 of 11 poll and journey tests fail.roadmap run.
Per-task commits before collapse