Adds a bundled-sidecar-only Spot Read sheet (btnSpotRead) that runs spotread -v -e [-c port] [-Y l] under the exclusive ProcessID.spotread lease — detect, calibrate, trigger, and stop (q\n + ~500 ms + kill) reuse the chartread stdin bytes, while prompts parse via SpotReadClassifier/SpotReadParser and never share Stage 3 identifiers.
AppSettings.defaultInstrument finally has a consumer that is not printtarg -i: it seeds the sheet's instrument picker, with a spotDefaultMissing note when the saved device is absent and an opt-in spotSetDefault toggle to write it back. Stage 3 chartread transport, ids, and argv are untouched.
Samples keep the last 50 SpotReadSamples (Lab + optional XYZ, instrument, port, timestamp, raw line as diagnostics only) with CIEDE2000 ΔE between consecutive reads, Copy-Lab, and RFC-4180 CSV export via selectCsvSavePath.
Adds a bundled-sidecar-only Spot Read sheet (`btnSpotRead`) that runs `spotread -v -e [-c port] [-Y l]` under the exclusive `ProcessID.spotread` lease — detect, calibrate, trigger, and stop (`q\n` + ~500 ms + kill) reuse the chartread stdin bytes, while prompts parse via `SpotReadClassifier`/`SpotReadParser` and never share Stage 3 identifiers.
`AppSettings.defaultInstrument` finally has a consumer that is not `printtarg -i`: it seeds the sheet's instrument picker, with a `spotDefaultMissing` note when the saved device is absent and an opt-in `spotSetDefault` toggle to write it back. Stage 3 `chartread` transport, ids, and argv are untouched.
Samples keep the last 50 `SpotReadSample`s (Lab + optional XYZ, instrument, port, timestamp, raw line as diagnostics only) with CIEDE2000 ΔE between consecutive reads, Copy-Lab, and RFC-4180 CSV export via `selectCsvSavePath`.
Refs #148
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Adds a bundled-sidecar-only Spot Read sheet (
btnSpotRead) that runsspotread -v -e [-c port] [-Y l]under the exclusiveProcessID.spotreadlease — detect, calibrate, trigger, and stop (q\n+ ~500 ms + kill) reuse the chartread stdin bytes, while prompts parse viaSpotReadClassifier/SpotReadParserand never share Stage 3 identifiers.AppSettings.defaultInstrumentfinally has a consumer that is notprinttarg -i: it seeds the sheet's instrument picker, with aspotDefaultMissingnote when the saved device is absent and an opt-inspotSetDefaulttoggle to write it back. Stage 3chartreadtransport, ids, and argv are untouched.Samples keep the last 50
SpotReadSamples (Lab + optional XYZ, instrument, port, timestamp, raw line as diagnostics only) with CIEDE2000 ΔE between consecutive reads, Copy-Lab, and RFC-4180 CSV export viaselectCsvSavePath.Refs #148