Add live preview streaming for capture tests via WebSocket

Replace blocking REST-based capture tests with WebSocket endpoints that
stream intermediate frame thumbnails at ~100ms intervals, giving real-time
visual feedback during capture. Preview resolution adapts dynamically to
the client viewport size and device pixel ratio.

- New shared helper (_test_helpers.py) with engine_factory pattern to
  avoid MSS thread-affinity issues
- WS endpoints for stream, capture template, and PP template tests
- Enhanced overlay spinner with live preview image and stats
- Frontend _runTestViaWS shared helper replaces three REST test runners

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-26 16:34:30 +03:00
parent 3c35bf0c49
commit b8bfdac36b
10 changed files with 669 additions and 90 deletions

View File

@@ -313,6 +313,21 @@ input:-webkit-autofill:focus {
color: white;
}
.overlay-preview-img {
max-width: 80vw;
max-height: 50vh;
border-radius: 8px;
margin-top: 16px;
object-fit: contain;
}
.overlay-preview-stats {
color: rgba(255, 255, 255, 0.7);
font-size: 0.85rem;
margin-top: 8px;
font-variant-numeric: tabular-nums;
}
.toast {
position: fixed;
bottom: 40px;