fix: clarify lidar source and processing result
This commit is contained in:
@@ -3152,6 +3152,10 @@
|
|||||||
background: #06070a;
|
background: #06070a;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.lidar-local-surface__stage[data-loading="true"] {
|
||||||
|
grid-template-columns: minmax(0, 1fr);
|
||||||
|
}
|
||||||
|
|
||||||
.lidar-local-surface__stage .lidar-ground-scene,
|
.lidar-local-surface__stage .lidar-ground-scene,
|
||||||
.lidar-local-surface__stage .lidar-ground-scene-placeholder {
|
.lidar-local-surface__stage .lidar-ground-scene-placeholder {
|
||||||
min-height: 30rem;
|
min-height: 30rem;
|
||||||
@@ -3159,6 +3163,33 @@
|
|||||||
border-radius: 0;
|
border-radius: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.lidar-local-surface__stage .lidar-ground-scene-placeholder > span {
|
||||||
|
color: var(--nodedc-text-secondary);
|
||||||
|
font-size: 0.62rem;
|
||||||
|
line-height: 1.4;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lidar-local-surface__diagnostics {
|
||||||
|
display: grid;
|
||||||
|
gap: 0.72rem;
|
||||||
|
margin-top: 0.35rem;
|
||||||
|
border-top: 1px solid var(--station-hairline);
|
||||||
|
padding-top: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lidar-local-surface__diagnostics > header {
|
||||||
|
display: grid;
|
||||||
|
gap: 0.24rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lidar-local-surface__diagnostics > header p {
|
||||||
|
max-width: 48rem;
|
||||||
|
margin: 0;
|
||||||
|
color: var(--nodedc-text-muted);
|
||||||
|
font-size: 0.62rem;
|
||||||
|
line-height: 1.5;
|
||||||
|
}
|
||||||
|
|
||||||
.lidar-local-surface__frame {
|
.lidar-local-surface__frame {
|
||||||
display: grid;
|
display: grid;
|
||||||
align-content: start;
|
align-content: start;
|
||||||
|
|||||||
@@ -241,12 +241,12 @@ export function LidarLocalSurfacePanel({
|
|||||||
>
|
>
|
||||||
<header className="lidar-local-surface__heading">
|
<header className="lidar-local-surface__heading">
|
||||||
<div>
|
<div>
|
||||||
<span className="section-eyebrow">ЛОКАЛЬНАЯ МОДЕЛЬ LIDAR · L2.6</span>
|
<span className="section-eyebrow">РЕЗУЛЬТАТ ОБРАБОТКИ · L2.6</span>
|
||||||
<h3>Поверхность и наблюдаемые препятствия</h3>
|
<h3>Поверхность и наблюдаемые препятствия</h3>
|
||||||
<p>
|
<p>
|
||||||
Поверхность строится по предыдущему TTL-окну и проверяется на
|
Основной результат выбранного интервала. Поверхность строится по
|
||||||
следующем кадре. Текущий кадр исключён из prediction input;
|
предыдущему TTL-окну и проверяется на следующем кадре; текущий кадр
|
||||||
константа 1,27 м и команды в сканер не используются.
|
и фиксированная высота в prediction input не используются.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<StatusBadge
|
<StatusBadge
|
||||||
@@ -314,24 +314,6 @@ export function LidarLocalSurfacePanel({
|
|||||||
</div>
|
</div>
|
||||||
) : null}
|
) : null}
|
||||||
|
|
||||||
{timeline && review && selectedFrameIndex !== null ? (
|
|
||||||
<>
|
|
||||||
<LidarLocalSurfaceTimeline
|
|
||||||
timeline={timeline}
|
|
||||||
review={review}
|
|
||||||
selectedFrameIndex={selectedFrameIndex}
|
|
||||||
onSelectionStart={captureFrameSelectionScroll}
|
|
||||||
onSelectFrame={selectFrame}
|
|
||||||
/>
|
|
||||||
<LidarLocalSurfaceReviewQueue
|
|
||||||
review={review}
|
|
||||||
selectedFrameIndex={selectedFrameIndex}
|
|
||||||
onSelectionStart={captureFrameSelectionScroll}
|
|
||||||
onSelectFrame={selectFrame}
|
|
||||||
/>
|
|
||||||
</>
|
|
||||||
) : null}
|
|
||||||
|
|
||||||
{frame ? (
|
{frame ? (
|
||||||
<div
|
<div
|
||||||
className="lidar-local-surface__view-switch"
|
className="lidar-local-surface__view-switch"
|
||||||
@@ -361,7 +343,10 @@ export function LidarLocalSurfacePanel({
|
|||||||
</div>
|
</div>
|
||||||
) : null}
|
) : null}
|
||||||
|
|
||||||
<div className="lidar-local-surface__stage">
|
<div
|
||||||
|
className="lidar-local-surface__stage"
|
||||||
|
data-loading={!frame ? "true" : undefined}
|
||||||
|
>
|
||||||
{cloudFrame && frame ? (
|
{cloudFrame && frame ? (
|
||||||
<LidarGroundPointCloud frame={cloudFrame} mode={surfaceView} />
|
<LidarGroundPointCloud frame={cloudFrame} mode={surfaceView} />
|
||||||
) : (
|
) : (
|
||||||
@@ -369,7 +354,7 @@ export function LidarLocalSurfacePanel({
|
|||||||
<StatusBadge tone={error ? "danger" : "accent"}>
|
<StatusBadge tone={error ? "danger" : "accent"}>
|
||||||
{error ? "Ошибка" : "Загрузка"}
|
{error ? "Ошибка" : "Загрузка"}
|
||||||
</StatusBadge>
|
</StatusBadge>
|
||||||
<span>{error ?? "Читаем производную выбранной сцены…"}</span>
|
<span>{error ?? "Обработка производной выбранной сцены"}</span>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
{frame ? (
|
{frame ? (
|
||||||
@@ -458,6 +443,31 @@ export function LidarLocalSurfacePanel({
|
|||||||
</aside>
|
</aside>
|
||||||
) : null}
|
) : null}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
{timeline && review && selectedFrameIndex !== null ? (
|
||||||
|
<div className="lidar-local-surface__diagnostics">
|
||||||
|
<header>
|
||||||
|
<span className="section-eyebrow">ДИАГНОСТИКА ЗАПИСИ</span>
|
||||||
|
<p>
|
||||||
|
График и очередь ниже помогают выбрать кадр для разбора, но не
|
||||||
|
заменяют визуальную проверку результата выше.
|
||||||
|
</p>
|
||||||
|
</header>
|
||||||
|
<LidarLocalSurfaceTimeline
|
||||||
|
timeline={timeline}
|
||||||
|
review={review}
|
||||||
|
selectedFrameIndex={selectedFrameIndex}
|
||||||
|
onSelectionStart={captureFrameSelectionScroll}
|
||||||
|
onSelectFrame={selectFrame}
|
||||||
|
/>
|
||||||
|
<LidarLocalSurfaceReviewQueue
|
||||||
|
review={review}
|
||||||
|
selectedFrameIndex={selectedFrameIndex}
|
||||||
|
onSelectionStart={captureFrameSelectionScroll}
|
||||||
|
onSelectFrame={selectFrame}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
) : null}
|
||||||
</section>
|
</section>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -276,16 +276,18 @@ export function LidarQualityWorkspace({
|
|||||||
<header className="panel-heading lidar-field-review__heading">
|
<header className="panel-heading lidar-field-review__heading">
|
||||||
<div>
|
<div>
|
||||||
<span className="section-eyebrow">
|
<span className="section-eyebrow">
|
||||||
{fieldReview ? "ОБЛАКО LIDAR · RAVNOVES00" : "ОБЛАКО LIDAR · ЗАПИСЬ"}
|
{fieldReview
|
||||||
|
? "ИСХОДНАЯ ЗАПИСЬ LIDAR · RAVNOVES00"
|
||||||
|
: "ИСХОДНАЯ ЗАПИСЬ LIDAR"}
|
||||||
</span>
|
</span>
|
||||||
<h2>
|
<h2>
|
||||||
{fieldReview
|
{fieldReview
|
||||||
? `Городская сцена: ${selectedFieldWindow?.label ?? fieldReview.displayName}`
|
? `Исходная сцена: ${selectedFieldWindow?.label ?? fieldReview.displayName}`
|
||||||
: `Кадр ${groundFrameIndex + 1} из ${groundBenchmark?.frames ?? 0}`}
|
: `Кадр ${groundFrameIndex + 1} из ${groundBenchmark?.frames ?? 0}`}
|
||||||
</h2>
|
</h2>
|
||||||
<p>
|
<p>
|
||||||
{fieldReview
|
{fieldReview
|
||||||
? "Выберите один из пяти интервалов, вращайте облако мышью и при необходимости включите экспериментальные маски обработки."
|
? "Накопленное облако LiDAR и кадр камеры — контекст выбранного интервала. Результат обработки L2.6 расположен ниже."
|
||||||
: "Полевая запись на этом хосте не подключена. Показываем доступную запись выбранного LiDAR без подмешивания публичных датасетов."}
|
: "Полевая запись на этом хосте не подключена. Показываем доступную запись выбранного LiDAR без подмешивания публичных датасетов."}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user