This commit is contained in:
mike
2026-06-28 04:51:24 +02:00
parent d522b2a267
commit 256a3b6ac8
4 changed files with 243 additions and 59 deletions

View File

@@ -2305,6 +2305,60 @@
// --- HYDRATION_START ---
const PRELOADED_IMAGES = [
"_turntable/cg_7ec17537/views/20260628_044252_sc_pad_20260628_035257_dup_20260628_033600_dup_view_000_000deg.nobg.nobg.nobg.png",
"_turntable/cg_7ec17537/views/20260628_043545_pad_20260628_035257_dup_20260628_033600_dup_view_000_000deg.nobg.nobg.png",
"_turntable/cg_7ec17537/views/20260628_043148_pad_20260628_035257_dup_20260628_033600_dup_view_000_000deg.nobg.nobg.nobg.png",
"_turntable/cg_7ec17537/views/20260628_043148_pad_20260628_035257_dup_20260628_033600_dup_view_000_000deg.nobg.nobg.png",
"_turntable/cg_7ec17537/views/20260628_043045_pad_20260628_035257_dup_20260628_033600_dup_view_000_000deg.nobg.nobg.png",
"_turntable/cg_7ec17537/views/20260628_042836_pad_20260628_035257_dup_20260628_033600_dup_view_000_000deg.nobg.nobg.png",
"_turntable/cg_7ec17537/views/20260628_042836_pad_20260628_035257_dup_20260628_033600_dup_view_000_000deg.nobg.png",
"_turntable/cg_7ec17537/views/20260628_042239_pad_20260628_035257_dup_20260628_033600_dup_view_000_000deg.nobg.nobg.png",
"_turntable/cg_7ec17537/views/20260628_042228_pad_20260628_035257_dup_20260628_033600_dup_view_000_000deg.nobg.nobg.png",
"_turntable/cg_7ec17537/views/20260628_042217_pad_20260628_035257_dup_20260628_033600_dup_view_000_000deg.nobg.nobg.png",
"_turntable/cg_7ec17537/views/20260628_042206_pad_20260628_035257_dup_20260628_033600_dup_view_000_000deg.nobg.nobg.png",
"_turntable/cg_7ec17537/views/20260628_042154_pad_20260628_035257_dup_20260628_033600_dup_view_000_000deg.nobg.nobg.png",
"_turntable/cg_7ec17537/views/20260628_042143_pad_20260628_035257_dup_20260628_033600_dup_view_000_000deg.nobg.nobg.png",
"_turntable/cg_7ec17537/views/20260628_042132_pad_20260628_035257_dup_20260628_033600_dup_view_000_000deg.nobg.nobg.png",
"_turntable/cg_7ec17537/views/20260628_042121_pad_20260628_035257_dup_20260628_033600_dup_view_000_000deg.nobg.nobg.png",
"_turntable/cg_7ec17537/views/20260628_042109_pad_20260628_035257_dup_20260628_033600_dup_view_000_000deg.nobg.nobg.png",
"_turntable/cg_7ec17537/views/20260628_042058_pad_20260628_035257_dup_20260628_033600_dup_view_000_000deg.nobg.nobg.png",
"_turntable/cg_7ec17537/views/20260628_042047_pad_20260628_035257_dup_20260628_033600_dup_view_000_000deg.nobg.nobg.png",
"_turntable/cg_7ec17537/views/20260628_042036_pad_20260628_035257_dup_20260628_033600_dup_view_000_000deg.nobg.nobg.png",
"_turntable/cg_7ec17537/views/20260628_042025_pad_20260628_035257_dup_20260628_033600_dup_view_000_000deg.nobg.nobg.png",
"_turntable/cg_7ec17537/views/20260628_042014_pad_20260628_035257_dup_20260628_033600_dup_view_000_000deg.nobg.nobg.png",
"_turntable/cg_7ec17537/views/20260628_042002_pad_20260628_035257_dup_20260628_033600_dup_view_000_000deg.nobg.nobg.png",
"_turntable/cg_7ec17537/views/20260628_041951_pad_20260628_035257_dup_20260628_033600_dup_view_000_000deg.nobg.nobg.png",
"_turntable/cg_7ec17537/views/20260628_041940_pad_20260628_035257_dup_20260628_033600_dup_view_000_000deg.nobg.nobg.png",
"_turntable/cg_7ec17537/views/20260628_041929_pad_20260628_035257_dup_20260628_033600_dup_view_000_000deg.nobg.nobg.png",
"_turntable/cg_7ec17537/views/20260628_041918_pad_20260628_035257_dup_20260628_033600_dup_view_000_000deg.nobg.nobg.png",
"_turntable/cg_7ec17537/views/20260628_041906_pad_20260628_035257_dup_20260628_033600_dup_view_000_000deg.nobg.nobg.png",
"_turntable/cg_7ec17537/views/20260628_041855_pad_20260628_035257_dup_20260628_033600_dup_view_000_000deg.nobg.nobg.png",
"_turntable/cg_7ec17537/views/20260628_041649_pad_20260628_035257_dup_20260628_033600_dup_view_000_000deg.nobg.nobg.png",
"_turntable/cg_7ec17537/views/20260628_041638_pad_20260628_035257_dup_20260628_033600_dup_view_000_000deg.nobg.nobg.png",
"_turntable/cg_7ec17537/views/20260628_041627_pad_20260628_035257_dup_20260628_033600_dup_view_000_000deg.nobg.nobg.png",
"_turntable/cg_7ec17537/views/20260628_041615_pad_20260628_035257_dup_20260628_033600_dup_view_000_000deg.nobg.nobg.png",
"_turntable/cg_7ec17537/views/20260628_041604_pad_20260628_035257_dup_20260628_033600_dup_view_000_000deg.nobg.nobg.png",
"_turntable/cg_7ec17537/views/20260628_041553_pad_20260628_035257_dup_20260628_033600_dup_view_000_000deg.nobg.nobg.png",
"_turntable/cg_7ec17537/views/20260628_041542_pad_20260628_035257_dup_20260628_033600_dup_view_000_000deg.nobg.nobg.png",
"_turntable/cg_7ec17537/views/20260628_041531_pad_20260628_035257_dup_20260628_033600_dup_view_000_000deg.nobg.nobg.png",
"_turntable/cg_7ec17537/views/20260628_041520_pad_20260628_035257_dup_20260628_033600_dup_view_000_000deg.nobg.nobg.png",
"_turntable/cg_7ec17537/views/20260628_041508_pad_20260628_035257_dup_20260628_033600_dup_view_000_000deg.nobg.nobg.png",
"_turntable/cg_7ec17537/views/20260628_041457_pad_20260628_035257_dup_20260628_033600_dup_view_000_000deg.nobg.nobg.png",
"_turntable/cg_7ec17537/views/20260628_041446_pad_20260628_035257_dup_20260628_033600_dup_view_000_000deg.nobg.nobg.png",
"_turntable/cg_7ec17537/views/20260628_041435_pad_20260628_035257_dup_20260628_033600_dup_view_000_000deg.nobg.nobg.png",
"_turntable/cg_7ec17537/views/20260628_041424_pad_20260628_035257_dup_20260628_033600_dup_view_000_000deg.nobg.nobg.png",
"_turntable/cg_7ec17537/views/20260628_041413_pad_20260628_035257_dup_20260628_033600_dup_view_000_000deg.nobg.nobg.png",
"_turntable/cg_7ec17537/views/20260628_041401_pad_20260628_035257_dup_20260628_033600_dup_view_000_000deg.nobg.nobg.png",
"_turntable/cg_7ec17537/views/20260628_041206_pad_20260628_035257_dup_20260628_033600_dup_view_000_000deg.nobg.nobg.png",
"_turntable/cg_7ec17537/views/20260628_041206_pad_20260628_035257_dup_20260628_033600_dup_view_000_000deg.nobg.png",
"_turntable/cg_7ec17537/views/20260628_041119_pad_20260628_035257_dup_20260628_033600_dup_view_000_000deg.nobg.png",
"_turntable/cg_7ec17537/views/20260628_040812_pad_20260628_035257_dup_20260628_033600_dup_view_000_000deg.nobg.png",
"_turntable/cg_7ec17537/views/20260628_040437_pad_20260628_035257_dup_20260628_033600_dup_view_000_000deg.nobg.png",
"_turntable/cg_7ec17537/views/20260628_035637_pad_20260628_035257_dup_20260628_033600_dup_view_000_000deg.nobg.png",
"_turntable/cg_7ec17537/views/20260628_035637_pad_20260628_035257_dup_20260628_033600_dup_view_000_000deg.png",
"_turntable/cg_7ec17537/views/20260628_035257_dup_20260628_033600_dup_view_000_000deg.png",
"_turntable/cg_7ec17537/views/20260628_034809_dup_20260628_033600_dup_view_000_000deg.png",
"_turntable/cg_7ec17537/views/20260628_034614_dup_20260628_033600_dup_view_000_000deg.png",
"20260618_053802_image.png_face.png",
"20260628_032232_dup_20260618_053932_7_20260618_053802_image.nobg.nobg.nobg.png",
"20260628_032232_dup_20260618_053932_7_20260618_053802_image.nobg.nobg.png",
@@ -3421,6 +3475,8 @@
"_turntable/cg_7ec17537/views/view_002_030deg.png",
"_turntable/cg_7ec17537/views/view_001_015deg.png",
"_turntable/cg_7ec17537/views/view_000_000deg.png",
"_turntable/cg_7ec17537/views/20260628_033600_dup_view_000_000deg.png",
"_turntable/cg_7ec17537/views/20260628_033831_dup_20260628_033600_dup_view_000_000deg.png",
"_turntable/up_154b502c/views/view_023_345deg.png",
"_turntable/up_154b502c/views/view_022_330deg.png",
"_turntable/up_154b502c/views/view_021_315deg.png",
@@ -4874,8 +4930,8 @@
"20260625_024438_dup_20260624_165109_0_20260622_091731_image.nobg.png",
"20260625_023536_dup_20260624_165109_0_20260622_091731_image.nobg.png",
"20260624_165109_0_20260622_091731_image.nobg.png",
"20260625_023536_dup_20260624_165109_0_20260622_091731_image.png",
"20260624_165109_0_20260622_091731_image.png",
"20260625_023536_dup_20260624_165109_0_20260622_091731_image.png",
"up_ab858b0a_face.png",
"20260625_022332_dup_20260625_022250_sc_image.png",
"20260625_022250_sc_image.png",
@@ -5074,8 +5130,8 @@
"20260624_182958_image.png",
"20260624_174900_image.png",
"20260624_175711_dup_20260624_174943_dup_20260624_173115_image.png",
"20260624_174943_dup_20260624_173115_image.png",
"20260624_173115_image.png",
"20260624_174943_dup_20260624_173115_image.png",
"20260624_174757_image.png",
"20260624_174442_image.png",
"20260624_172923_image.nobg.png",
@@ -5100,8 +5156,8 @@
"20260624_164240_crop_20260624_162342_1_20260622_093058_image.png",
"20260624_164218_crop_20260624_162601_mr_0_20260622_093058_image.nobg.png",
"20260624_164059_dup_20260624_163951_dup_20260624_163352_dup_20260624_162601_mr_0_20260622_093058_image.png",
"20260624_164116_dup_20260624_163951_dup_20260624_163352_dup_20260624_162601_mr_0_20260622_093058_image.png",
"20260624_163951_dup_20260624_163352_dup_20260624_162601_mr_0_20260622_093058_image.png",
"20260624_164116_dup_20260624_163951_dup_20260624_163352_dup_20260624_162601_mr_0_20260622_093058_image.png",
"20260624_163634_dup_20260624_163352_dup_20260624_162601_mr_0_20260622_093058_image.png",
"20260624_162510_image.png",
"20260624_162408_image.png",
@@ -5183,8 +5239,8 @@
"20260624_152038_Screenshot_From_2026-06-17_07-41-27.png",
"20260624_152027_Screenshot_From_2026-06-17_07-41-27.png",
"20260624_143523_Screenshot_From_2026-06-17_07-41-27.nobg.png",
"20260624_151746_dup_20260624_143523_Screenshot_From_2026-06-17_07-41-27.png",
"20260624_143523_Screenshot_From_2026-06-17_07-41-27.png",
"20260624_151746_dup_20260624_143523_Screenshot_From_2026-06-17_07-41-27.png",
"20260624_151501_dup_20260624_143523_Screenshot_From_2026-06-17_07-41-27.png",
"20260624_151439_dup_20260624_143523_Screenshot_From_2026-06-17_07-41-27.png",
"20260624_151250_Screenshot_From_2026-06-17_07-41-27.nobg.png",
@@ -5907,8 +5963,8 @@
"20260618_010638_b1.png",
"20260622_020521_dup_20260622_020223_image.nobg.png",
"20260622_021658_dup_20260621_212650_image.nobg.png",
"20260622_020223_image.png",
"20260622_020521_dup_20260622_020223_image.png",
"20260622_020223_image.png",
"20260622_013636_image.nobg.png",
"20260622_015031_image.png",
"20260622_013636_image.png",
@@ -9505,6 +9561,7 @@
_orbitTabFlippers = {};
const panel = document.getElementById('sbPanelOrbit');
const savedScrollTop = panel ? panel.scrollTop : 0;
panel.innerHTML = '<div style="font-size:11px;color:#555;padding:8px 0">Loading…</div>';
try {
const r = await fetch(`${IMAGE_FOLDER}_data/turntables.json?t=` + Date.now());
@@ -9548,6 +9605,13 @@
_orbitStartTabFlipper(t.group_id, t.frames);
}
}
if (panel) {
panel.scrollTop = savedScrollTop;
requestAnimationFrame(() => {
if (panel) panel.scrollTop = savedScrollTop;
});
}
}
function _orbitStartTabFlipper(groupId, frameRels) {
@@ -10609,6 +10673,16 @@
e.preventDefault();
}
}
if (e.altKey && e.key === 'Enter') {
if (document.getElementById('studio').classList.contains('open') && _activeSidebarTab === 'generate') {
const btn = document.getElementById('sbGenBtn');
if (btn && !btn.disabled) {
btn.click();
e.preventDefault();
return;
}
}
}
if (e.key === 'Escape') {
if (document.getElementById('variantPicker').classList.contains('open')) {
closeVariantPicker(); return;
@@ -10839,6 +10913,7 @@
function renderSidebarGenerate() {
const panel = document.getElementById('sbPanelGenerate');
if (!panel) return;
const savedScrollTop = panel.scrollTop;
// Preserve live input values before re-render
const prevPromptVal = document.getElementById('sbGenPromptInput')?.value ?? '';
_sbPadTop = document.getElementById('sbPadTop')?.value ?? _sbPadTop;
@@ -11041,6 +11116,11 @@
const promptEl = document.getElementById('sbGenPromptInput');
if (promptEl) autoGrowPrompt(promptEl);
if (_sbPoseFilter) sbFilterPoses(_sbPoseFilter); // re-apply after rebuild
panel.scrollTop = savedScrollTop;
requestAnimationFrame(() => {
if (panel) panel.scrollTop = savedScrollTop;
});
}
// Grow the custom-prompt textarea to fit its content (capped by max-height in CSS).
@@ -11586,6 +11666,7 @@
function renderSidebarFaceswap() {
const panel = document.getElementById('sbPanelFaceswap');
if (!panel) return;
const savedScrollTop = panel.scrollTop;
if (_fsTrimVideo) {
// Clip timeline view
@@ -11674,6 +11755,11 @@
if (s.facefusion) { hairCb.disabled = false; hairBdg.style.display = 'none'; }
else { hairCb.disabled = true; hairBdg.style.display = ''; }
}).catch(()=>{});
panel.scrollTop = savedScrollTop;
requestAnimationFrame(() => {
if (panel) panel.scrollTop = savedScrollTop;
});
}
function sbSelectTemplate(videoName) {
@@ -11875,6 +11961,7 @@
function renderSidebarScenery() {
const panel = document.getElementById('sbPanelScenery');
if (!panel) return;
const savedScrollTop = panel.scrollTop;
// Preserve a typed prompt across the frequent re-renders (slot changes).
const prevScenePrompt = document.getElementById('scenePromptInput')?.value || '';
// Auto-fill the Person slot (image2) once per group with the current image.
@@ -12062,6 +12149,11 @@
if (lbl) lbl.textContent = formatSecs(vid.currentTime || 0);
});
}
panel.scrollTop = savedScrollTop;
requestAnimationFrame(() => {
if (panel) panel.scrollTop = savedScrollTop;
});
}
// Scrub the preview video live as the slider moves (no server round-trip).
@@ -12325,6 +12417,7 @@
function renderSidebarSegment() {
const panel = document.getElementById('sbPanelSegment');
if (!panel) return;
const savedScrollTop = panel.scrollTop;
const isChecked = document.getElementById('studioViewer')?.classList.contains('show-checker');
panel.innerHTML = `
<div style="font-size:11px;color:#666;margin-bottom:12px;line-height:1.6">
@@ -12353,6 +12446,11 @@
const btn = document.getElementById('sbSam2Btn');
if (btn) btn.title = d.sam2 ? 'SAM2 available' : 'SAM2 not available — will use rembg fallback';
}).catch(()=>{});
panel.scrollTop = savedScrollTop;
requestAnimationFrame(() => {
if (panel) panel.scrollTop = savedScrollTop;
});
}
async function sam2RemoveBg() {