Files
gods-eye-view/src/ui/shellElements.js
T
Sameh Khamis c3c69a91cd feat(display): render the style parameters from the display store
VisualSettings publishes the active style's parameter rows to the display
store, and the Display panel renders them with the shared row component;
a moved slider goes back through the store's setStyleParameter action.
The readout snaps a value to its step as the browser does, half-steps up
and an off-grid maximum down. A preset that resets the shown style's
uniforms republishes its rows, input for another style's parameters is
ignored, and a stopped owner takes its rows with it unless a newer owner
has published since. createStyleParameters is deprecated and builds its
rows the same way.
2026-11-01 14:28:02 -08:00

70 lines
3.8 KiB
JavaScript

/** Resolve the fixed DOM nodes used to assemble the application controls. */
export function readShellElements(document = globalThis.document) {
return {
_rightPanelStack: document.getElementById('right-context-rail'),
_sliderPanel: document.getElementById('param-slider-panel'),
_ppToggles: document.getElementById('pp-toggles'),
_bloomBtn: document.getElementById('bloom-toggle'),
_bloomSlider: document.getElementById('bloom-intensity-slider'),
_hudBtn: document.getElementById('hud-toggle'),
_cleanViewBtn: document.getElementById('clean-view-toggle'),
_dataPanel: document.getElementById('data-panel'),
_scenePanel: document.getElementById('scene-panel'),
_cctvPanel: document.getElementById('cctv-panel'),
_streetLevelPanel: document.getElementById('street-level-panel'),
_radioPanel: document.getElementById('radio-panel'),
_cockpitUtilityControls: document.getElementById(
'cockpit-utility-controls',
),
_cockpitDisplayToggleBtn: document.getElementById(
'cockpit-display-toggle-btn',
),
_cockpitDisplayPanel: document.getElementById('cockpit-display-panel'),
_cockpitRadioToggleBtn: document.getElementById('cockpit-radio-toggle-btn'),
_cockpitRadioEnableBtn: document.getElementById('cockpit-radio-enable-btn'),
_radioLayerState: document.getElementById('radio-layer-state'),
_radioEnableBtn: document.getElementById('radio-enable-btn'),
_radioStationName: document.getElementById('radio-station-name'),
_radioStationMeta: document.getElementById('radio-station-meta'),
_radioStationTags: document.getElementById('radio-station-tags'),
_radioTunerSlider: document.getElementById('radio-tuner-slider'),
_radioVolume: document.getElementById('radio-volume'),
_radioVolumeValue: document.getElementById('radio-volume-value'),
_radioPlaybackState: document.getElementById('radio-playback-state'),
_radioStationHomepage: document.getElementById('radio-station-homepage'),
_globalContextFlightsBtn: document.getElementById(
'global-context-flights-btn',
),
_globalContextMissionsBtn: document.getElementById(
'global-context-missions-btn',
),
_installationsSearchBtn: document.getElementById(
'installations-search-btn',
),
_leftPanelStack: document.getElementById('left-panel-stack'),
_cctvEnableBtn: document.getElementById('cctv-enable-btn'),
_cctvNearestBtn: document.getElementById('cctv-nearest-btn'),
_cctvPrevBtn: document.getElementById('cctv-prev-btn'),
_cctvNextBtn: document.getElementById('cctv-next-btn'),
_cctvSelect: document.getElementById('cctv-camera-select'),
_cctvFocusBtn: document.getElementById('cctv-focus-btn'),
_cctvCoverageBtn: document.getElementById('cctv-coverage-btn'),
_cctvAutoHopBtn: document.getElementById('cctv-auto-hop-btn'),
_cctvProjectionBtn: document.getElementById('cctv-projection-btn'),
_cctvQualityChip: document.getElementById('cctv-quality-chip'),
_cctvAdjustBtn: document.getElementById('cctv-adjust-btn'),
_cctvCalReadout: document.getElementById('cctv-cal-readout'),
_cctvCalibSaveBtn: document.getElementById('cctv-calib-save-btn'),
_cctvCalibResetBtn: document.getElementById('cctv-calib-reset-btn'),
_cctvFrame: document.getElementById('cctv-frame'),
_cctvFrameWrap: document.getElementById('cctv-frame-wrap'),
_cctvVideo: document.getElementById('cctv-video'),
_cctvSourceBadge: document.getElementById('cctv-source-badge'),
_cctvMeta: document.getElementById('cctv-meta'),
_cctvSummary: document.getElementById('cctv-summary'),
_locationSearch: document.getElementById('location-search'),
_detectionBtn: document.getElementById('detection-toggle'),
_models3dBtn: document.getElementById('models3d-toggle'),
};
}