Add docs/developer/lamni_smear_architecture.md covering the three-tier device/ipython-client/GUI architecture this feature exercises: the camera's two PreviewSignal channels (image vs smear_preview) and why composite pushes needed their own channel, XRayEye.set_live_view_signal and exactly when the caller must switch it back, the sweep algorithm (non-blocking mv() + ScanReport.status polling + max-projection), and the bw-generate-cli regeneration step required whenever a plugin widget's USER_ACCESS changes (the cause of this session's confusing AttributeError even after a full client/GUI restart). Also expand the user-facing description in lamni.md with a note on the live-updating composite display and a cross-reference to the new developer page. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
820 B
820 B
(developer)=
Developer
Information for developers and maintainers of the cSAXS beamline documentation and software.
---
maxdepth: 2
hidden: true
---
editing_docs
lamni_smear_architecture
:gutter: 5
```{grid-item-card}
:link: developer.editing_docs
:link-type: ref
:img-top: /assets/index_contribute.svg
:text-align: center
:class-item: index-card
## Editing the documentation
Conventions for writing these MyST/Sphinx docs and how changes go live on Read the Docs.
```
```{grid-item-card}
:link: developer.lamni_smear_architecture
:link-type: ref
:text-align: center
:class-item: index-card
## LamNI smear aid architecture
Device/ipython-client/GUI widget interfaces for the smear rotation-center calibration aid, and the `bw-generate-cli` regeneration pitfall.
```