Build LaserLab dashboard release - #2
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 6a2eadb1b1
ℹ️ 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".
| kind=self.kind_combo.currentText(), | ||
| label=self.label_combo.currentText(), | ||
| all_frames=self.all_frames.isChecked(), | ||
| frame_interval=self.frame_interval.value(), |
There was a problem hiding this comment.
Snapshot capture options before starting the worker
When a user clicks Add Capture, these widget reads happen inside ApiWorker.run() on a QThread, so currentText(), isChecked(), and value() are being read from Qt widgets off the GUI thread. In addition to Qt thread-affinity crashes/warnings, the user can still edit these controls while ingestion is running, causing a capture to be labeled or sampled with different settings than the ones they clicked; copy these values into locals before constructing the worker.
Useful? React with 👍 / 👎.
| if not experiment.get("captures"): | ||
| app_api.add_capture( | ||
| self.experiment_dir, | ||
| Path("sample_media") / "commons-young-double-slit.ogv", |
There was a problem hiding this comment.
Resolve bundled fixture paths independent of cwd
When the dashboard demo is started from a process working directory other than the repo/unzipped bundle root, for example invoking C:\Tools\LaserLab\LaserLab.exe from another shell directory, this relative sample_media path is looked up under that cwd and add_capture raises Source not found, even though the release zip includes the media beside the exe. Resolve the fixtures from the application/resource directory or the PyInstaller extraction directory before passing them to the API.
Useful? React with 👍 / 👎.
Adds the PyQt LaserLab dashboard over the v2 engine, GUI-safe app API helpers, GUI and CLI Windows executable packaging, release screenshots, fixture demo tooling, and CI/release workflow verification for both entrypoints. Local validation passed: unittest discover, compileall, GUI-backed fixture demo, screenshot generation, Windows bundle build, LaserLab.exe --smoke, and LaserLabCLI.exe --help.