fix: compact camera params card, text only, all english

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Ruslan Bakiev
2026-03-07 12:40:38 +07:00
parent 99ccca3968
commit aaa4199c85

View File

@@ -213,32 +213,21 @@
height: 60px; height: 60px;
} }
/* Camera params panel */ /* Camera params card */
.cam-params { .cam-card {
display: flex; display: flex;
gap: 8px; gap: 10px;
align-items: center; align-items: center;
padding: 4px 8px; padding: 4px 10px;
} background: #111128;
.param-row { border: 1px solid #2a2a4a;
display: flex; border-radius: 6px;
flex-direction: column; font-size: 11px;
gap: 2px;
}
.param-row label {
font-size: 10px;
color: #888; color: #888;
white-space: nowrap;
} }
.param-row input { .cc-item b {
width: 60px;
padding: 3px 5px;
background: #1a1a2e;
border: 1px solid #333;
border-radius: 4px;
color: #4ecca3; color: #4ecca3;
font-size: 12px; font-weight: 600;
text-align: center;
} }
/* Event banner */ /* Event banner */
@@ -314,27 +303,12 @@
<div class="bottom-bar"> <div class="bottom-bar">
<div class="cam-thumb"><img id="court-cam1" alt="Camera 1"></div> <div class="cam-thumb"><img id="court-cam1" alt="Camera 1"></div>
<div class="cam-thumb"><img id="court-cam0" alt="Camera 0"></div> <div class="cam-thumb"><img id="court-cam0" alt="Camera 0"></div>
<div class="cam-params"> <div class="cam-card">
<div class="param-row"> <span class="cc-item">Dist <b id="paramPosY">1.0</b>m</span>
<label>Pos Y (м от корта)</label> <span class="cc-item">H <b id="paramPosZ">1.0</b>m</span>
<input type="number" id="paramPosY" value="1" step="0.1" min="0.1" max="5" onchange="updateCamParams()"> <span class="cc-item">Stereo <b id="paramStereo">6</b>cm</span>
</div> <span class="cc-item">Rot <b id="paramAngle">15</b>°</span>
<div class="param-row"> <span class="cc-item">HFOV <b id="paramHfov">128</b>°</span>
<label>Pos Z (высота м)</label>
<input type="number" id="paramPosZ" value="1" step="0.1" min="0.1" max="5" onchange="updateCamParams()">
</div>
<div class="param-row">
<label>Stereo (см)</label>
<input type="number" id="paramStereo" value="6" step="1" min="1" max="30" onchange="updateCamParams()">
</div>
<div class="param-row">
<label>Разворот (°)</label>
<input type="number" id="paramAngle" value="15" step="1" min="0" max="45" onchange="updateCamParams()">
</div>
<div class="param-row">
<label>HFOV (°)</label>
<input type="number" id="paramHfov" value="128" step="1" min="30" max="180" onchange="updateCamParams()">
</div>
</div> </div>
<div class="sidebar-panel"> <div class="sidebar-panel">
<button class="btn-calibrate" id="btnCalibrate" onclick="doCalibrate()">Calibrate</button> <button class="btn-calibrate" id="btnCalibrate" onclick="doCalibrate()">Calibrate</button>
@@ -954,16 +928,20 @@ setInterval(function() {
// ===================== Camera params live update ===================== // ===================== Camera params live update =====================
function getCamParams() { function getCamParams() {
return { return {
posY: parseFloat(document.getElementById('paramPosY').value) || 1, posY: parseFloat(document.getElementById('paramPosY').textContent) || 1,
posZ: parseFloat(document.getElementById('paramPosZ').value) || 1, posZ: parseFloat(document.getElementById('paramPosZ').textContent) || 1,
stereo: parseFloat(document.getElementById('paramStereo').value) || 6, stereo: parseFloat(document.getElementById('paramStereo').textContent) || 6,
angle: parseFloat(document.getElementById('paramAngle').value) || 15, angle: parseFloat(document.getElementById('paramAngle').textContent) || 15,
hfov: parseFloat(document.getElementById('paramHfov').value) || 128 hfov: parseFloat(document.getElementById('paramHfov').textContent) || 128
}; };
} }
function updateCamParams() { function setCamParams(p) {
var p = getCamParams(); document.getElementById('paramPosY').textContent = p.posY;
document.getElementById('paramPosZ').textContent = p.posZ;
document.getElementById('paramStereo').textContent = p.stereo;
document.getElementById('paramAngle').textContent = p.angle;
document.getElementById('paramHfov').textContent = p.hfov;
if (courtSceneInitialized) addStereocameras(courtScene, p); if (courtSceneInitialized) addStereocameras(courtScene, p);
if (trajSceneInitialized) addStereocameras(trajScene, p); if (trajSceneInitialized) addStereocameras(trajScene, p);
} }