git.lucas.co / cce-remote
remote trackpad and keyboard server
git clone https://git.lucas.co/cce-remote.git

commit0428d0dd28d3fb4e496d2a0901fd6f03c0c4431f
parent474e6634ce
authorLucas Galante <[email protected]>
date2026-07-21 22:47
fix: clip the zoomed/panned live view to its frame

The pan/zoom transform lives on #screenwrap, so overflow:hidden there
clipped nothing (the clip scaled with its content). Move the clip to
#pad — the non-transformed frame ancestor — so a scaled/panned view
stays inside the rounded pad rect instead of spilling over the bar and
buttons.

Co-Authored-By: Claude Fable 5 <[email protected]>

 index.html | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/index.html b/index.html
index 56442d1..3bb4ed3 100644
--- a/index.html
+++ b/index.html
@@ -18,7 +18,10 @@
                 border: 1px solid #2e3140; border-radius: 8px; }
   #bar button.on { background: #25626c; border-color: #337fc0; }
   #pad { flex: 1; margin: 0 8px; background: #191b23; border: 1px solid #2e3140;
-         border-radius: 12px; touch-action: none; position: relative; }
+         border-radius: 12px; touch-action: none; position: relative;
+         /* clip the zoomed/panned view (its wrapper is what scales) to the
+            frame — the clip must be on this NON-transformed ancestor */
+         overflow: hidden; }
   #pad .hint { position: absolute; inset: 0; display: flex; align-items: center;
                justify-content: center; color: #4a4d5c; font-size: 12px; text-align: center;
                pointer-events: none; }