Commit Graph
13 Commits
Author SHA1 Message Date
duan_jandClaude Fable 5.1 79bb351437 style(gui): soften the mounted-sample HUD ink on light themes
CI / lint (pull_request) Successful in 51s
CI / test (3.12) (pull_request) Successful in 1m18s
CI / test (3.14) (pull_request) Successful in 1m15s
CI / test (3.13) (pull_request) Successful in 1m23s
CI / test-with-beamline-plugins (pxii_bec) (pull_request) Successful in 1m16s
CI / test-with-beamline-plugins (pxi_bec) (pull_request) Successful in 1m23s
CI / test-with-beamline-plugins (pxiii_bec) (pull_request) Successful in 1m38s
CI / test-with-coverage (pull_request) Successful in 1m41s
Docs build and publish / docker (push) Successful in 10s
CI / lint (push) Successful in 35s
CI / coverage-analysis (pull_request) Successful in 10s
CI / test (3.12) (push) Canceled after 48s
CI / test (3.13) (push) Canceled after 43s
CI / test (3.14) (push) Canceled after 43s
CI / test-with-beamline-plugins (pxi_bec) (push) Canceled after 38s
CI / test-with-beamline-plugins (pxii_bec) (push) Canceled after 38s
CI / test-with-beamline-plugins (pxiii_bec) (push) Canceled after 33s
CI / test-with-coverage (push) Canceled after 33s
CI / coverage-analysis (push) Canceled after 0s
Build and Publish / release (push) Successful in 20s
Pure black (SHADOW) over the camera image read too harsh; use the
theme text ink (TEXT) with the same white halo instead. Sunset keeps
white on black.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-18 16:35:05 +02:00
duan_jandClaude Fable 5.1 b5e6159118 fix(gui): add "Show beam crosshair" toggle to the camera right-click menu
CI / lint (push) Skipped
CI / test (3.12) (push) Skipped
CI / test (3.13) (push) Skipped
CI / test-with-beamline-plugins (pxi_bec) (push) Skipped
CI / test-with-beamline-plugins (pxii_bec) (push) Skipped
CI / test-with-beamline-plugins (pxiii_bec) (push) Skipped
CI / lint (pull_request) Successful in 49s
CI / test (3.12) (pull_request) Successful in 1m10s
CI / test (3.13) (pull_request) Successful in 1m11s
CI / test (3.14) (pull_request) Successful in 1m17s
CI / test-with-beamline-plugins (pxi_bec) (pull_request) Successful in 1m13s
CI / test-with-beamline-plugins (pxii_bec) (pull_request) Successful in 1m14s
CI / test-with-beamline-plugins (pxiii_bec) (pull_request) Successful in 1m36s
CI / test-with-coverage (pull_request) Successful in 1m23s
CI / coverage-analysis (pull_request) Successful in 2m7s
Right-clicking the sample camera now offers a checkable "Show beam
crosshair" entry. When on, two full-frame lines through the beam center
are drawn with the same pen as the beam box, so the crosshair follows
the beam state color. Off by default so the view stays as before.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-18 09:19:21 +02:00
duan_jandClaude Fable 5.1 bf11528e86 fix(gui): zoom-proof the Dewar table and control heights, theme the mounted HUD ink
Dewar "#" column sat 1px above the other rows at some zoom steps: the
frozen-column overlay sizes its own header from "#" alone while the main
header also sees the symbol columns, whose fallback-font glyphs have a
taller line box. The overlay header is now pinned to the main header
height on resize and (deferred, receiver-bound) on font/style change.

Zoom also left columns at their startup widths (headers truncated) and
clipped descenders in every button/combo/entry box: the 16px height pin
in both sheets was raw px while the body font grew to 18/21px. Columns
re-autosize on FontChange and the pin scales with the font ladder.

