Repository navigation
fix(studio): truly narrow setpoint table, balanced phasor/wave, commit-on-confirm decimal editors - #278
Conversation
…l and give Phasor/Waveform balanced heights
…e comma decimal, reject invalid without partial live SET
…out stealing editor/button interactions
…ter/blur numeric commit and decimal comma
…side cells without stealing normal clicks
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. |
…l-height plot contract
There was a problem hiding this comment.
💡 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 |
There was a problem hiding this comment.
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 👍 / 👎.
…eives click-away focus
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
SurfacePanelhadSplitView.fillWidth: true, overriding narrower preferredWidth and grabbing flex space. Change LEFT tofillWidth:false, min425/preferred470/max515px, RIGHT tofillWidth:truemin385/preferred640px. Splitter still draggable; at 960px width minimum 425+385+handle fits. At normal 1150px window, charts own the excess width.SplitView.maximumHeight:265on 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.commitMagnitude/commitPhasehelpers 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.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.