Fix flow surprise : preview reste live, flash masque la transition
- Preview live continue pendant la surprise (overlay par-dessus) - Capture DSLR lancee pendant la surprise (1s de reaction) - Flash blanc couvre tout PUIS on masque surprise + preview derriere - Plus de frame flou visible entre surprise et photo Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1146,7 +1146,7 @@
|
|||||||
|
|
||||||
<script src="/js/websocket.js?v=16"></script>
|
<script src="/js/websocket.js?v=16"></script>
|
||||||
<script src="/js/app.js?v=25"></script>
|
<script src="/js/app.js?v=25"></script>
|
||||||
<script src="/js/camera.js?v=25"></script>
|
<script src="/js/camera.js?v=26"></script>
|
||||||
<script src="/js/effects.js?v=4"></script>
|
<script src="/js/effects.js?v=4"></script>
|
||||||
<script src="/js/gallery.js?v=5"></script>
|
<script src="/js/gallery.js?v=5"></script>
|
||||||
<script src="/js/share.js?v=10"></script>
|
<script src="/js/share.js?v=10"></script>
|
||||||
|
|||||||
@@ -316,26 +316,25 @@ async function lancerCapture() {
|
|||||||
const avecPreMessages = (i === 0);
|
const avecPreMessages = (i === 0);
|
||||||
await compteARebours(avecPreMessages);
|
await compteARebours(avecPreMessages);
|
||||||
|
|
||||||
// Stopper le preview AVANT la surprise (evite un frame flou visible)
|
|
||||||
arreterPreview();
|
|
||||||
|
|
||||||
// Surprise : seulement en photo simple (pas strip/multi)
|
// Surprise : seulement en photo simple (pas strip/multi)
|
||||||
// La capture DSLR se lance pendant que l'image surprise est affichee
|
// S'affiche PAR-DESSUS le preview live (pas besoin de le stopper)
|
||||||
const aSurprise = (modeActuel === 'simple') && montrerSurprise();
|
const aSurprise = (modeActuel === 'simple') && montrerSurprise();
|
||||||
|
|
||||||
// Lancer la capture immediatement (le DSLR met ~1-2s a repondre)
|
// Lancer la capture DSLR pendant que la surprise est visible
|
||||||
const capturePromise = apiPost('/api/capturer').catch(() => null);
|
const capturePromise = apiPost('/api/capturer').catch(() => null);
|
||||||
|
|
||||||
// Laisser la surprise visible pendant que le DSLR capture
|
// Laisser la surprise visible le temps que le DSLR declenche
|
||||||
if (aSurprise) await pause(800);
|
if (aSurprise) await pause(1000);
|
||||||
|
|
||||||
// Flash blanc au moment ou le DSLR a eu le temps de declencher
|
// Flash blanc couvre tout (surprise + preview dessous)
|
||||||
const flash = document.getElementById('flash-blanc');
|
const flash = document.getElementById('flash-blanc');
|
||||||
flash.classList.remove('cache');
|
flash.classList.remove('cache');
|
||||||
flash.style.animation = 'none';
|
flash.style.animation = 'none';
|
||||||
flash.offsetHeight;
|
flash.offsetHeight;
|
||||||
flash.style.animation = '';
|
flash.style.animation = '';
|
||||||
|
|
||||||
|
// Pendant que le flash couvre l'ecran, on nettoie derriere
|
||||||
|
arreterPreview();
|
||||||
if (aSurprise) { cacherSurprise(); prechargerSurprise(); }
|
if (aSurprise) { cacherSurprise(); prechargerSurprise(); }
|
||||||
|
|
||||||
let resultat = await capturePromise;
|
let resultat = await capturePromise;
|
||||||
|
|||||||
Reference in New Issue
Block a user