Merge branch 'main' into feature-FishAudio
Resolve import conflict in clientlibs/main.js by combining handlers from both branches (MeshCluster, Moodboards from main; ReferenceVoice from feature-FishAudio).
This commit is contained in:
@@ -1426,6 +1426,8 @@ function videoSettingsToggleHandler(settingsNode) {
|
||||
const draftWidget = settingsNode.widgets.find(w => w && w.name === "draft");
|
||||
const useAudioWidget = settingsNode.widgets.find(w => w && w.name === "useAudio");
|
||||
const audioWidget = settingsNode.widgets.find(w => w && w.name === "audio");
|
||||
const usePreserveAudioWidget = settingsNode.widgets.find(w => w && w.name === "usePreserveAudio");
|
||||
const preserveAudioWidget = settingsNode.widgets.find(w => w && w.name === "preserveAudio");
|
||||
const useVoicePromptWidget = settingsNode.widgets.find(w => w && w.name === "useVoicePrompt");
|
||||
const voicePromptWidget = settingsNode.widgets.find(w => w && w.name === "voicePrompt");
|
||||
const useSafetyFilterWidget = settingsNode.widgets.find(w => w && w.name === "useSafetyFilter");
|
||||
@@ -1485,6 +1487,7 @@ function videoSettingsToggleHandler(settingsNode) {
|
||||
|
||||
if (useDraftWidget && draftWidget) toggleWidgetState(useDraftWidget, draftWidget, "draft");
|
||||
if (useAudioWidget && audioWidget) toggleWidgetState(useAudioWidget, audioWidget, "audio");
|
||||
if (usePreserveAudioWidget && preserveAudioWidget) toggleWidgetState(usePreserveAudioWidget, preserveAudioWidget, "preserveAudio");
|
||||
if (useVoicePromptWidget && voicePromptWidget) toggleWidgetState(useVoicePromptWidget, voicePromptWidget, "voicePrompt");
|
||||
if (useSafetyFilterWidget && safetyFilterWidget) toggleWidgetState(useSafetyFilterWidget, safetyFilterWidget, "safetyFilter");
|
||||
if (usePromptUpsamplingWidget && promptUpsamplingWidget) toggleWidgetState(usePromptUpsamplingWidget, promptUpsamplingWidget, "promptUpsampling");
|
||||
@@ -1895,6 +1898,7 @@ function ultralyticsProviderSettingsToggleHandler(ultralyticsNode) {
|
||||
["useSteps", "steps"],
|
||||
["useCFGScale", "CFGScale"],
|
||||
["useStrength", "strength"],
|
||||
["useInpaintSize", "inpaintSize"],
|
||||
];
|
||||
|
||||
function toggleWidgetState(useWidget, paramWidget, paramName) {
|
||||
@@ -2250,6 +2254,14 @@ function threeDInferenceSettingsToggleHandler(node) {
|
||||
["useModeration", "moderation"],
|
||||
["useSavePreRemeshedModel", "savePreRemeshedModel"],
|
||||
["useTexturePrompt", "texturePrompt"],
|
||||
["useFaceCount", "faceCount"],
|
||||
["useGenerateType", "generateType"],
|
||||
["usePolygonType", "polygonType"],
|
||||
["useGeometryOnly", "geometryOnly"],
|
||||
["useRemeshBand", "remeshBand"],
|
||||
["useRemeshProject", "remeshProject"],
|
||||
["useTextureFormat", "textureFormat"],
|
||||
["useAlphaMode", "alphaMode"],
|
||||
];
|
||||
pairs.forEach(([useName, paramName]) => {
|
||||
const useW = node.widgets.find(w => w.name === useName);
|
||||
@@ -2286,6 +2298,27 @@ function threeDInferenceSettingsLatToggleHandler(node) {
|
||||
});
|
||||
}
|
||||
|
||||
function threeDInferenceSettingsMeshClusterToggleHandler(node) {
|
||||
const pairs = [
|
||||
["useThresholdConeHalfAngleRad", "thresholdConeHalfAngleRad"],
|
||||
["useRefineIterations", "refineIterations"],
|
||||
["useGlobalIterations", "globalIterations"],
|
||||
["useSmoothStrength", "smoothStrength"],
|
||||
];
|
||||
pairs.forEach(([useName, paramName]) => {
|
||||
const useW = node.widgets.find(w => w.name === useName);
|
||||
const paramW = node.widgets.find(w => w.name === paramName);
|
||||
if (!useW || !paramW) return;
|
||||
function toggleEnabled() {
|
||||
const enabled = useW.value === true;
|
||||
toggleWidgetEnabled(paramW, enabled, node);
|
||||
node.setDirtyCanvas(true);
|
||||
}
|
||||
appendWidgetCB(useW, () => setTimeout(toggleEnabled, 50));
|
||||
setTimeout(toggleEnabled, 100);
|
||||
});
|
||||
}
|
||||
|
||||
function openaiProviderSettingsToggleHandler(openaiNode) {
|
||||
// Find all "use" parameter widgets for OpenAI Provider Settings (these are COMBO widgets)
|
||||
const useBackgroundWidget = openaiNode.widgets.find(w => w.name === "useBackground");
|
||||
@@ -2908,6 +2941,7 @@ function videoModelSearchFilterHandler(videoModelSearchNode) {
|
||||
"Pruna": [
|
||||
"prunaai:p-video@0 (P-Video)",
|
||||
"prunaai:p-video@avatar (P-Video Avatar)",
|
||||
"prunaai:p-video@animate (P-Video Animate)",
|
||||
],
|
||||
"SkyReels": [
|
||||
"skywork:skyreels@v4 (SkyReels V4)",
|
||||
@@ -3007,6 +3041,7 @@ function videoModelSearchFilterHandler(videoModelSearchNode) {
|
||||
"veed:fabric@1.0": {"width": 1280, "height": 720},
|
||||
"prunaai:p-video@0": {"width": 1280, "height": 720},
|
||||
"prunaai:p-video@avatar": {"width": 1280, "height": 720},
|
||||
"prunaai:p-video@animate": {"width": 1280, "height": 720},
|
||||
"heygen:avatar@4": {"width": 1280, "height": 720},
|
||||
"heygen:video-agent@0": {"width": 1280, "height": 720},
|
||||
"heygen:avatar@5": {"width": 1280, "height": 720},
|
||||
@@ -3106,6 +3141,7 @@ function videoModelSearchFilterHandler(videoModelSearchNode) {
|
||||
"veed:fabric@1.0": "720p",
|
||||
"prunaai:p-video@0": "720p",
|
||||
"prunaai:p-video@avatar": "720p",
|
||||
"prunaai:p-video@animate": "720p",
|
||||
"heygen:avatar@4": "720p",
|
||||
"heygen:video-agent@0": "720p",
|
||||
"heygen:avatar@5": "720p",
|
||||
@@ -5106,6 +5142,7 @@ export {
|
||||
threeDInferenceToggleHandler,
|
||||
threeDInferenceSettingsToggleHandler,
|
||||
threeDInferenceSettingsLatToggleHandler,
|
||||
threeDInferenceSettingsMeshClusterToggleHandler,
|
||||
ultralyticsProviderSettingsToggleHandler,
|
||||
openaiProviderSettingsToggleHandler,
|
||||
lightricksProviderSettingsToggleHandler,
|
||||
@@ -5122,6 +5159,7 @@ export {
|
||||
outpaintSettingsToggleHandler,
|
||||
safetyInputsToggleHandler,
|
||||
imageInferenceSettingsColorPaletteToggleHandler,
|
||||
imageInferenceSettingsMoodboardsToggleHandler,
|
||||
audioInputToggleHandler,
|
||||
speechInputToggleHandler,
|
||||
briaProviderMaskToggleHandler,
|
||||
@@ -5239,6 +5277,8 @@ function settingsToggleHandler(settingsNode) {
|
||||
const autoCropWidget = settingsNode.widgets.find(w => w.name === "autoCrop");
|
||||
const useDilatePixelsWidget = settingsNode.widgets.find(w => w.name === "useDilatePixels");
|
||||
const dilatePixelsWidget = settingsNode.widgets.find(w => w.name === "dilatePixels");
|
||||
const useCreativityWidget = settingsNode.widgets.find(w => w.name === "useCreativity");
|
||||
const creativityWidget = settingsNode.widgets.find(w => w.name === "creativity");
|
||||
|
||||
// Helper function to toggle widget enabled state
|
||||
function toggleWidgetState(useWidget, paramWidget, paramName) {
|
||||
@@ -5337,6 +5377,9 @@ function settingsToggleHandler(settingsNode) {
|
||||
if (useDilatePixelsWidget && dilatePixelsWidget) {
|
||||
toggleWidgetState(useDilatePixelsWidget, dilatePixelsWidget, "dilatePixels");
|
||||
}
|
||||
if (useCreativityWidget && creativityWidget) {
|
||||
toggleWidgetState(useCreativityWidget, creativityWidget, "creativity");
|
||||
}
|
||||
}
|
||||
|
||||
function outpaintSettingsToggleHandler(settingsNode) {
|
||||
@@ -5516,6 +5559,25 @@ function imageInferenceSettingsColorPaletteToggleHandler(paletteNode) {
|
||||
}
|
||||
}
|
||||
|
||||
function imageInferenceSettingsMoodboardsToggleHandler(moodboardsNode) {
|
||||
if (!moodboardsNode?.widgets) return;
|
||||
|
||||
const useStrengthWidget = moodboardsNode.widgets.find((w) => w && w.name === "useStrength");
|
||||
const strengthWidget = moodboardsNode.widgets.find((w) => w && w.name === "strength");
|
||||
if (!useStrengthWidget || !strengthWidget) return;
|
||||
|
||||
function toggleStrengthState() {
|
||||
const enabled = useStrengthWidget.value === true;
|
||||
toggleWidgetEnabled(strengthWidget, enabled, moodboardsNode);
|
||||
moodboardsNode.setDirtyCanvas(true);
|
||||
}
|
||||
|
||||
appendWidgetCB(useStrengthWidget, () => {
|
||||
setTimeout(toggleStrengthState, 50);
|
||||
});
|
||||
setTimeout(toggleStrengthState, 100);
|
||||
}
|
||||
|
||||
function syncProviderSettingsToggleHandler(syncNode) {
|
||||
// Find all "use" parameter widgets for Sync Provider Settings
|
||||
const useEditRegionWidget = syncNode.widgets.find(w => w.name === "useEditRegion");
|
||||
|
||||
Reference in New Issue
Block a user