{videoError??"Открываем автономный recorded source…"}
</div>
)}
{videoSource?(
<M48EvidenceModeRail
mode={evidenceMode}
cameraVisible={cameraVisible}
spatialAvailable={Boolean(spatialProfile)}
planAvailable={false}
onModeChange={setEvidenceMode}
onCameraVisibleChange={setCameraVisible}
/>
):null}
</div>
</LaboratoryEvidenceViewer>
);
}
functionFullRouteReviewResult({
rigLabel,
resultId,
review,
}:{
rigLabel: string;
resultId: string;
review: VegetationFullRouteReview;
}){
return(
<LaboratoryWorkTemplate
summary={(
<LaboratorySummary
title="LAB V1 · RAVNOVES004TREE · полный маршрут"
description="Существующий M4.7-шаблон воспроизводит всю запись и переключает два независимых sealed semantic-слоя: городской EoMT и природный DDRNet. Worker для открытия результата не нужен."
status="FULL RECORDED REVIEW · truth отсутствует · commands OFF"
{label:"Authority",value:`${rigLabel} · VISUAL REVIEW ONLY · commands OFF`},
]}
brief={{
question:"Как оба semantic-кандидата ведут себя на полном переходе от сельской среды к городской?",
approach:"Все 6830 позиции одной recorded timeline последовательно прогнаны на Worker 006 и сохранены двумя независимыми архивами масок. В M4.7 переключается только видимый слой.",
principalResult:"Полная временная шкала доступна локально в SOURCE / EoMT CITY / DDRNet NATURE без обращения к Worker.",
limitation:"Ручной truth отсутствует. Один повреждённый H.264-пакет на позиции 6092 представлен предыдущим декодированным кадром и явно зафиксирован в proof. Полный TGS и кюветы этим прогоном не проверялись.",
proved:"Городской EoMT и природный DDRNet воспроизводимо обработали полную запись и доступны в одном существующем M4.7 viewer.",
notProved:"Не доказаны truth accuracy, одновременный realtime-load, полный TGS, отрицательные препятствия и безопасное управление ровером.",
decision:"Использовать результат только как визуальную диагностику. Navigation/actuation оставить OFF; следующий gate — оценка временной стабильности и независимый person/vehicle STOP.",
description="Существующий LAB-шаблон показывает 10 синхронных camera/LiDAR сцен одной записи. EoMT и DDRNet остаются независимыми слоями; TGS показывает отдельную геометрию и не может быть очищен семантической маской."
status="BOUNDED RECORDED REVIEW · truth отсутствует · commands OFF"
{label:"Слои",value:"SOURCE · EoMT CITY · DDRNet VEGETATION · causal TGS"},
{label:"Authority",value:`${rigLabel} · VISUAL REVIEW ONLY · commands OFF`},
]}
brief={{
question:"Сохраняются ли городская семантика, растительность и геометрия при переходе из сельской среды в город?",
approach:"Выбраны десять соседних с исходными сцен camera-кадров, каждый синхронизирован с LiDAR в пределах 100 мс. Все три вычислительных слоя прогнаны на Worker 006 и запечатаны локально.",
principalResult:"Все 10 сцен обработаны EoMT, DDRNet и causal TGS. Слои можно переключать без наложения цветов и без зависимости LAB от воркера.",
limitation:"Это bounded islands без ручной truth. DDRNet шумит по подтипам растительности; TGS не доказывает обнаружение кювета или отрицательного препятствия.",
{label:"EoMT end-to-end p95",value:`${decimal(review.models.city.endToEndP95Ms,2)} ms`,hint:`${decimal(review.models.city.inferenceFps,2)} fps в изолированном прогоне`},
{label:"DDRNet inference p95",value:`${decimal(review.models.vegetation.latencyP95Ms,2)} ms`,hint:"candidate review · не совместный realtime stack"},
{label:"TGS p95",value:`${decimal(review.models.tgs.latencyP95Ms,2)} ms`,hint:`${review.models.tgs.cellSizeM} m cells · ${review.models.tgs.radiusM} m radius`},
]}
conclusion={{
proved:"Оба semantic слоя и causal TGS воспроизводимо работают на сельской, переходной и городской части новой записи.",
notProved:"Не доказаны accuracy без truth, временная стабильность по всему видео, детект кюветов и безопасное совместное realtime-управление ровером.",
decision:"Оставить navigation/actuation OFF. Следующий короткий gate — непрерывный realtime-load двух моделей плюс независимый person/vehicle STOP; кюветы проверять отдельной записью.",
@@ -561,9 +108,7 @@ export function VegetationShadowResultView({
<LaboratorySummary
title="LAB V1 · карта ровера · город + растительность"
description="Один recorded-контур RAVNOVES00 синхронно показывает городской EoMT, природный DDRNet, frozen YOLOX detections и causal TGS. Семантические маски переключаются, чтобы их цвета не скрывали друг друга; геометрическое veto остаётся независимым."
status={route
?"MULTILAYER RECORDED REVIEW · commands OFF · route truth отсутствует"
:"ROUTE EVIDENCE MISSING · commands OFF"}
status="MULTILAYER RECORDED REVIEW · commands OFF · route truth отсутствует"
statusTone="warning"
facts={[
{label:"Источник",value:"RAVNOVES00 · sensor.camera.right · 4489 recorded frames"},
@@ -574,14 +119,12 @@ export function VegetationShadowResultView({
]}
brief={{
question:"Можно ли одновременно видеть городской и природный semantic stack, не теряя независимую геометрическую защиту?",
approach:"EoMT и DDRNet сохранены как два независимых sealed слоя на одной M4 timeline. В штатном M4.7 viewer пользователь переключает только отображаемую маску; YOLOX и TGS остаются активными слоями evidence.",
principalResult: route
?"Оба semantic archive доступны в одном viewer. Это не пиксельный fusion и не единая новая модель: городской и природный ответы остаются раздельными."
:"Route archive для этой immutable identity отсутствует.",
approach:"EoMT и DDRNet сохранены как два независимых sealed слоя на одной M4 timeline. В штатном M4.9 viewer пользователь переключает только отображаемую маску; YOLOX и TGS остаются активными слоями evidence.",
principalResult:"Оба semantic archive доступны в одном viewer. Это не пиксельный fusion и не единая новая модель: городской и природный ответы остаются раздельными.",
limitation:"RAVNOVES00 не имеет ручной truth. DDRNet заметно прыгает между HIGH GRASS, WOODY и UNKNOWN; поэтому subtype нельзя подавать напрямую в planner. Отсутствие класса никогда не означает свободный путь.",
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.