Camera "Currently mounted" HUD: black ink on a white halo in the light
themes, white on black in Sunset, instead of white-on-black everywhere.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-17 18:44:56 +02:00
duan_jandClaude Fable 5 6d09ae4fe3 feat: show the mounted sample name on the camera view
A "Currently mounted: <sample_name>" HUD line in the top-left corner of
the sample camera, driven by the DAQ status (clears when nothing is
mounted). Painted like the other camera HUDs and sized through the text
zoom, which QSS cannot reach here.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-09-14 13:23:32 +02:00
duan_jandClaude Fable 5.1 dbd5b9078f style: paint the unknown-session badge with the viewing-mode style
CI / lint (push) Skipped
CI / test (3.12) (push) Skipped
CI / test (3.13) (push) Skipped
CI / test-with-beamline-plugins (pxi_bec) (push) Skipped
CI / test-with-beamline-plugins (pxii_bec) (push) Skipped
CI / test-with-beamline-plugins (pxiii_bec) (push) Skipped
CI / lint (pull_request) Successful in 48s
CI / test (3.12) (pull_request) Successful in 1m3s
CI / test (3.13) (pull_request) Successful in 1m5s
CI / test (3.14) (pull_request) Successful in 1m10s
CI / test-with-beamline-plugins (pxi_bec) (pull_request) Successful in 1m10s
CI / test-with-beamline-plugins (pxii_bec) (pull_request) Successful in 1m13s
CI / test-with-beamline-plugins (pxiii_bec) (pull_request) Successful in 1m24s
CI / test-with-coverage (pull_request) Successful in 1m35s
CI / coverage-analysis (pull_request) Failing after 4s
The sample camera drew its own gold/orange/red "Session Vacant /
Baton Requested / Guest Mode" box whenever the busy overlay had nothing
to show. Since the busy-style builder already receives the session
state, that box only ever appeared while the session was still unknown
(no status yet, or one without a session), so it flashed a different
color and shape than the yellow "Viewing mode, click here to grab the
baton" badge every known not-owned state gets.

