SensorsTab additions: adding pre-fetch message, sensor array checkbox cleanup#46
Conversation
"Sensor visualization unavailable. The HDF5 file for this shot has not been fetched yet. Use the pull panel in the left sidebar to fetch the data."
- "coils" header → "Coils" - Removed the "coils" overlay checkbox - Added a "DIII-D first wall" legend label in 3D viewer
…name The coils cleanup replaced the generic `meta.coils` overlay (which renders whatever coil sets any device config supplies) with a default-on check against the literal sensor-set name "All 3D Coils" — a DIII-D-only string. On any other device (e.g. NSTX-U, whose coils exist only as `meta.coils`, with no coil-kind sensor set) coils no longer rendered by default and had no toggle at all. Restore the generic overlay: bring back the `showCoils` state, the 2D footprint and 3D-loop render blocks, the overlays checkbox, and the `showCoils` memo deps; remove the `"All 3D Coils"` magic default. This also un-orphans the `CoilSet` interface and `GeoMeta.coils` field (dead after the readers were removed). The PR's other changes are kept: the pre-fetch 404 message, the per-loop tilt saddle-loop orientation, the wall legend proxy, and the label capitalizations. Verified with Playwright against DIII-D 184927 (fetched live): coils render in 2D + 3D, checkbox on by default, and unchecking removes the coil traces. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
Follow-up: restored the device-agnostic coil overlay (
|
Brings develop through #46 (gui-sensors): NSTX/NSTX-U device-generic fetch, per-node plot + HDF5 export, EFIT tree-fetch, and the data-layer device_geom refactor. No merge conflicts; the qs_* pipeline works against develop's refactored data layer. Verified on the merged tree: ruff format/check clean, ty clean, 290 passed / 5 skipped. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
…relock) Third develop→kstar_int sync. develop advanced with PR #65 (rotating-live wiring: 2-D Gaussian pre-smoothing, download-500 hardening, heatmap null-cell handling) and PR #46 (gui-sensors: device-agnostic coil overlay, saddle-loop tilt). Only one conflict — uv.lock — since pyproject.toml is identical on both sides; resolved by taking develop's lockfile and regenerating with `uv lock` (135 packages, `uv lock --check` clean). app.py, nodes.py, and test_nodes.py auto-merged. Verified: ruff/ty/pytest (312 passed, 5 skipped)/eslint/tsc/vitest (29)/vite build all green. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
Replaces the raw, developer-facing error shown on the Sensors tab before a shot's HDF5 file has been fetched ("geometry unavailable: Error: fetch failed (404): 'no HDF5 file for shot …'") with a clear, user-facing message, wired up consistent with the pre-fetch messaging in the Quasi-stationary tab.
sensor array checkbox cleanup: (removed "coils" overlay), added first wall legend to 3D viewer
To-do: nstx.json integration