From 35cd8b8260d5e2ce988e50ea2cc480a073936b94 Mon Sep 17 00:00:00 2001 From: Jason Hoku Date: Sat, 25 Apr 2026 18:05:30 -0700 Subject: [PATCH] feat: ltx image input + audio subsection stubs (full impl in B/C) --- .../conf-builder-config-management.js | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/web/conf_builder/conf-builder-config-management.js b/web/conf_builder/conf-builder-config-management.js index 69d0f1c..45333b3 100644 --- a/web/conf_builder/conf-builder-config-management.js +++ b/web/conf_builder/conf-builder-config-management.js @@ -3978,6 +3978,44 @@ function renderLTXStage(node, stageNum) { return div; } +function renderLTXImageInput(node) { + const div = document.createElement("div"); + div.className = "cb-subsection"; + + const titleDiv = document.createElement("div"); + titleDiv.className = "cb-subsection-title"; + titleDiv.textContent = "── Image-to-Video Input ──"; + div.appendChild(titleDiv); + + const note = document.createElement("div"); + note.style.cssText = "font-size: 10px; color: #666; padding: 4px 8px;"; + note.textContent = "(Phase A: text-to-video only. Image input enabled in Phase B.)"; + div.appendChild(note); + + return div; +} + + +function renderLTXAudio(node) { + const div = document.createElement("div"); + div.className = "cb-subsection"; + + const titleDiv = document.createElement("div"); + titleDiv.className = "cb-subsection-title"; + titleDiv.textContent = "── Audio ──"; + div.appendChild(titleDiv); + + const note = document.createElement("div"); + note.style.cssText = "font-size: 10px; color: #666; padding: 4px 8px;"; + + const strong = document.createElement("strong"); + strong.textContent = "On"; + note.append("Audio: ", strong, " (Phase A: always-on. Toggle added in Phase C.)"); + + div.appendChild(note); + return div; +} + function renderLTXSection(node) { if (node.state.model_type !== "ltx_video") return null;