fix-bot commited on
Commit
f87148b
·
1 Parent(s): c271295

ui: make Detected Target Overlays a fixed-height scroll panel

Browse files

Cap the overlays list at 168px with internal scrolling so long detection results no longer stretch the page layout.

Files changed (1) hide show
  1. index.html +24 -4
index.html CHANGED
@@ -198,6 +198,25 @@
198
  .det-count-pop {
199
  animation: det-pop 0.35s cubic-bezier(0.16, 1, 0.3, 1) forwards;
200
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
201
  </style>
202
  </head>
203
  <body class="text-slate-100 font-sans min-h-screen pb-16 carbon-grid">
@@ -483,10 +502,10 @@
483
  <!-- Right: Performance Metrics & Tag draw overlays (Col Span: 7) -->
484
  <div class="lg:col-span-7 space-y-4">
485
  <div class="glass-panel rounded-2xl p-5 space-y-4">
486
- <div class="grid grid-cols-1 sm:grid-cols-12 gap-4 items-stretch">
487
 
488
  <!-- Performance Statistics Metrics Console (Grid: 5) -->
489
- <div class="sm:col-span-5 bg-black/60 rounded-xl p-4 border border-white/5 font-mono text-[10px] text-slate-300 space-y-2 leading-normal">
490
  <div class="text-nvidia-brand font-bold border-b border-white/5 pb-1 mb-1.5 uppercase tracking-widest text-[9px] font-mono">📊 Metrics Log</div>
491
  <div class="flex justify-between"><span class="text-slate-500">Status:</span> <span id="meta-status" class="text-emerald-500 font-semibold">Idle</span></div>
492
  <div class="flex justify-between"><span class="text-slate-500">Tokens/Frames:</span> <span id="meta-tokens">-</span></div>
@@ -496,12 +515,12 @@
496
  </div>
497
 
498
  <!-- Tag drawer box list (Grid: 7) -->
499
- <div class="sm:col-span-7 bg-black/60 rounded-xl p-4 border border-white/5 flex flex-col min-h-[140px]">
500
  <div class="text-nvidia-brand font-mono font-bold border-b border-white/5 pb-1 mb-2 uppercase tracking-widest text-[9px] flex justify-between shrink-0">
501
  <span>🎯 Detected Target Overlays</span>
502
  <span id="detection-count-badge" class="text-[8px] bg-nvidia-brand/10 text-nvidia-brand border border-nvidia-brand/20 px-1.5 py-0.5 rounded-full font-bold">0</span>
503
  </div>
504
- <div id="detection-tags-wrapper" class="flex-1 flex flex-col gap-1.5 pt-1 text-[10px] text-slate-500">
505
  <div id="detection-empty-hint" class="space-y-1.5 leading-relaxed">
506
  <p>Run inference to populate detected targets here — each result will pop in one by one.</p>
507
  <p class="text-[9px] text-slate-600">Adjustable: Task Type · Categories · Inference Mode · Resize Cap · Temperature · Top P/K · Max Video Frames</p>
@@ -716,6 +735,7 @@
716
  card.appendChild(labelWrap);
717
  card.appendChild(coords);
718
  detectionTagsWrapper.appendChild(card);
 
719
  }, idx * 80);
720
  });
721
  }
 
198
  .det-count-pop {
199
  animation: det-pop 0.35s cubic-bezier(0.16, 1, 0.3, 1) forwards;
200
  }
201
+
202
+ /* Detected overlays: fixed height, internal scroll */
203
+ .detection-scroll {
204
+ min-height: 0;
205
+ overflow-y: auto;
206
+ overscroll-behavior: contain;
207
+ scroll-behavior: smooth;
208
+ scrollbar-width: thin;
209
+ scrollbar-color: rgba(118, 185, 0, 0.45) rgba(0, 0, 0, 0.2);
210
+ mask-image: linear-gradient(to bottom, black 88%, transparent 100%);
211
+ -webkit-mask-image: linear-gradient(to bottom, black 88%, transparent 100%);
212
+ }
213
+ .detection-scroll::-webkit-scrollbar {
214
+ width: 5px;
215
+ }
216
+ .detection-scroll::-webkit-scrollbar-thumb {
217
+ background: rgba(118, 185, 0, 0.45);
218
+ border-radius: 999px;
219
+ }
220
  </style>
221
  </head>
222
  <body class="text-slate-100 font-sans min-h-screen pb-16 carbon-grid">
 
502
  <!-- Right: Performance Metrics & Tag draw overlays (Col Span: 7) -->
503
  <div class="lg:col-span-7 space-y-4">
504
  <div class="glass-panel rounded-2xl p-5 space-y-4">
505
+ <div class="grid grid-cols-1 sm:grid-cols-12 gap-4 items-start">
506
 
507
  <!-- Performance Statistics Metrics Console (Grid: 5) -->
508
+ <div class="sm:col-span-5 bg-black/60 rounded-xl p-4 border border-white/5 font-mono text-[10px] text-slate-300 space-y-2 leading-normal h-[168px]">
509
  <div class="text-nvidia-brand font-bold border-b border-white/5 pb-1 mb-1.5 uppercase tracking-widest text-[9px] font-mono">📊 Metrics Log</div>
510
  <div class="flex justify-between"><span class="text-slate-500">Status:</span> <span id="meta-status" class="text-emerald-500 font-semibold">Idle</span></div>
511
  <div class="flex justify-between"><span class="text-slate-500">Tokens/Frames:</span> <span id="meta-tokens">-</span></div>
 
515
  </div>
516
 
517
  <!-- Tag drawer box list (Grid: 7) -->
518
+ <div class="sm:col-span-7 bg-black/60 rounded-xl p-4 border border-white/5 flex flex-col h-[168px] overflow-hidden">
519
  <div class="text-nvidia-brand font-mono font-bold border-b border-white/5 pb-1 mb-2 uppercase tracking-widest text-[9px] flex justify-between shrink-0">
520
  <span>🎯 Detected Target Overlays</span>
521
  <span id="detection-count-badge" class="text-[8px] bg-nvidia-brand/10 text-nvidia-brand border border-nvidia-brand/20 px-1.5 py-0.5 rounded-full font-bold">0</span>
522
  </div>
523
+ <div id="detection-tags-wrapper" class="detection-scroll flex-1 flex flex-col gap-1.5 pt-1 text-[10px] text-slate-500">
524
  <div id="detection-empty-hint" class="space-y-1.5 leading-relaxed">
525
  <p>Run inference to populate detected targets here — each result will pop in one by one.</p>
526
  <p class="text-[9px] text-slate-600">Adjustable: Task Type · Categories · Inference Mode · Resize Cap · Temperature · Top P/K · Max Video Frames</p>
 
735
  card.appendChild(labelWrap);
736
  card.appendChild(coords);
737
  detectionTagsWrapper.appendChild(card);
738
+ detectionTagsWrapper.scrollTop = detectionTagsWrapper.scrollHeight;
739
  }, idx * 80);
740
  });
741
  }