From 1f91a88d7be8818f8cce71eeaa66fcfdadd77fb7 Mon Sep 17 00:00:00 2001 From: Chenlei Hu Date: Tue, 29 Oct 2024 11:00:10 -0400 Subject: [PATCH] Move linkRenderMode extension to core (#1359) --- src/components/graph/GraphCanvas.vue | 8 ++++++++ src/extensions/core/index.ts | 1 - src/extensions/core/linkRenderMode.ts | 27 --------------------------- src/stores/coreSettings.ts | 14 ++++++++++++++ src/types/apiTypes.ts | 3 ++- src/types/settingTypes.ts | 2 +- 6 files changed, 25 insertions(+), 30 deletions(-) delete mode 100644 src/extensions/core/linkRenderMode.ts diff --git a/src/components/graph/GraphCanvas.vue b/src/components/graph/GraphCanvas.vue index 8438ac89e..c4c84d341 100644 --- a/src/components/graph/GraphCanvas.vue +++ b/src/components/graph/GraphCanvas.vue @@ -105,6 +105,14 @@ watchEffect(() => { }) }) +watchEffect(() => { + const linkRenderMode = settingStore.get('Comfy.LinkRenderMode') + if (canvasStore.canvas) { + canvasStore.canvas.links_render_mode = linkRenderMode + canvasStore.canvas.setDirty(/* fg */ false, /* bg */ true) + } +}) + watchEffect(() => { if (!canvasStore.canvas) return diff --git a/src/extensions/core/index.ts b/src/extensions/core/index.ts index fe0f33178..3365531af 100644 --- a/src/extensions/core/index.ts +++ b/src/extensions/core/index.ts @@ -8,7 +8,6 @@ import './groupNodeManage' import './groupOptions' import './invertMenuScrolling' import './keybinds' -import './linkRenderMode' import './maskeditor' import './nodeTemplates' import './noteNode' diff --git a/src/extensions/core/linkRenderMode.ts b/src/extensions/core/linkRenderMode.ts deleted file mode 100644 index e8e58acaa..000000000 --- a/src/extensions/core/linkRenderMode.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { app, ComfyApp } from '../../scripts/app' -import { LiteGraph } from '@comfyorg/litegraph' -const id = 'Comfy.LinkRenderMode' -const ext = { - name: id, - async setup(app: ComfyApp) { - app.ui.settings.addSetting({ - id, - category: ['Comfy', 'Graph', 'LinkRenderMode'], - name: 'Link Render Mode', - defaultValue: 2, - type: 'combo', - options: [ - { value: LiteGraph.STRAIGHT_LINK.toString(), text: 'Straight' }, - { value: LiteGraph.LINEAR_LINK.toString(), text: 'Linear' }, - { value: LiteGraph.SPLINE_LINK.toString(), text: 'Spline' }, - { value: LiteGraph.HIDDEN_LINK.toString(), text: 'Hidden' } - ], - onChange(value: number) { - app.canvas.links_render_mode = +value - app.canvas.setDirty(/* fg */ false, /* bg */ true) - } - }) - } -} - -app.registerExtension(ext) diff --git a/src/stores/coreSettings.ts b/src/stores/coreSettings.ts index b4623cd78..8e1458ba9 100644 --- a/src/stores/coreSettings.ts +++ b/src/stores/coreSettings.ts @@ -5,6 +5,7 @@ import { LinkReleaseTriggerMode } from '@/types/searchBoxTypes' import type { SettingParams } from '@/types/settingTypes' +import { LiteGraph } from '@comfyorg/litegraph' export const CORE_SETTINGS: SettingParams[] = [ { @@ -444,5 +445,18 @@ export const CORE_SETTINGS: SettingParams[] = [ 'Recommended for node developers. This will validate all node definitions on startup.', defaultValue: false, versionAdded: '1.3.14' + }, + { + id: 'Comfy.LinkRenderMode', + category: ['Comfy', 'Graph', 'LinkRenderMode'], + name: 'Link Render Mode', + defaultValue: 2, + type: 'combo', + options: [ + { value: LiteGraph.STRAIGHT_LINK, text: 'Straight' }, + { value: LiteGraph.LINEAR_LINK, text: 'Linear' }, + { value: LiteGraph.SPLINE_LINK, text: 'Spline' }, + { value: LiteGraph.HIDDEN_LINK, text: 'Hidden' } + ] } ] diff --git a/src/types/apiTypes.ts b/src/types/apiTypes.ts index 82edba787..f2c75b46d 100644 --- a/src/types/apiTypes.ts +++ b/src/types/apiTypes.ts @@ -511,7 +511,8 @@ const zSettings = z.record(z.any()).and( 'Comfy.Keybinding.UnsetBindings': z.array(zKeybinding), 'Comfy.Keybinding.NewBindings': z.array(zKeybinding), 'Comfy.Extension.Disabled': z.array(z.string()), - 'Comfy.Settings.ExtensionPanel': z.boolean() + 'Comfy.Settings.ExtensionPanel': z.boolean(), + 'Comfy.LinkRenderMode': z.number() }) .optional() ) diff --git a/src/types/settingTypes.ts b/src/types/settingTypes.ts index e242b78bb..879da016f 100644 --- a/src/types/settingTypes.ts +++ b/src/types/settingTypes.ts @@ -19,7 +19,7 @@ export type SettingCustomRenderer = ( export interface SettingOption { text: string - value?: string + value?: any } export interface Setting {