duan_j and Claude Fable 5
3df3683b75
chore: sync uv.lock with 0.12.5 version bump
...
CI / lint (pull_request) Successful in 1m0s
CI / test (3.12) (pull_request) Successful in 1m4s
CI / test (3.11) (pull_request) Successful in 1m8s
CI / test (3.13) (pull_request) Successful in 1m6s
CI / test-with-beamline-plugins (pxi_bec) (pull_request) Successful in 1m7s
CI / test-with-beamline-plugins (pxii_bec) (pull_request) Successful in 1m19s
CI / test-with-beamline-plugins (pxiii_bec) (pull_request) Successful in 1m20s
CI / test-with-coverage (pull_request) Successful in 1m38s
CI / coverage-analysis (pull_request) Successful in 4s
CI / lint (push) Successful in 36s
Docs build and publish / docker (push) Successful in 19s
CI / test (3.11) (push) Canceled after 41s
CI / test (3.12) (push) Canceled after 39s
CI / test (3.13) (push) Canceled after 36s
CI / test-with-beamline-plugins (pxi_bec) (push) Canceled after 34s
CI / test-with-beamline-plugins (pxii_bec) (push) Canceled after 31s
CI / test-with-beamline-plugins (pxiii_bec) (push) Canceled after 29s
CI / test-with-coverage (push) Canceled after 26s
CI / coverage-analysis (push) Canceled after 0s
Build and Publish / release (push) Successful in 29s
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-20 19:55:26 +02:00
duan_j
d52a31be54
chore: fix wording
2026-08-20 19:54:50 +02:00
duan_j and Claude Fable 5
0cff706a11
chore: sync uv.lock with 0.12.4 version bump
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-20 19:54:50 +02:00
duan_j and Claude Fable 5
36675e0204
feat: auto-centering row with apply-after-mount, grid button raster-only
...
Auto Centering moves out of the experiment tabs to its own row between
Manual sample and Exp. Config., with an apply-after-mount checkbox that
re-runs it on every detected sample mount (guarded against firing on GUI
startup). Draw a Grid now only shows on the Raster scan tab.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-20 19:54:50 +02:00
duan_j
1af38fcbd3
fix: dialog not going away after getting baton, and the accept/cancel too small
2026-08-20 19:54:50 +02:00
duan_j and Claude Fable 5
3b2fa597a6
chore: sync uv.lock with 0.12.0 version bump
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-20 19:54:50 +02:00
duan_j
4fbda86631
feat: allow non-staff to change energy
2026-08-20 19:54:50 +02:00
duan_j
a37d622e0a
fix: update staff linux group
2026-08-20 19:54:50 +02:00
duan_j and Claude 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_j
47f2939d47
chore: enhance contract between input box and button
2026-08-20 19:54:50 +02:00
duan_j
d5c66afba9
fix: combined view only when state is moving or when in robotsampleexchange
2026-08-20 19:54:50 +02:00
duan_j
4917b62e53
chore: rename button to make it more sensible
2026-08-20 19:54:50 +02:00
duan_j and Claude 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_j
ef4bc011ab
chore: do not use the special red tooltip, stay consistent
2026-08-20 19:54:50 +02:00
duan_j and Claude Fable 5
8b6ae51ce6
fix: satisfy lint and diff-coverage gates for admin gating
...
basedpyright requires _admin_tip_anchor to exist after __init__, so the
anchor is created eagerly instead of lazily. Cover the red-tip branch and
the status-bar menu gate; the menu test swaps in a QMenu subclass with a
no-op exec because PySide method lookup ignores class-attr monkeypatches.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-20 19:54:50 +02:00
duan_j and Claude Fable 5
569b024456
feat: admin-gate beam diagnostics states, warn via passive red tip
...
Beam location, Beamstop alignment and Flux measurement grey out for
non-staff in the state strip and the status-bar transitions menu. All
"not admin" denials now show as an auto-dismissing QToolTip on a
Catppuccin red wash instead of a click-to-close QMessageBox.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-20 19:54:50 +02:00
semantic-release
4e64040d6b
0.12.5
...
CI / lint (push) Successful in 38s
Docs build and publish / docker (push) Successful in 20s
Build and Publish / release (push) Successful in 22s
CI / test (3.11) (push) Successful in 1m5s
CI / test (3.13) (push) Successful in 1m2s
CI / test (3.12) (push) Successful in 1m4s
CI / test-with-beamline-plugins (pxi_bec) (push) Successful in 1m21s
CI / test-with-beamline-plugins (pxii_bec) (push) Successful in 1m21s
CI / test-with-beamline-plugins (pxiii_bec) (push) Successful in 1m26s
CI / test-with-coverage (push) Successful in 1m33s
CI / coverage-analysis (push) Skipped
Automatically generated by python-semantic-release
v0.12.5
2026-08-20 14:37:21 +00:00
perl_d
d29ace156e
fix: aerotech position update
CI / lint (pull_request) Successful in 40s
CI / test (3.12) (pull_request) Successful in 1m4s
CI / test-with-beamline-plugins (pxi_bec) (pull_request) Successful in 1m9s
CI / test (3.13) (pull_request) Successful in 1m16s
CI / test (3.11) (pull_request) Successful in 1m22s
CI / test-with-beamline-plugins (pxii_bec) (pull_request) Successful in 1m15s
CI / test-with-beamline-plugins (pxiii_bec) (pull_request) Successful in 1m24s
CI / test-with-coverage (pull_request) Successful in 1m33s
CI / coverage-analysis (pull_request) Failing after 3s
CI / lint (push) Successful in 35s
Docs build and publish / docker (push) Successful in 17s
CI / test (3.11) (push) Canceled after 40s
CI / test (3.12) (push) Canceled after 38s
CI / test (3.13) (push) Canceled after 35s
CI / test-with-beamline-plugins (pxi_bec) (push) Canceled after 33s
CI / test-with-beamline-plugins (pxii_bec) (push) Canceled after 30s
CI / test-with-beamline-plugins (pxiii_bec) (push) Canceled after 28s
CI / test-with-coverage (push) Canceled after 25s
CI / coverage-analysis (push) Canceled after 0s
Build and Publish / release (push) Successful in 24s
2026-08-20 16:30:56 +02:00
perl_d
a39e97469f
fix: magnet position sensor timeout
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 (pxiii_bec) (push) Skipped
CI / test-with-beamline-plugins (pxii_bec) (push) Skipped
2026-08-20 16:12:59 +02:00
semantic-release
ef59ca36a9
0.12.4
...
Docs build and publish / docker (push) Successful in 7s
Build and Publish / release (push) Successful in 16s
CI / lint (push) Successful in 52s
CI / test (3.12) (push) Successful in 1m5s
CI / test-with-beamline-plugins (pxi_bec) (push) Successful in 1m5s
CI / test (3.13) (push) Successful in 1m12s
CI / test (3.11) (push) Successful in 1m18s
CI / test-with-beamline-plugins (pxiii_bec) (push) Successful in 1m24s
CI / test-with-beamline-plugins (pxii_bec) (push) Successful in 1m26s
CI / test-with-coverage (push) Successful in 1m44s
CI / coverage-analysis (push) Skipped
Automatically generated by python-semantic-release
v0.12.4
2026-08-20 13:59:49 +00:00
perl_d
4f5cb08319
fix: pitch scan message for correct beamline
CI / lint (pull_request) Successful in 44s
CI / test (3.11) (pull_request) Successful in 1m4s
CI / test (3.13) (pull_request) Successful in 1m1s
CI / test (3.12) (pull_request) Successful in 1m8s
CI / test-with-beamline-plugins (pxi_bec) (pull_request) Successful in 1m7s
CI / test-with-beamline-plugins (pxii_bec) (pull_request) Successful in 1m14s
CI / test-with-beamline-plugins (pxiii_bec) (pull_request) Successful in 1m26s
CI / test-with-coverage (pull_request) Successful in 1m33s
CI / coverage-analysis (pull_request) Failing after 3s
CI / lint (push) Successful in 35s
Docs build and publish / docker (push) Successful in 18s
CI / test (3.11) (push) Canceled after 46s
CI / test (3.12) (push) Canceled after 42s
CI / test (3.13) (push) Canceled after 41s
CI / test-with-beamline-plugins (pxi_bec) (push) Canceled after 37s
CI / test-with-beamline-plugins (pxii_bec) (push) Canceled after 36s
CI / test-with-beamline-plugins (pxiii_bec) (push) Canceled after 32s
CI / test-with-coverage (push) Canceled after 31s
CI / coverage-analysis (push) Canceled after 0s
Build and Publish / release (push) Successful in 37s
2026-08-20 15:47:55 +02:00
semantic-release
3ac0087c30
0.12.3
...
CI / lint (push) Successful in 33s
Docs build and publish / docker (push) Successful in 16s
Build and Publish / release (push) Successful in 19s
CI / test (3.11) (push) Failing after 45s
CI / test (3.12) (push) Successful in 1m3s
CI / test (3.13) (push) Successful in 1m5s
CI / test-with-beamline-plugins (pxii_bec) (push) Successful in 1m14s
CI / test-with-beamline-plugins (pxi_bec) (push) Successful in 1m16s
CI / test-with-beamline-plugins (pxiii_bec) (push) Successful in 1m18s
CI / test-with-coverage (push) Successful in 1m28s
CI / coverage-analysis (push) Skipped
Automatically generated by python-semantic-release
v0.12.3
2026-08-20 10:13:49 +00:00
perl_d
1756caba69
fix: do not multiply screening request by steps
CI / lint (push) Successful in 32s
Docs build and publish / docker (push) Successful in 14s
CI / test (3.11) (push) Canceled after 36s
CI / test (3.12) (push) Canceled after 34s
CI / test (3.13) (push) Canceled after 14s
CI / test-with-beamline-plugins (pxi_bec) (push) Canceled after 11s
CI / test-with-beamline-plugins (pxii_bec) (push) Canceled after 26s
CI / test-with-beamline-plugins (pxiii_bec) (push) Canceled after 24s
CI / test-with-coverage (push) Canceled after 21s
CI / coverage-analysis (push) Canceled after 0s
Build and Publish / release (push) Successful in 20s
2026-08-20 12:13:05 +02:00
perl_d
dd04a2fc89
fix: read beamline state from BEC on server startup
CI / lint (push) Canceled after 12s
CI / test (3.11) (push) Canceled after 10s
CI / test (3.12) (push) Canceled after 7s
CI / test (3.13) (push) Canceled after 5s
CI / test-with-beamline-plugins (pxi_bec) (push) Canceled after 2s
CI / test-with-beamline-plugins (pxii_bec) (push) Canceled after 0s
CI / test-with-beamline-plugins (pxiii_bec) (push) Canceled after 0s
CI / test-with-coverage (push) Canceled after 0s
CI / coverage-analysis (push) Canceled after 0s
Build and Publish / release (push) Canceled after 0s
Docs build and publish / docker (push) Successful in 8s
2026-08-20 12:12:50 +02:00
semantic-release
809818f9fa
0.12.2
...
CI / lint (push) Successful in 34s
Docs build and publish / docker (push) Successful in 19s
Build and Publish / release (push) Successful in 22s
CI / test (3.11) (push) Successful in 1m2s
CI / test (3.13) (push) Successful in 1m3s
CI / test (3.12) (push) Successful in 1m9s
CI / test-with-beamline-plugins (pxi_bec) (push) Successful in 1m18s
CI / test-with-beamline-plugins (pxii_bec) (push) Successful in 1m8s
CI / test-with-beamline-plugins (pxiii_bec) (push) Successful in 1m18s
CI / test-with-coverage (push) Successful in 1m36s
CI / coverage-analysis (push) Skipped
Automatically generated by python-semantic-release
v0.12.2
2026-08-20 09:25:27 +00:00
perl_d
002dba7742
fix: save collimator positions
CI / lint (pull_request) Successful in 41s
CI / test (3.11) (pull_request) Successful in 1m6s
CI / test (3.12) (pull_request) Successful in 1m4s
CI / test (3.13) (pull_request) Successful in 1m6s
CI / test-with-beamline-plugins (pxi_bec) (pull_request) Successful in 1m15s
CI / test-with-beamline-plugins (pxii_bec) (pull_request) Successful in 1m20s
CI / test-with-beamline-plugins (pxiii_bec) (pull_request) Successful in 1m19s
CI / test-with-coverage (pull_request) Successful in 1m40s
CI / coverage-analysis (pull_request) Failing after 3s
CI / lint (push) Successful in 31s
Docs build and publish / docker (push) Successful in 14s
CI / test (3.11) (push) Canceled after 38s
CI / test (3.12) (push) Canceled after 33s
CI / test (3.13) (push) Canceled after 33s
CI / test-with-beamline-plugins (pxi_bec) (push) Canceled after 28s
CI / test-with-beamline-plugins (pxii_bec) (push) Canceled after 28s
CI / test-with-beamline-plugins (pxiii_bec) (push) Canceled after 23s
CI / test-with-coverage (push) Canceled after 23s
CI / coverage-analysis (push) Canceled after 0s
Build and Publish / release (push) Successful in 23s
2026-08-20 11:19:20 +02:00
semantic-release
ffff1e8c2d
0.12.1
...
CI / test (3.11) (push) Failing after 11s
CI / test (3.13) (push) Failing after 5s
CI / test (3.12) (push) Failing after 12s
CI / lint (push) Successful in 41s
CI / test-with-beamline-plugins (pxii_bec) (push) Failing after 23s
CI / test-with-beamline-plugins (pxiii_bec) (push) Failing after 21s
CI / test-with-beamline-plugins (pxi_bec) (push) Failing after 27s
CI / test-with-coverage (push) Failing after 18s
CI / coverage-analysis (push) Skipped
Docs build and publish / docker (push) Successful in 3s
Build and Publish / release (push) Successful in 7s
Automatically generated by python-semantic-release
v0.12.1
2026-08-20 08:06:07 +00:00
perl_d
a36a051a2b
fix: update bs x and y instead of z
CI / lint (pull_request) Successful in 54s
CI / test (3.11) (pull_request) Successful in 1m4s
CI / test (3.13) (pull_request) Successful in 1m4s
CI / test (3.12) (pull_request) Successful in 1m13s
CI / test-with-beamline-plugins (pxii_bec) (pull_request) Successful in 1m25s
CI / test-with-beamline-plugins (pxi_bec) (pull_request) Successful in 1m27s
CI / test-with-beamline-plugins (pxiii_bec) (pull_request) Successful in 1m31s
CI / test-with-coverage (pull_request) Successful in 1m38s
CI / coverage-analysis (pull_request) Failing after 6s
CI / test-with-beamline-plugins (pxiii_bec) (push) Failing after 19s
CI / test-with-beamline-plugins (pxi_bec) (push) Failing after 23s
CI / test (3.12) (push) Failing after 30s
Docs build and publish / docker (push) Successful in 13s
CI / lint (push) Successful in 37s
CI / test (3.11) (push) Canceled after 49s
CI / test (3.13) (push) Canceled after 44s
CI / test-with-beamline-plugins (pxii_bec) (push) Canceled after 39s
CI / test-with-coverage (push) Canceled after 34s
CI / coverage-analysis (push) Canceled after 0s
Build and Publish / release (push) Successful in 22s
2026-08-20 09:58:39 +02:00
semantic-release
eb80370124
0.12.0
...
Docs build and publish / docker (push) Successful in 4s
Build and Publish / release (push) Successful in 8s
CI / test (3.12) (push) Successful in 1m1s
CI / test (3.13) (push) Successful in 1m2s
CI / test-with-beamline-plugins (pxi_bec) (push) Successful in 1m14s
CI / test-with-beamline-plugins (pxii_bec) (push) Successful in 1m10s
CI / test-with-beamline-plugins (pxiii_bec) (push) Successful in 1m15s
CI / test-with-coverage (push) Successful in 1m22s
CI / coverage-analysis (push) Skipped
CI / lint (push) Successful in 33s
CI / test (3.11) (push) Successful in 57s
Automatically generated by python-semantic-release
v0.12.0
2026-08-19 15:37:26 +00:00
perl_d
de0445efdd
feat: connect beam steering routine to GUI
CI / lint (pull_request) Successful in 52s
CI / test (3.12) (pull_request) Successful in 1m1s
CI / test (3.11) (pull_request) Successful in 1m3s
CI / test (3.13) (pull_request) Successful in 1m5s
CI / test-with-beamline-plugins (pxii_bec) (pull_request) Successful in 1m11s
CI / test-with-beamline-plugins (pxi_bec) (pull_request) Successful in 1m15s
CI / test-with-beamline-plugins (pxiii_bec) (pull_request) Successful in 1m18s
CI / test-with-coverage (pull_request) Successful in 1m49s
CI / lint (push) Successful in 33s
Docs build and publish / docker (push) Successful in 19s
CI / coverage-analysis (pull_request) Failing after 6s
CI / test (3.11) (push) Canceled after 51s
CI / test-with-beamline-plugins (pxiii_bec) (push) Canceled after 37s
CI / test (3.12) (push) Canceled after 47s
CI / test-with-beamline-plugins (pxii_bec) (push) Canceled after 41s
CI / test (3.13) (push) Canceled after 46s
CI / test-with-beamline-plugins (pxi_bec) (push) Canceled after 42s
CI / test-with-coverage (push) Canceled after 36s
CI / coverage-analysis (push) Canceled after 0s
Build and Publish / release (push) Successful in 26s
2026-08-19 17:34:15 +02:00
semantic-release
cac3136ee6
0.11.0
...
Docs build and publish / docker (push) Successful in 19s
Build and Publish / release (push) Successful in 23s
CI / lint (push) Successful in 57s
CI / test (3.12) (push) Successful in 1m3s
CI / test-with-beamline-plugins (pxi_bec) (push) Successful in 1m6s
CI / test (3.11) (push) Successful in 1m23s
CI / test (3.13) (push) Successful in 1m18s
CI / test-with-beamline-plugins (pxii_bec) (push) Successful in 1m15s
CI / test-with-beamline-plugins (pxiii_bec) (push) Successful in 1m22s
CI / test-with-coverage (push) Successful in 1m40s
CI / coverage-analysis (push) Skipped
Automatically generated by python-semantic-release
v0.11.0
2026-08-18 07:28:26 +00:00
duan_j and Claude 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_j
0f12b688fe
chore: update png so they have gaps
2026-08-18 09:25:14 +02:00
duan_j and Claude Fable 5
7a01a866ef
feat: status bar splits passive left / operable right
...
Operable controls (Fast Shutter, State, p-group, Session) group right
via addPermanentWidget and share one hover affordance - hand cursor +
underline - now owned by ClickableLabel; ValueLabel opts out for the
passive readouts, and the unwired busy label becomes a plain QLabel.
Cryo sits first in the operable group but stays passive: a cryo
operation is planned (TODO in status_bar.py), the placement just
reserves its spot.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-18 09:25:14 +02:00
duan_j and Claude 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
semantic-release
37bb25e705
0.10.0
...
Docs build and publish / docker (push) Successful in 4s
Build and Publish / release (push) Successful in 7s
CI / lint (push) Successful in 1m6s
CI / test (3.13) (push) Successful in 1m3s
CI / test (3.11) (push) Successful in 1m24s
CI / test-with-beamline-plugins (pxii_bec) (push) Successful in 1m38s
CI / test-with-beamline-plugins (pxiii_bec) (push) Successful in 1m53s
CI / test-with-beamline-plugins (pxi_bec) (push) Successful in 2m8s
CI / test (3.12) (push) Successful in 1m52s
CI / test-with-coverage (push) Successful in 2m5s
CI / coverage-analysis (push) Skipped
Automatically generated by python-semantic-release
v0.10.0
2026-08-17 16:20:00 +00:00
duan_j and Claude Fable 5
e9428ca64d
test: pin the Sample-alignment motion-watch exception
...
CI / test (3.11) (pull_request) Successful in 1m12s
CI / test (3.12) (pull_request) Successful in 1m13s
CI / test-with-beamline-plugins (pxi_bec) (pull_request) Successful in 1m12s
CI / lint (pull_request) Successful in 1m30s
CI / test (3.13) (pull_request) Successful in 1m25s
CI / test-with-beamline-plugins (pxii_bec) (pull_request) Successful in 1m21s
CI / test-with-beamline-plugins (pxiii_bec) (pull_request) Successful in 1m27s
CI / test-with-coverage (pull_request) Successful in 1m43s
CI / coverage-analysis (pull_request) Successful in 4s
CI / lint (push) Successful in 28s
Docs build and publish / docker (push) Successful in 8s
CI / test (3.11) (push) Canceled after 35s
CI / test (3.12) (push) Canceled after 31s
CI / test (3.13) (push) Canceled after 30s
CI / test-with-beamline-plugins (pxi_bec) (push) Canceled after 26s
CI / test-with-beamline-plugins (pxii_bec) (push) Canceled after 25s
CI / test-with-beamline-plugins (pxiii_bec) (push) Canceled after 21s
CI / test-with-coverage (push) Canceled after 20s
CI / coverage-analysis (push) Canceled after 0s
Build and Publish / release (push) Successful in 24s
Robot motion switches to the combined view; alignment beginning
switches straight back while busy is still set, and staying busy in
alignment never re-triggers. Piggybacks on the init test's window -
extra MainWindow constructions feed the PySide teardown flake.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-17 17:00:26 +02:00
duan_j
adcc63d45c
chore: clarify move to mounting position in smargon movement
2026-08-17 16:54:19 +02:00
duan_j and Claude Fable 5
cb5837d90f
fix: no auto-switch to beamline view during Sample alignment
...
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 1m3s
CI / test (3.13) (pull_request) Successful in 1m9s
CI / test (3.12) (pull_request) Successful in 1m16s
CI / test-with-beamline-plugins (pxii_bec) (pull_request) Successful in 1m13s
CI / test-with-beamline-plugins (pxi_bec) (pull_request) Successful in 1m17s
CI / lint (pull_request) Successful in 1m33s
CI / test-with-beamline-plugins (pxiii_bec) (pull_request) Successful in 1m32s
CI / test-with-coverage (pull_request) Successful in 1m42s
CI / coverage-analysis (pull_request) Successful in 3s
Busy in Sample alignment IS the alignment (centring moves) - yanking
the view away to the combined beamline tab hid exactly what the user
was doing. The motion-watch switch now skips that state; robot
exchange and other busy transitions still switch as before.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-17 16:50:49 +02:00
duan_j and Claude Fable 5
b58c23d0f6
feat: sample camera starts in scale-to-fit
...
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_j and Claude Fable 5
6ace1fcbcf
feat: queue controls live only in the Queued view
...
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 1m6s
CI / test (3.12) (pull_request) Successful in 1m7s
CI / lint (pull_request) Successful in 1m15s
CI / test-with-beamline-plugins (pxi_bec) (pull_request) Successful in 1m24s
CI / test-with-beamline-plugins (pxiii_bec) (pull_request) Successful in 1m24s
CI / test (3.13) (pull_request) Successful in 1m32s
CI / test-with-beamline-plugins (pxii_bec) (pull_request) Successful in 1m28s
CI / test-with-coverage (pull_request) Successful in 1m48s
CI / coverage-analysis (pull_request) Successful in 4s
Run/Remove selected/Clear list act on the queue, whose order only the
Queued chip view shows - in other views they are greyed out with a
tooltip pointing at the chip. Run stays enabled while automation runs
so pausing is always possible. Applies to the docked trio and the
pop-out clones alike.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-17 16:24:09 +02:00
duan_j and Claude Fable 5
344888dac0
feat: Queued chip view shows the actual run order
...
The queue engine keeps insertion order and Run pops its head, but the
Queued view sorted by the dewar table's header sort - the top row was
not what runs next. set_queued_ids now keeps the order it is fed (the
queue model's order) and the Queued view displays exactly that; header
clicks no longer reorder it.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-17 16:24:09 +02:00
duan_j and Claude Fable 5
1fef28231b
feat: current energy readout in Exp. Config energy row
...
Mirrors the Beamline setup live readout above Set Energy, fed by the
same DAQ tick with the zero-energy guard and repaint skip.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-17 16:24:09 +02:00
duan_j and Claude Fable 5
03ae77fa74
fix: pyright-style ignore for setGraphicsEffect(None)
...
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 58s
CI / test-with-beamline-plugins (pxi_bec) (pull_request) Successful in 1m3s
CI / test-with-beamline-plugins (pxiii_bec) (pull_request) Successful in 1m16s
CI / test (3.13) (pull_request) Successful in 1m25s
CI / lint (pull_request) Successful in 2m6s
CI / test-with-beamline-plugins (pxii_bec) (pull_request) Successful in 1m56s
CI / test (3.12) (pull_request) Successful in 2m7s
CI / test-with-coverage (pull_request) Successful in 2m34s
CI / coverage-analysis (pull_request) Successful in 4s
basedpyright disables mypy-style 'type: ignore' comments by default, so
the diff-quality gate still counted the violation; match the existing
'pyright: ignore[reportArgumentType]' convention from main_window.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-17 15:34:58 +02:00
duan_j and Claude Fable 5
32a835b661
style: wrap shutter flag f-strings for ruff format
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-17 15:34:58 +02:00
duan_j and Claude Fable 5
8f91f1ed2e
feat: fast shutter open/close row in Beamline setup
...
Status flag on the left (same rich-text scheme as the status bar,
theme-aware via set_theme), Open/Close buttons on the right, wired
to the same daq.open_shutter/close_shutter slots staff-gated in
main_window.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-17 15:34:58 +02:00
duan_j and Claude Fable 5
3053aaae93
style: expanded help overlay opens top center, under the badge
...
The '?' badge moved to the top middle but the cheat sheet still
opened bottom-left, sending the mouse across the view to close it.
The overlay now drops in where the badge was.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-17 15:34:58 +02:00
duan_j and Claude Fable 5
4a728baf79
feat: clicking the '#' header selects all rows
...
The status column holds no sortable data, so its header click slot
was free: it now does Ctrl+A, pairing with the Unmeasured chip to
grab everything still to be done in one motion. The sort indicator
is put back afterwards - the click drags it onto '#' even though
the model ignores sorting there.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-17 15:34:58 +02:00
duan_j and Claude Fable 5
2909182bb1
fix: measured threshold is rotation count >= 1
...
Confirmed by Dawn: any rotation data counts as measured; unmeasured
is exactly rotation count 0. The old > 1 rule left single-rotation
samples looking like still-to-do work in the Unmeasured view.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-17 15:34:58 +02:00
duan_j and Claude Fable 5
a0baa2b54d
style: help badge at center top, More link right-aligned
...
The '?' badge sat in a corner, which drifts oddly when the view is
scaled to fit; the top middle stays put and out of the sample's way.
Transparency unchanged - visible enough to find, not disturbing.
'More... (F1)' moves to the overlay's right edge, reading like a
dialog's action button.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-17 15:34:58 +02:00