Repository navigation
Conversation
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: e772464adc
ℹ️ 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".
| RowLayout { | ||
| // Stack voltage/current to use the injection workspace | ||
| // vertically instead of leaving half the panel empty. | ||
| ColumnLayout { |
There was a problem hiding this comment.
Update the geometry gate for vertical stacking
The Windows lifecycle job runs --check-operator-ui, but checkOperatorViewport() in apps/arstack_studio/src/main.cpp still requires voltage.area.right() <= current.area.left(), which only accepts the former side-by-side layout. With both matrices in this ColumnLayout, they share the same horizontal span, so the first geometry case exits with code 21 before screenshot acceptance; update the predicate to validate voltage above current instead.
Useful? React with 👍 / 👎.
| require("smartSession.requestStartWithScenario(\n controller.startScenarioSnapshot())" in workflow | ||
| and "smartSession.requestStart()" not in workflow, |
There was a problem hiding this comment.
Make the START regression checks agree on formatting
This check requires the newly split two-line call, while the same test later still searches for the exact one-line substring requestStartWithScenario(controller.startScenarioSnapshot()) at lines 135–167. Consequently, running python3 apps/arstack_studio/tests/check_operator_workspace.py exits with reconnect must not auto-transmit..., and the Qt workflow that invokes this script always fails; consolidate these assertions or make them whitespace-insensitive.
Useful? React with 👍 / 👎.
…age/current matrices
|
Release cleanup · 2026-10-23 — CLOSED AS SUPERSEDED UI DESIGN (NOT MERGED). Original branch head: At canonical #286 head The multiple competing 2026-10-17 UI implementations cannot be merged into current Studio without overwriting the latest operator layout and the other active worker's automatic Live-edit/Enter/focus-out fix. Preserve the unique historical design and regression rationale here; #286 owns the current premium UI and exact-build release gate. Desktop 100/150/175% DPI visual acceptance and physical GUI→SV angles/phase verification remain pending, not marked PASS. In particular #239 stays OPEN because its RUNNING three-phase toggle changes actual channel values contract differs from the current preference-only switch and must be independently dispositioned. No changes to |
Preserve PTP–SV wire baseline
Strict QML + Studio regression only. No modification to ESP32-P4 firmware, PTP role/servo, timestamp gating, sample clock, encoded SV, or smpSynch AUTO. Preserve exact main/experimental synchronization baseline.
Root cause
Operator GUI setpoint table could show Ia=-30° while capture still had Ia=0° because WorkflowBar used a bare
requestStart()whenpendingApply==false. Next START therefore reused stale board phase. Remove this divergent path: ALWAYS passstartScenarioSnapshot()through ordered all-channel batch, irrespective of pendingApply. Validation, worker admission and session ownership remain unchanged.Visual improvements
CI/acceptance
Qt, Windows Lifecycle, Native Preview (exact-head firmware + UI); screenshot review still required for visual sizing. No unconditional background PTP startup: show PTP running only when hardware confirms it. Phasor and Wave are already visible/on by default in current screenshot. No new dialogs.