Hoist that badge into VIEWING_MODE_STYLE and paint it from both paths;
the hover fill is shared through _badge_fill. The three MARK_TOOLTIP
constants had no other users and are dropped.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-08 14:31:32 +02:00
duan_j 0696b583b0 test: no need to compare wording
CI / test-with-coverage (pull_request) Successful in 2m23s
CI / lint (pull_request) Successful in 47s
CI / test (3.12) (pull_request) Successful in 58s
CI / test (3.13) (pull_request) Successful in 1m3s
CI / test-with-beamline-plugins (pxi_bec) (pull_request) Successful in 1m6s
CI / test-with-beamline-plugins (pxii_bec) (pull_request) Successful in 1m6s
CI / test (3.14) (pull_request) Successful in 2m18s
CI / coverage-analysis (pull_request) Successful in 3s
CI / test-with-beamline-plugins (pxiii_bec) (pull_request) Successful in 3m27s
Docs build and publish / docker (push) Successful in 4s
CI / lint (push) Canceled after 34s
CI / test (3.12) (push) Canceled after 34s
CI / test (3.13) (push) Canceled after 29s
CI / test (3.14) (push) Canceled after 29s
CI / test-with-beamline-plugins (pxi_bec) (push) Canceled after 24s
CI / test-with-beamline-plugins (pxii_bec) (push) Canceled after 24s
CI / test-with-beamline-plugins (pxiii_bec) (push) Canceled after 19s
CI / test-with-coverage (push) Canceled after 19s
CI / coverage-analysis (push) Canceled after 0s
Build and Publish / release (push) Successful in 15s
2026-09-02 09:13:08 +02:00
duan_jandClaude Fable 5 64058ae6c8 feat: fold expanded help cheatsheet when mouse leaves the box
Click is no longer the only way back to the "?" badge: moving the
pointer off the expanded box, or out of the widget entirely, folds it.
Checked before the interaction gate so it works in viewing mode too.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-20 19:54:50 +02:00
duan_jandClaude Fable 5 5f068a6305 feat: hover HUD with pixel coords and grey scale bar on sample camera
Bottom-right corner shows the hovered pixel coordinates with a grey
1-2-5 scale bar above them, derived from geom.pixel_in_mm and the
current zoom. Works in viewing mode (before the interaction gate),
clears on leave, and skips drawing outside the image.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-20 19:54:50 +02:00
duan_jandClaude Fable 5 167d78db68 style: collapse multiline _status calls for ruff format
CI / lint (pull_request) Successful in 52s
CI / test (3.11) (pull_request) Successful in 1m1s
CI / test (3.13) (pull_request) Successful in 1m3s
CI / test (3.12) (pull_request) Successful in 1m3s
CI / test-with-beamline-plugins (pxii_bec) (pull_request) Successful in 1m11s
CI / test-with-beamline-plugins (pxi_bec) (pull_request) Successful in 1m18s
CI / test-with-beamline-plugins (pxiii_bec) (pull_request) Successful in 1m19s
CI / test-with-coverage (pull_request) Successful in 1m29s
CI / coverage-analysis (pull_request) Successful in 4s
CI / lint (push) Successful in 32s
Docs build and publish / docker (push) Successful in 15s
CI / test (3.11) (push) Canceled after 45s
CI / test (3.12) (push) Canceled after 42s
CI / test (3.13) (push) Canceled after 40s
CI / test-with-beamline-plugins (pxi_bec) (push) Canceled after 37s
CI / test-with-beamline-plugins (pxii_bec) (push) Canceled after 35s
CI / test-with-beamline-plugins (pxiii_bec) (push) Canceled after 32s
CI / test-with-coverage (push) Canceled after 30s
CI / coverage-analysis (push) Canceled after 0s
Build and Publish / release (push) Successful in 34s
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-18 09:25:14 +02:00
duan_jandClaude Fable 5 16b61b886b fix: no BEAMLINE BUSY overlay during Sample alignment
Same exception as the motion watch: busy in Sample alignment is the
alignment itself, and the sample motion is watched in these very
views - the curtain hid exactly what the user needed to see. Gated
at both style call sites (sample camera and the Axis views); the
session-driven 'In viewing mode' badge is unaffected.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-18 09:25:14 +02:00
duan_jandClaude Fable 5 b58c23d0f6 feat: sample camera starts in scale-to-fit
CI / lint (push) Skipped
CI / test (3.11) (push) Skipped
CI / test (3.12) (push) Skipped
CI / test (3.13) (push) Skipped
CI / test-with-beamline-plugins (pxi_bec) (push) Skipped
CI / test-with-beamline-plugins (pxii_bec) (push) Skipped
CI / test-with-beamline-plugins (pxiii_bec) (push) Skipped
CI / test (3.11) (pull_request) Successful in 1m8s
CI / test (3.12) (pull_request) Successful in 1m11s
CI / test (3.13) (pull_request) Successful in 1m9s
CI / lint (pull_request) Canceled after 1m20s
CI / test-with-beamline-plugins (pxi_bec) (pull_request) Canceled after 1m10s
CI / test-with-beamline-plugins (pxii_bec) (pull_request) Canceled after 1m7s
CI / test-with-beamline-plugins (pxiii_bec) (pull_request) Canceled after 1m5s
CI / test-with-coverage (pull_request) Canceled after 1m2s
CI / coverage-analysis (pull_request) Canceled after 0s
_autoscale now defaults on, so the view fits from the first layout
(the constructor's placeholder already carries the camera size and
resizeEvent refits on every resize). update_pixmap additionally
refits when the frame size changes - the real stream resolution can
differ from the placeholder, and only a view resize refit before.
Right-click 'Scale to fit' still toggles back to 1:1.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-17 16:49:30 +02:00
duan_jandClaude Fable 5 aa6c226103 test: cover every changed line in the branch diff
CI / lint (push) Skipped
CI / test (3.11) (push) Skipped
CI / test (3.12) (push) Skipped
CI / test (3.13) (push) Skipped
CI / test-with-beamline-plugins (pxi_bec) (push) Skipped
CI / test-with-beamline-plugins (pxii_bec) (push) Skipped
CI / test-with-beamline-plugins (pxiii_bec) (push) Skipped
CI / lint (pull_request) Successful in 1m17s
CI / test (3.11) (pull_request) Successful in 1m44s
CI / test (3.12) (pull_request) Successful in 1m41s
CI / test (3.13) (pull_request) Successful in 2m1s
CI / test-with-beamline-plugins (pxi_bec) (pull_request) Successful in 1m57s
CI / test-with-beamline-plugins (pxii_bec) (pull_request) Successful in 2m0s
CI / test-with-coverage (pull_request) Successful in 2m26s
CI / coverage-analysis (pull_request) Successful in 3s
CI / test-with-beamline-plugins (pxiii_bec) (pull_request) Failing after 18m13s
Diff coverage vs main now 100 percent from the gui suite alone:
non-staff locked banners and both gated-tab popups, remote-close
bookkeeping in update_daq_status, smargon staged moves, camera More
link and Alt-wheel axis fallback, number box relimits, energy row
emit, and the gui.main() banner/graceful-exit path.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-14 09:20:44 +02:00
duan_jandClaude Fable 5 7b4764e7ca test: cover the camera overlays, theme migration, layout heal, and splash
Diff coverage vs main was 77%, under the 80% CI gate; the new camera
help/error/badge code and the theme+layout main_window paths were the
uncovered bulk. Locally: 82%.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-11 10:35:55 +02:00