Repository navigation
Operator-first UX: calm analyzer scope, readable phase metering and progressive diagnostics/PTP - #33
Conversation
…idth RMS/angle phase ledger and on-demand power details
… chips; show lightweight lane legend and drag-only sample inspection
… keep technical metadata in a detail expander
…ote repetitive explanations to contextual details
…lapse verbose protocol caveats and remove repetitive copy
…PTP never displays unrelated SV global measurements
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 51d2f7b1bb
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| <StackPanel> | ||
| <TextBlock Text="TWO-STEP" Foreground="#91B3CF" | ||
| FontSize="10.5" FontWeight="SemiBold"/> | ||
| <TextBlock Text="{Binding Diagnostics.PtpMatchedTwoStepCount, StringFormat={}{0}}" |
There was a problem hiding this comment.
Refresh the PTP pair count shown in the card
When PTP remains selected while capture runs, this binding does not refresh: each analyzer refresh replaces _state.Diagnostics, but RaiseDiagnosticsProperties() raises only the derived PTP properties rather than Diagnostics, and SvDiagnosticsSnapshot does not implement property notifications. The primary count therefore remains at its initial value—often zero—while PtpTwoStepEvidenceText directly below it updates and can report a different pair count. Bind this value through a notifying view-model property or notify Diagnostics when the snapshot is replaced.
Useful? React with 👍 / 👎.
| <StackPanel> | ||
| <TextBlock Text="STATE NUMBER" Foreground="#91B3CF" | ||
| FontSize="10.5" FontWeight="SemiBold"/> | ||
| <TextBlock Text="{Binding SelectedGooseMessage.StNum, StringFormat={}{0}}" |
There was a problem hiding this comment.
Refresh the selected GOOSE state after each snapshot
When a GOOSE target stays selected, RefreshAsync() replaces _selectedGooseMessage with the matching object from every new snapshot without raising PropertyChanged for SelectedGooseMessage; GooseMessageItem itself is also non-notifying. Consequently this new direct binding retains the old object's StNum (and the adjacent SqNum) precisely when a publisher changes state, so the diagnostic card remains stale until the operator reselects the target. Raise the selection notification after reconciliation or expose these values through notifying properties.
Useful? React with 👍 / 👎.
Operator UX audit — 4 real Windows screenshots, Oct 17
The default analyzer panel showed repeated stream summaries, a permanent cursor tooltip drawn over live waveforms, a cramped/overlapping metering 2-column layout, redundant status paragraphs, and a semantic context bug: selecting a PTP source in Diagnostics still presented global SV sequence/arrival/signal cards.
Changes
Power & scaling details.Stream details; retain current selection ownership.smpCnt/4kfps metric for an SV publisher. Source evidence is still read-only.Verification and limits
CI Windows WPF/XAML compiler, xUnit regression, runtime stability, dependency review, CodeQL and portable candidate packaging must pass for the latest HEAD. Screenshots at 1366x768 and 1600x900 with real capture / font DPI scaling need physical operator QA after installing the artifact. Do not claim pixel-perfect approval from automated compilation. All waveform/snapshot, calibration authority and capture path semantics unchanged.