From 8da632cc2d2f099ac6e1f64c59e71954231ffd96 Mon Sep 17 00:00:00 2001 From: Manjunath Paparaju Date: Fri, 13 Nov 2026 16:55:01 +0530 Subject: [PATCH] Line the side rails up and show coordinates once in Minimal HUD - The right rail now starts level with the left one whether or not a panel is open on it. It used to rise to 4% of the screen when one was open, which in Tactical and Cyber a top-right readout pushed back down, but in Minimal (which has none) left it about 35 px above the left rail. - Minimal no longer shows its full-width coordinate strip above the corner coordinates block, which showed the same position twice; it keeps the corner block, where the other layouts have it. This changes upstream's Minimal layout. Co-authored-by: Sameh Khamis --- src/ui/rightPanelRail.js | 13 +++++++------ src/ui/styles/overlays.css | 4 +++- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/src/ui/rightPanelRail.js b/src/ui/rightPanelRail.js index e92d2267b..352ebda94 100644 --- a/src/ui/rightPanelRail.js +++ b/src/ui/rightPanelRail.js @@ -236,19 +236,20 @@ export function layoutRightPanelRail({ // CCTV does the same, so its feed and controls have the room. const FULL_HEIGHT = new Set(['global-context-panel', 'cctv-panel']); const contextOpen = panels.some( - (panel) => FULL_HEIGHT.has(panel.id) && !panel.classList.contains('collapsed'), + (panel) => + FULL_HEIGHT.has(panel.id) && !panel.classList.contains('collapsed'), ); - // Any open panel starts from that same raised top, so switching between - // Context, CCTV and Street Level does not move the column. Only the two - // above also stretch to the bottom. - const anyOpen = panels.some((panel) => !panel.classList.contains('collapsed')); + // Every panel starts level with the left rail, open or not, so the two + // rails line up in every HUD layout (Minimal has no top-right readout to + // push this column down) and switching between Context, CCTV and Street + // Level does not move it. Only the two above also stretch to the bottom. const layout = resolveHudRailLayout({ viewportHeight, panelHeight: naturalHeight, laneLeft: stackRect.left, laneRight: stackRect.right, obstacles: obstacleRects, - baseTop: anyOpen ? viewportHeight * 0.04 : alignedTop, + baseTop: alignedTop, baseBottom: viewportHeight * 0.96, gap: safeGap, align: 'start', diff --git a/src/ui/styles/overlays.css b/src/ui/styles/overlays.css index 85aaafa06..b45611785 100644 --- a/src/ui/styles/overlays.css +++ b/src/ui/styles/overlays.css @@ -310,8 +310,10 @@ bottom: 12vh; } +/* Minimal keeps its coordinates in the corner block, where the other layouts + have them; the full-width strip would only repeat the same position. */ #intel-hud[data-variant='minimal'] .hud-bottom-bar { - display: flex; + display: none; bottom: calc(12vh + 4rem); }