Skip to content

Fix operator navigation: five clean tabs, responsive header, specialist tools menu - #43

Merged
masarray merged 2 commits into
mainfrom
fix/lean-primary-nav-responsive-20261018
Oct 18, 2026
Merged

masarray merged 2 commits into
mainfrom
fix/lean-primary-nav-responsive-20261018

Conversation

@masarray

Copy link
Copy Markdown
Owner

Why

Seven fixed-width primary tabs caused header overflow in Windows screenshots and introduced unnecessary cognitive load.

Changes

  • Keep only Analyzer, Diagnostics, GOOSE, Timing/PTP and SCL as first-level tabs.
  • Preserve Validation and Advanced functions under one subtle header gear menu; no functionality or protocol evidence removed.
  • Synchronize primary selection / highlighted pill when switching from Tools or ViewModel state.
  • Responsive WPF density at <1450px: narrower 94-DIP tabs, compact product identity, and 180-DIP adapter, with dedicated separation.
  • Remove redundant truncated SCL status badges; the main matrix, stream catalog and footer retain actual engineering evidence.

Acceptance gates

  • Windows WPF build, automated tests, runtime stability, dependency audit, CodeQL, portable candidate package.
  • Operator verification at 1600x900 and minimum 1240 width, including navigation to and from Tools.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 18, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-18T00:50:35.581793Z 4b0295f PR opened
ℹ️ 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" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 4b0295fc15

ℹ️ 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".

Comment on lines +455 to +458
<MenuItem Header="Validation" Tag="4" Click="WorkspaceToolMenuItem_Click"
ToolTip="Compare SCL engineering with live traffic"/>
<MenuItem Header="Advanced" Tag="6" Click="WorkspaceToolMenuItem_Click"
ToolTip="Raw packet decode, estimator and performance"/>

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Add navigation regression coverage and documentation

This moves Validation and Advanced from first-level tabs into a new menu and changes the visible navigation state, but the commit updates only MainWindow.xaml and its code-behind. Add regression coverage for selecting indices 4/6 and returning to a primary tab, and update the operator documentation to describe the new route; repository policy explicitly requires both for runtime and user-visible changes.

AGENTS.md reference: AGENTS.md:L67-L67

Useful? React with 👍 / 👎.

Comment on lines +123 to +126
foreach (var tab in WorkspaceSegmentButtons.Children.OfType<RadioButton>())
tab.Width = compact ? 94 : 112;

UpdateWorkspaceActivePill(animate: false);

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Clear active animations before repositioning the pill

After any animated tab switch, both pill properties retain animations with the default FillBehavior.HoldEnd; crossing the 1450-DIP threshold then changes every tab's width and calls this non-animated update, but assigning the base X and Width values cannot override those active animations. Consequently, the highlighted pill can remain at its pre-resize offset or width until another tab is clicked. Remove the existing animations before applying the immediate values, or replace them with non-holding animations.

Useful? React with 👍 / 👎.

@masarray
masarray merged commit a27bb68 into main Oct 18, 2026
7 checks passed
@masarray
masarray deleted the fix/lean-primary-nav-responsive-20261018 branch October 18, 2026 00:52
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