Skip to content

fix(studio): truly narrow setpoint table, balanced phasor/wave, commit-on-confirm decimal editors - #278

Open
masarray wants to merge 9 commits into
fix/p0-studio-responsive-start-first-click-20261021from
fix/p0-balanced-phasor-commit-editors-20261021
Open

masarray wants to merge 9 commits into
fix/p0-studio-responsive-start-first-click-20261021from
fix/p0-balanced-phasor-commit-editors-20261021

Conversation

@masarray

Copy link
Copy Markdown
Owner

Operator field feedback (two 2026-10-21 Windows screenshots)

Left setpoint editor still nearly 680px wide in installed #276, despite preferredWidth, and phasor is limited to 265px while waveform takes remaining ~400px. Numeric editing sends prematurely every 90ms while the engineer is still entering a value. Operator requires a slimmer setpoint rail than even their second screenshot, equally strong phasor and waveform panel visual weight, and reliable Enter/Tab/click-away numeric edits accepting both 0.5 / 0,5.

Root cause and changes

  • Actual root cause: left SurfacePanel had SplitView.fillWidth: true, overriding narrower preferredWidth and grabbing flex space. Change LEFT to fillWidth:false, min425/preferred470/max515px, RIGHT to fillWidth:true min385/preferred640px. Splitter still draggable; at 960px width minimum 425+385+handle fits. At normal 1150px window, charts own the excess width.
  • Remove hard SplitView.maximumHeight:265 on Phasor. Both Phasor and Waveform have preferred height 300px, minimum 190; Phasor fills remaining vertical space, Waveform no longer hogs all the extra vertical pixels. Vector size naturally scales with canvas height, balancing RYB phasors/waves.
  • Remove both 90ms partial-value transmit timers from editable SignalMatrix. Two idempotent commitMagnitude/commitPhase helpers apply only on Enter, focus departure/Tab, click blank/outside and when START needs a snapshot. No duplicate live SET for unchanged value; failed validation restores last accepted value with an actionable toast; decimal comma and dot normalize via shared operator parser, e.g. 0,5→0.500. Do NOT silently clamp out-of-range injected currents/voltages.
  • Underlying blank-matrix MouseArea releases focus; passive whole-workspace TapHandler commits on any click outside currently active numeric editor but does not take over control click/focus, preserving text selection/context menus. Firmware commit/ACK ownership unchanged.
  • Update Qt workspace structural regression to prohibit partial-timer SET, assert ENTER/blur/blank-click and START flush, correct SplitView fill ownership and phasor height.

Stacked on #276, #273, #271, #270. Run Qt/native Windows preview and installer/upgrade lifecycle CI at exact HEAD; no public release or merge to main until board acceptance. Hardware user testing still required for 20 START/STOP cycles, GUI focus on Windows and 1h continuous SV.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 21, 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-21T11:06:37.401843Z 91f2a1b 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: 91f2a1b13e

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

and "SplitView.maximumWidth: 515" in responsive_main
and "SplitView.preferredWidth: 640" in responsive_main
and "SplitView.preferredHeight: 300" in responsive_main
and "SplitView.maximumHeight: 265" not in responsive_main

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 Remove the contradictory maximum-height assertion

This newly requires SplitView.maximumHeight: 265 to be absent, but the same test still requires that exact string to be present at lines 387–390. Running python3 apps/arstack_studio/tests/check_operator_workspace.py on this commit therefore exits with compact timing strip and bounded phasor panel must avoid dead space, so the operator-workspace CI gate cannot pass until the earlier assertion is updated or removed.

Useful? React with 👍 / 👎.

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