Dash web: crosshair, zoom/pan X, scale log/lin, continuum extraction, background resume

- Tooltip entier (intersect:false) + ligne verticale crosshair sur tous les graphes
- Zoom molette/pinch sur l'axe X, pan souris, limites clamped 30-3000 keV
- Toggle échelle log/linéaire onglet Background
- Extraction continuum détecteur (isotope peaks subtracted + Gaussian smoothing)
- Reprise snapshot précédent au démarrage capture_background.py
- Suppression refs "Théorique" et "Bruit capteur" de l'interface
- Plugin chartjs-plugin-zoom + hammerjs via CDN
- Fix Chart constructor spread operator

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
Jacquin Antoine
2026-05-19 23:26:28 +02:00
parent 0f2417bf88
commit c764a5c264
15 changed files with 975 additions and 221 deletions

View File

@ -78,6 +78,8 @@ main { padding: 16px; }
border-radius: 8px;
padding: 12px;
margin-bottom: 12px;
height: 450px;
position: relative;
}
.controls {
@ -108,6 +110,63 @@ main { padding: 16px; }
.controls button:hover { background: var(--accent-bright); color: #000; }
.btn-small {
background: var(--accent);
color: var(--text);
border: 1px solid #444;
padding: 4px 10px;
border-radius: 4px;
cursor: pointer;
font-size: 0.8em;
margin-left: auto;
}
.btn-small:hover { background: var(--accent-bright); color: #000; }
.chart-container.fullscreen {
position: fixed;
top: 0; left: 0; right: 0; bottom: 0;
z-index: 1000;
background: var(--bg);
padding: 20px;
margin: 0;
border-radius: 0;
display: flex;
flex-direction: column;
}
.chart-container.fullscreen canvas {
flex: 1;
}
.exit-fullscreen-btn {
display: none;
position: absolute;
top: 10px;
right: 14px;
z-index: 1001;
background: rgba(255,255,255,0.15);
color: #fff;
border: none;
border-radius: 50%;
width: 36px;
height: 36px;
font-size: 1.2em;
cursor: pointer;
line-height: 1;
}
.chart-container.fullscreen .exit-fullscreen-btn {
display: flex;
align-items: center;
justify-content: center;
}
.exit-fullscreen-btn:hover {
background: rgba(255,255,255,0.3);
}
.chart-header {
display: flex;
justify-content: flex-end;
margin-bottom: 4px;
}
#isotopes-table, #peaks-table {
background: var(--bg-card);
border-radius: 8px;