wxDai Claude Fable 5 commited on
Commit
a2ed77e
·
1 Parent(s): 0f4d854

Mobile UI pass + serve comment sync

Browse files

Latency/fps readouts always visible on mobile; panel titles icon-only
(fixes clipped source toggle); drop 40/36 fps tiers; prompt box
autosizes up to 6 lines (12px on mobile, matching the PE block).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

static/index.html CHANGED
@@ -90,7 +90,7 @@
90
  .team-strip .team-thumbs { display: flex; gap: 8px; min-width: 0; overflow-x: auto; }
91
  .team-strip img { height: 46px; width: auto; border-radius: 8px; border: 1px solid var(--line); cursor: zoom-in; background: var(--media-bg); flex: 0 0 auto; }
92
  .team-strip img:hover { border-color: var(--accent); }
93
- .cmd-input { flex: 1 1 auto; min-width: 0; border: none; outline: none; background: transparent; resize: none; font: inherit; font-size: 15px; color: var(--text); line-height: 1.4; max-height: 120px; padding: 12px 4px; }
94
  .cmd-input::placeholder { color: #b6b6b0; }
95
  .send-fab { flex: 0 0 auto; width: 46px; height: 46px; border-radius: 50%; border: none; cursor: pointer; background: var(--accent); color: #fff; font-size: 0; display: inline-flex; align-items: center; justify-content: center; }
96
  .send-fab::before { content: "\2191"; font-size: 20px; font-weight: 700; line-height: 1; }
@@ -167,11 +167,9 @@
167
  .cmd-foot .kvreset-field { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; width: 100%; }
168
  .qtier { flex-wrap: wrap; }
169
  .qtier button { padding: 7px 12px; }
170
- /* debug readouts hide behind the Profiling toggle; #sendHint stays */
171
- .latency-row #netReadout, .latency-row #dispLatency, .latency-row #fpsReadout { display: none; }
172
- body:has(#profileTimings:checked) .latency-row #netReadout,
173
- body:has(#profileTimings:checked) .latency-row #dispLatency,
174
- body:has(#profileTimings:checked) .latency-row #fpsReadout { display: inline; }
175
  .team-strip { flex-wrap: wrap; padding: 0 12px 10px; }
176
  .team-strip .team-thumbs { width: 100%; display: grid; grid-template-columns: repeat(2, 1fr); }
177
  .team-strip .team-thumbs img:first-child { grid-column: 1 / -1; }
@@ -291,8 +289,6 @@
291
  <span class="kvreset-field keep-min">
292
  <span data-i18n="frame_speed">送帧速度</span>
293
  <span id="fpsTier" class="qtier">
294
- <button type="button" data-fps="40">40</button>
295
- <button type="button" data-fps="36">36</button>
296
  <button type="button" data-fps="32">32</button>
297
  <button type="button" data-fps="30">30</button>
298
  <button type="button" data-fps="28">28</button>
@@ -2270,9 +2266,16 @@ const PROMPT_GROUPS = [
2270
  },
2271
  ];
2272
 
 
 
 
 
 
 
 
2273
  function applyCaseSelection(item, group) {
2274
- const promptEl = document.getElementById("prompt");
2275
- promptEl.value = sceneField(item, "text");
2276
  if (item.ref && REF_IMAGES && REF_IMAGES[item.ref]) {
2277
  const el = document.getElementById("refImage");
2278
  if (el) el.value = "";
 
90
  .team-strip .team-thumbs { display: flex; gap: 8px; min-width: 0; overflow-x: auto; }
91
  .team-strip img { height: 46px; width: auto; border-radius: 8px; border: 1px solid var(--line); cursor: zoom-in; background: var(--media-bg); flex: 0 0 auto; }
92
  .team-strip img:hover { border-color: var(--accent); }
93
+ .cmd-input { flex: 1 1 auto; min-width: 0; border: none; outline: none; background: transparent; resize: none; font: inherit; font-size: 15px; color: var(--text); line-height: 1.4; max-height: 150px; padding: 12px 4px; }
94
  .cmd-input::placeholder { color: #b6b6b0; }
95
  .send-fab { flex: 0 0 auto; width: 46px; height: 46px; border-radius: 50%; border: none; cursor: pointer; background: var(--accent); color: #fff; font-size: 0; display: inline-flex; align-items: center; justify-content: center; }
96
  .send-fab::before { content: "\2191"; font-size: 20px; font-weight: 700; line-height: 1; }
 
167
  .cmd-foot .kvreset-field { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; width: 100%; }
168
  .qtier { flex-wrap: wrap; }
169
  .qtier button { padding: 7px 12px; }
170
+ /* panel titles go icon-only so 摄像头/MP4 fits the narrow head */
171
+ .vpanel-head .vp-title span[data-i18n] { display: none; }
172
+ .cmd-input { font-size: 12px; max-height: 125px; }
 
 
173
  .team-strip { flex-wrap: wrap; padding: 0 12px 10px; }
174
  .team-strip .team-thumbs { width: 100%; display: grid; grid-template-columns: repeat(2, 1fr); }
175
  .team-strip .team-thumbs img:first-child { grid-column: 1 / -1; }
 
289
  <span class="kvreset-field keep-min">
290
  <span data-i18n="frame_speed">送帧速度</span>
291
  <span id="fpsTier" class="qtier">
 
 
292
  <button type="button" data-fps="32">32</button>
293
  <button type="button" data-fps="30">30</button>
294
  <button type="button" data-fps="28">28</button>
 
2266
  },
2267
  ];
2268
 
2269
+ const promptBox = document.getElementById("prompt");
2270
+ function autosizePrompt() {
2271
+ promptBox.style.height = "auto";
2272
+ promptBox.style.height = promptBox.scrollHeight + "px";
2273
+ }
2274
+ promptBox.addEventListener("input", autosizePrompt);
2275
+
2276
  function applyCaseSelection(item, group) {
2277
+ promptBox.value = sceneField(item, "text");
2278
+ autosizePrompt();
2279
  if (item.ref && REF_IMAGES && REF_IMAGES[item.ref]) {
2280
  const el = document.getElementById("refImage");
2281
  if (el) el.value = "";
xvideo/serving/serve_joyomni_streaming.py CHANGED
@@ -197,8 +197,7 @@ class _H264Ingest:
197
  import numpy as np
198
 
199
  self._dec = av.CodecContext.create("h264", "r")
200
- # Browser uplink is BT.709/tv but cv2's I420 conversion is BT.601: fix in RGB
201
- # with the exact linear map A709 @ inv(A601).
202
  self._bt601_to_bt709 = np.array([[1.086529, -0.072448, -0.014080],
203
  [0.096451, 0.844939, 0.058610],
204
  [-0.014082, -0.027645, 1.041727]])
 
197
  import numpy as np
198
 
199
  self._dec = av.CodecContext.create("h264", "r")
200
+ # Chrome uplink is BT.709/tv, cv2's I420 path is BT.601: exact fix = A709 @ inv(A601).
 
201
  self._bt601_to_bt709 = np.array([[1.086529, -0.072448, -0.014080],
202
  [0.096451, 0.844939, 0.058610],
203
  [-0.014082, -0.027645, 1.041727]])