diff --git a/package-lock.json b/package-lock.json index 8f10d5414..8d804d79d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,7 @@ "version": "1.2.30", "dependencies": { "@atlaskit/pragmatic-drag-and-drop": "^1.2.1", - "@comfyorg/litegraph": "^0.7.47", + "@comfyorg/litegraph": "^0.7.48", "@primevue/themes": "^4.0.0-rc.2", "@vitejs/plugin-vue": "^5.0.5", "@vueuse/core": "^11.0.0", @@ -1880,9 +1880,9 @@ "dev": true }, "node_modules/@comfyorg/litegraph": { - "version": "0.7.47", - "resolved": "https://registry.npmjs.org/@comfyorg/litegraph/-/litegraph-0.7.47.tgz", - "integrity": "sha512-MCN2cF6XK2tMFLad0OQhDT1kGSO99ixGLpDszh6TVbZLGawq/2kjL6bnynOv/tGoBzVTFVZZnI7JkmlDijm9MA==", + "version": "0.7.48", + "resolved": "https://registry.npmjs.org/@comfyorg/litegraph/-/litegraph-0.7.48.tgz", + "integrity": "sha512-BmR91huOjoMvVvdQ8Pw+L/Iez+ZIxHXA/ApfLwUTOVFa+SvwlFY76qD6C0Hw64jOx9fous1jIQUp35X0xF0RGw==", "license": "MIT" }, "node_modules/@cspotcode/source-map-support": { diff --git a/package.json b/package.json index 1c509d495..c7ae5e71c 100644 --- a/package.json +++ b/package.json @@ -56,7 +56,7 @@ }, "dependencies": { "@atlaskit/pragmatic-drag-and-drop": "^1.2.1", - "@comfyorg/litegraph": "^0.7.47", + "@comfyorg/litegraph": "^0.7.48", "@primevue/themes": "^4.0.0-rc.2", "@vitejs/plugin-vue": "^5.0.5", "@vueuse/core": "^11.0.0", diff --git a/src/components/graph/GraphCanvas.vue b/src/components/graph/GraphCanvas.vue index 5e3a9d1ef..92ffae8af 100644 --- a/src/components/graph/GraphCanvas.vue +++ b/src/components/graph/GraphCanvas.vue @@ -64,6 +64,15 @@ watch( { immediate: true } ) +const zoomSpeed = computed(() => settingStore.get('Comfy.Graph.ZoomSpeed')) +watch( + zoomSpeed, + (newVal: number) => { + if (comfyApp.canvas) comfyApp.canvas['zoom_speed'] = newVal + }, + { immediate: true } +) + watchEffect(() => { nodeDefStore.showDeprecated = settingStore.get('Comfy.Node.ShowDeprecated') }) @@ -94,6 +103,7 @@ onMounted(async () => { await comfyApp.setup(canvasRef.value) comfyApp.canvas.allow_searchbox = !nodeSearchEnabled.value comfyApp.canvas.show_info = canvasInfoEnabled.value + comfyApp.canvas['zoom_speed'] = zoomSpeed.value workspaceStore.spinner = false window['app'] = comfyApp diff --git a/src/stores/settingStore.ts b/src/stores/settingStore.ts index f9abf7690..7e82ceb62 100644 --- a/src/stores/settingStore.ts +++ b/src/stores/settingStore.ts @@ -172,6 +172,18 @@ export const useSettingStore = defineStore('setting', { type: 'boolean', defaultValue: true }) + + app.ui.settings.addSetting({ + id: 'Comfy.Graph.ZoomSpeed', + name: 'Canvas zoom speed', + type: 'slider', + defaultValue: 1.1, + attrs: { + min: 1.01, + max: 2.5, + step: 0.01 + } + }) }, set(key: K, value: Settings[K]) { diff --git a/src/types/apiTypes.ts b/src/types/apiTypes.ts index e31a4bac9..e698dd63a 100644 --- a/src/types/apiTypes.ts +++ b/src/types/apiTypes.ts @@ -410,6 +410,7 @@ const zSettings = z.record(z.any()).and( 'Comfy.EnableTooltips': z.boolean(), 'Comfy.EnableWorkflowViewRestore': z.boolean(), 'Comfy.FloatRoundingPrecision': z.number(), + 'Comfy.Graph.ZoomSpeed': z.number(), 'Comfy.InvertMenuScrolling': z.boolean(), 'Comfy.Logging.Enabled': z.boolean(), 'Comfy.NodeInputConversionSubmenus': z.boolean(),