fix(control-station): align lidar viewer and expose polygon

This commit is contained in:
DCCONSTRUCTIONS
2026-07-25 13:23:34 +03:00
parent c01712c30d
commit 881e97312b
9 changed files with 51 additions and 71 deletions
@@ -60,12 +60,13 @@ function frameColors(
const candidateAssigned = frame.masks.candidateAssigned[index] === 1;
if (mode === "intensity") {
const intensity = (frame.intensity0To255?.[index] ?? 96) / 255;
const neutral = 0.16 + intensity * 0.8;
setRgb(
colors,
offset,
0.12 + intensity * 0.74,
0.24 + intensity * 0.68,
0.34 + intensity * 0.6,
neutral,
neutral,
neutral,
);
} else if (mode === "current") {
setRgb(
@@ -131,7 +132,7 @@ export function LidarGroundPointCloud({
}
renderer.setPixelRatio(Math.min(window.devicePixelRatio, 2));
renderer.outputColorSpace = THREE.SRGBColorSpace;
renderer.setClearColor(0x071018, 0.96);
renderer.setClearColor(0x06070a, 1);
renderer.domElement.setAttribute(
"aria-label",
"Интерактивное облако LiDAR",
@@ -139,7 +140,7 @@ export function LidarGroundPointCloud({
host.prepend(renderer.domElement);
const scene = new THREE.Scene();
const fog = new THREE.FogExp2(0x071018, 0.035);
const fog = new THREE.FogExp2(0x06070a, 0.035);
scene.fog = fog;
fogRef.current = fog;
const camera = new THREE.PerspectiveCamera(48, 1, 0.01, 1_000);
@@ -172,7 +173,7 @@ export function LidarGroundPointCloud({
materialRef.current = material;
scene.add(new THREE.Points(geometry, material));
const grid = new THREE.GridHelper(10, 40, 0x71963d, 0x26312a);
const grid = new THREE.GridHelper(10, 40, 0x454846, 0x252725);
gridRef.current = grid;
const gridMaterials = Array.isArray(grid.material)
? grid.material
@@ -378,7 +378,7 @@ export function PolygonRoverScene({
<span>
{workerAvailable
? "Запустите PX4/Gazebo — модель останется доступна для осмотра."
: "Полигон появится в шапке после подтверждения Simulation Worker."}
: "Прогоны и датасеты доступны; запуск и управление откроются после подтверждения Simulation Worker."}
</span>
</div>
) : null}