Add configurable FPS to test preview and fix composite stream release race

- Add FPS control (1-60, default 20) to test preview modal next to LED count
- Server accepts fps query param, controls frame send interval
- Single Apply icon button (✓) applies both LED count and FPS
- FPS control stays visible for picture sources (LED count hidden)
- Fix composite sub-stream consumer ID collision: use unique instance ID
  to prevent old WebSocket release from killing new connection's streams

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-13 02:04:09 +03:00
parent e912019873
commit 561229a7fe
9 changed files with 78 additions and 28 deletions

View File

@@ -317,6 +317,7 @@
.css-test-led-input {
width: 70px;
flex: 0 0 70px;
padding: 3px 6px;
border: 1px solid var(--border-color, #333);
border-radius: 4px;
@@ -327,8 +328,22 @@
}
.css-test-led-apply {
padding: 3px 10px;
font-size: 0.8em;
padding: 2px 6px;
font-size: 0.85em;
line-height: 1;
}
#css-test-led-group {
display: inline-flex;
align-items: center;
gap: 8px;
}
.css-test-separator {
width: 1px;
height: 18px;
background: var(--border-color, #333);
margin: 0 4px;
}
#test-css-source-modal .modal-content {