Improved uo and added timerarraygam for testing

This commit is contained in:
Martino Ferrari
2026-05-20 00:15:38 +02:00
parent 620542a722
commit 62545503c4
13 changed files with 960 additions and 58 deletions
+64
View File
@@ -377,6 +377,70 @@ input[type=range].trig-range::-webkit-slider-thumb {
.save-src-btn { color:var(--green); }
.save-src-btn:hover { background:rgba(166,227,161,0.1); border-color:var(--green); }
/* ── Stats panel ─────────────────────────────────────────────── */
#stats-panel {
position:fixed; bottom:var(--statusbar-h); left:0; right:0;
height:0; overflow:hidden;
background:var(--mantle); border-top:2px solid var(--surface0);
z-index:89; /* below topbar / sidebar */
transition:height var(--transition);
}
#stats-panel.open { height:290px; }
#stats-panel-hdr {
display:flex; align-items:center; gap:8px;
padding:4px 10px; border-bottom:1px solid var(--surface0); flex-shrink:0;
font-size:11px; font-weight:700; color:var(--subtext1); letter-spacing:0.5px; text-transform:uppercase;
}
.stats-hdr-label { flex-shrink:0; }
.stats-source-sel {
flex:1; min-width:0;
background:var(--surface0); border:1px solid var(--surface1); border-radius:var(--radius);
color:var(--text); font-size:11px; padding:1px 5px; cursor:pointer;
}
.stats-source-sel:focus { outline:none; border-color:var(--accent); }
#btn-stats-close {
background:none; border:none; color:var(--overlay0); flex-shrink:0;
cursor:pointer; font-size:14px; line-height:1; padding:2px;
transition:color var(--transition);
}
#btn-stats-close:hover { color:var(--red); }
#stats-body {
overflow-x:hidden; overflow-y:auto;
display:flex; flex-direction:column; gap:0;
padding:8px 18px;
height:calc(290px - 30px); box-sizing:border-box;
}
.stats-section {
display:flex; flex-direction:column; gap:5px; padding:4px 0;
}
.stats-section-grow { flex:1; }
.stats-empty { font-size:11px; color:var(--overlay0); }
.stats-section-label {
font-size:9px; color:var(--overlay0); text-transform:uppercase; letter-spacing:0.6px;
}
.stats-row { display:flex; gap:16px; flex-wrap:wrap; align-items:flex-end; }
.stats-kv { display:flex; flex-direction:column; gap:1px; min-width:70px; }
.stats-k { font-size:9px; color:var(--overlay0); text-transform:uppercase; letter-spacing:0.5px; }
.stats-v { font-size:12px; color:var(--text); font-family:monospace; font-weight:600; }
.stats-v.warn { color:var(--yellow); }
.stats-v.ok { color:var(--green); }
.stats-sep { border:none; border-top:1px solid var(--surface0); margin:2px 0; }
/* Histogram */
.stats-hist { width:100%; }
.hist-bars {
display:flex; align-items:flex-end; gap:1px; height:72px;
background:var(--crust); border-radius:3px; padding:2px 3px;
}
.hist-bar {
flex:1; background:var(--accent); border-radius:1px 1px 0 0; min-height:1px;
opacity:0.65; transition:opacity 0.1s;
}
.hist-bar:hover { opacity:1; }
.hist-labels {
display:flex; justify-content:space-between;
font-size:9px; color:var(--overlay0); font-family:monospace; margin-top:2px;
}
/* ── Empty state ──────────────────────────────────────────────── */
#empty-state {
position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);