fix: align control station with current checker API

This commit is contained in:
DCCONSTRUCTIONS 2026-07-16 11:56:45 +03:00
parent 904c6ea13a
commit 8459bb03fb
2 changed files with 58 additions and 26 deletions

View File

@ -592,13 +592,15 @@ export default function App() {
formatValue={(value) => (value === 0 ? "Только кадр" : `${value} с`)} formatValue={(value) => (value === 0 ? "Только кадр" : `${value} с`)}
onChange={(accumulationSeconds) => setDisplayDraft((current) => ({ ...current, accumulationSeconds }))} onChange={(accumulationSeconds) => setDisplayDraft((current) => ({ ...current, accumulationSeconds }))}
/> />
<div className="nodedc-field">
<span className="nodedc-field__description">Линия пути устройства в координатах сцены</span>
<Checker <Checker
checked={displayDraft.showTrajectory} checked={displayDraft.showTrajectory}
label="Показывать траекторию" label="Показывать траекторию"
description="Линия пути устройства в координатах сцены"
onChange={(showTrajectory) => setDisplayDraft((current) => ({ ...current, showTrajectory }))} onChange={(showTrajectory) => setDisplayDraft((current) => ({ ...current, showTrajectory }))}
/> />
</div> </div>
</div>
), ),
}, },
{ {
@ -608,8 +610,14 @@ export default function App() {
content: ( content: (
<div className="inspector-control-stack"> <div className="inspector-control-stack">
<Checker checked={displayDraft.showGrid} label="Сетка и оси" onChange={(showGrid) => setDisplayDraft((current) => ({ ...current, showGrid }))} /> <Checker checked={displayDraft.showGrid} label="Сетка и оси" onChange={(showGrid) => setDisplayDraft((current) => ({ ...current, showGrid }))} />
<Checker checked={false} disabled label="Подписи сущностей" description="Появятся после подключения семантических сущностей" onChange={() => undefined} /> <div className="nodedc-field">
<Checker checked={false} disabled label="Области обзора камер" description="Камерный канал пока не подключён" onChange={() => undefined} /> <span className="nodedc-field__description">Появятся после подключения семантических сущностей</span>
<Checker checked={false} disabled label="Подписи сущностей" onChange={() => undefined} />
</div>
<div className="nodedc-field">
<span className="nodedc-field__description">Камерный канал пока не подключён</span>
<Checker checked={false} disabled label="Области обзора камер" onChange={() => undefined} />
</div>
</div> </div>
), ),
}, },
@ -650,8 +658,14 @@ export default function App() {
description: "Облако точек и путь", description: "Облако точек и путь",
content: ( content: (
<div className="inspector-control-stack"> <div className="inspector-control-stack">
<Checker disabled={console.pendingAction === "viewer"} checked={sceneSettings.showPoints} label="Облако точек" description="Основной поток геометрии лидара" onChange={(showPoints) => void applyScenePatch({ showPoints })} /> <div className="nodedc-field">
<Checker disabled={console.pendingAction === "viewer"} checked={sceneSettings.showTrajectory} label="Траектория" description="Положение и ориентация устройства во времени" onChange={(showTrajectory) => void applyScenePatch({ showTrajectory })} /> <span className="nodedc-field__description">Основной поток геометрии лидара</span>
<Checker disabled={console.pendingAction === "viewer"} checked={sceneSettings.showPoints} label="Облако точек" onChange={(showPoints) => void applyScenePatch({ showPoints })} />
</div>
<div className="nodedc-field">
<span className="nodedc-field__description">Положение и ориентация устройства во времени</span>
<Checker disabled={console.pendingAction === "viewer"} checked={sceneSettings.showTrajectory} label="Траектория" onChange={(showTrajectory) => void applyScenePatch({ showTrajectory })} />
</div>
</div> </div>
), ),
}, },
@ -662,7 +676,10 @@ export default function App() {
content: ( content: (
<div className="inspector-control-stack"> <div className="inspector-control-stack">
<Checker disabled={console.pendingAction === "viewer"} checked={sceneSettings.showGrid} label="Сетка и оси" onChange={(showGrid) => void applyScenePatch({ showGrid })} /> <Checker disabled={console.pendingAction === "viewer"} checked={sceneSettings.showGrid} label="Сетка и оси" onChange={(showGrid) => void applyScenePatch({ showGrid })} />
<Checker checked={false} disabled label="Области обзора камер" description="Камерный канал пока не подключён" onChange={() => undefined} /> <div className="nodedc-field">
<span className="nodedc-field__description">Камерный канал пока не подключён</span>
<Checker checked={false} disabled label="Области обзора камер" onChange={() => undefined} />
</div>
</div> </div>
), ),
}, },
@ -672,9 +689,18 @@ export default function App() {
description: "Ожидают внешние обработчики", description: "Ожидают внешние обработчики",
content: ( content: (
<div className="inspector-control-stack"> <div className="inspector-control-stack">
<Checker checked={false} disabled label="Рамки 2D и 3D" description="Внешний обработчик не подключён" onChange={() => undefined} /> <div className="nodedc-field">
<Checker checked={false} disabled label="Маски сегментации" description="Внешний обработчик не подключён" onChange={() => undefined} /> <span className="nodedc-field__description">Внешний обработчик не подключён</span>
<Checker checked={false} disabled label="Ключевые точки и треки" description="Внешний обработчик не подключён" onChange={() => undefined} /> <Checker checked={false} disabled label="Рамки 2D и 3D" onChange={() => undefined} />
</div>
<div className="nodedc-field">
<span className="nodedc-field__description">Внешний обработчик не подключён</span>
<Checker checked={false} disabled label="Маски сегментации" onChange={() => undefined} />
</div>
<div className="nodedc-field">
<span className="nodedc-field__description">Внешний обработчик не подключён</span>
<Checker checked={false} disabled label="Ключевые точки и треки" onChange={() => undefined} />
</div>
</div> </div>
), ),
}, },

View File

@ -301,12 +301,16 @@ export function DeviceWorkspace({
status={powerConfirmed ? "Подтверждено" : "Ожидает"} status={powerConfirmed ? "Подтверждено" : "Ожидает"}
tone={powerConfirmed ? "success" : "warning"} tone={powerConfirmed ? "success" : "warning"}
> >
<div className="nodedc-field">
<span className="nodedc-field__description">
Для текущего адаптера дождитесь ровного зелёного индикатора. Это подтверждение оператора, а не аппаратная телеметрия.
</span>
<Checker <Checker
checked={powerConfirmed} checked={powerConfirmed}
label="Устройство включено, индикатор стабилен" label="Устройство включено, индикатор стабилен"
description="Для текущего адаптера дождитесь ровного зелёного индикатора. Это подтверждение оператора, а не аппаратная телеметрия."
onChange={setPowerConfirmed} onChange={setPowerConfirmed}
/> />
</div>
</WizardStep> </WizardStep>
<WizardStep <WizardStep
@ -475,12 +479,14 @@ export function DeviceWorkspace({
value={replaySpeed} value={replaySpeed}
onChange={(event) => setReplaySpeed(event.target.value)} onChange={(event) => setReplaySpeed(event.target.value)}
/> />
<div className="nodedc-field">
<span className="nodedc-field__description">После последнего кадра начать запись заново.</span>
<Checker <Checker
checked={replayLoop} checked={replayLoop}
label="Повторять по кругу" label="Повторять по кругу"
description="После последнего кадра начать запись заново."
onChange={setReplayLoop} onChange={setReplayLoop}
/> />
</div>
<Button <Button
variant="primary" variant="primary"
icon={<Icon name="video" />} icon={<Icon name="video" />}