Reland "Replace magic numbers with LGraphEventMode (#1809)" (#1811)

* Revert "Revert "Replace magic numbers with LGraphEventMode (#1809)" (#1810)"

This reverts commit 30a92d40eb.

* Update litegraph
This commit is contained in:
Chenlei Hu
2024-12-05 08:48:07 -08:00
committed by GitHub
parent 30a92d40eb
commit 540e785424
4 changed files with 34 additions and 24 deletions

8
package-lock.json generated
View File

@@ -11,7 +11,7 @@
"dependencies": {
"@atlaskit/pragmatic-drag-and-drop": "^1.3.1",
"@comfyorg/comfyui-electron-types": "^0.3.25",
"@comfyorg/litegraph": "^0.8.42",
"@comfyorg/litegraph": "^0.8.43",
"@primevue/themes": "^4.0.5",
"@vueuse/core": "^11.0.0",
"@xterm/addon-fit": "^0.10.0",
@@ -1957,9 +1957,9 @@
"license": "GPL-3.0-only"
},
"node_modules/@comfyorg/litegraph": {
"version": "0.8.42",
"resolved": "https://registry.npmjs.org/@comfyorg/litegraph/-/litegraph-0.8.42.tgz",
"integrity": "sha512-O0c0hOJsT2MZ7H+7VLKKTXYZ5f9mCscnQ6UhQ0HU0o3hteSqalJsS6n68j+DboBU2Vogp/wf73LSszEzNiX1sg==",
"version": "0.8.43",
"resolved": "https://registry.npmjs.org/@comfyorg/litegraph/-/litegraph-0.8.43.tgz",
"integrity": "sha512-4LH/6inzA6KTs8XqqRha5+lZzVlQq3ZqqHFhdASzGpZHSAERfCiwNjsocRTiObV6gBGLdRxYQO7X7afkHGl2Bg==",
"license": "MIT"
},
"node_modules/@cspotcode/source-map-support": {

View File

@@ -83,7 +83,7 @@
"dependencies": {
"@atlaskit/pragmatic-drag-and-drop": "^1.3.1",
"@comfyorg/comfyui-electron-types": "^0.3.25",
"@comfyorg/litegraph": "^0.8.42",
"@comfyorg/litegraph": "^0.8.43",
"@primevue/themes": "^4.0.5",
"@vueuse/core": "^11.0.0",
"@xterm/addon-fit": "^0.10.0",

View File

@@ -13,9 +13,12 @@ import { useToastStore } from '@/stores/toastStore'
import { type ComfyWorkflow, useWorkflowStore } from '@/stores/workflowStore'
import { useBottomPanelStore } from '@/stores/workspace/bottomPanelStore'
import { useWorkspaceStore } from '@/stores/workspaceStore'
import { LGraphGroup } from '@comfyorg/litegraph'
import { LiteGraph } from '@comfyorg/litegraph'
import { LGraphNode } from '@comfyorg/litegraph'
import {
LiteGraph,
LGraphEventMode,
LGraphNode,
LGraphGroup
} from '@comfyorg/litegraph'
export function useCoreCommands(): ComfyCommand[] {
const getTracker = () => useWorkflowStore()?.activeWorkflow?.changeTracker
@@ -32,10 +35,10 @@ export function useCoreCommands(): ComfyCommand[] {
return result
}
const toggleSelectedNodesMode = (mode: number) => {
const toggleSelectedNodesMode = (mode: LGraphEventMode) => {
getSelectedNodes().forEach((node) => {
if (node.mode === mode) {
node.mode = 0 // always
node.mode = LGraphEventMode.ALWAYS
} else {
node.mode = mode
}
@@ -340,7 +343,7 @@ export function useCoreCommands(): ComfyCommand[] {
label: 'Mute/Unmute Selected Nodes',
versionAdded: '1.3.11',
function: () => {
toggleSelectedNodesMode(2) // muted
toggleSelectedNodesMode(LGraphEventMode.NEVER)
}
},
{
@@ -349,7 +352,7 @@ export function useCoreCommands(): ComfyCommand[] {
label: 'Bypass/Unbypass Selected Nodes',
versionAdded: '1.3.11',
function: () => {
toggleSelectedNodesMode(4) // bypassed
toggleSelectedNodesMode(LGraphEventMode.BYPASS)
}
},
{

View File

@@ -30,7 +30,8 @@ import {
LGraphCanvas,
LGraph,
LGraphNode,
LiteGraph
LiteGraph,
LGraphEventMode
} from '@comfyorg/litegraph'
import { ExtensionManager } from '@/types/extensionTypes'
import {
@@ -585,8 +586,9 @@ export class ComfyApp {
options.push({
content: 'Bypass',
callback: (obj) => {
if (this.mode === 4) this.mode = 0
else this.mode = 4
if (this.mode === LGraphEventMode.BYPASS)
this.mode = LGraphEventMode.ALWAYS
else this.mode = LGraphEventMode.BYPASS
this.graph.change()
}
})
@@ -1477,15 +1479,12 @@ export class ComfyApp {
const old_color = node.color
const old_bgcolor = node.bgcolor
if (node.mode === 2) {
// never
if (node.mode === LGraphEventMode.NEVER) {
this.editor_alpha = 0.4
}
// ComfyUI's custom node mode enum value 4 => bypass/never.
let bgColor: string
if (node.mode === 4) {
// never
if (node.mode === LGraphEventMode.BYPASS) {
bgColor = app.bypassBgColor
this.editor_alpha = 0.2
} else {
@@ -2304,7 +2303,9 @@ export class ComfyApp {
const output = {}
// Process nodes in order of execution
for (const outerNode of graph.computeExecutionOrder(false)) {
const skipNode = outerNode.mode === 2 || outerNode.mode === 4
const skipNode =
outerNode.mode === LGraphEventMode.NEVER ||
outerNode.mode === LGraphEventMode.BYPASS
const innerNodes =
!skipNode && outerNode.getInnerNodes
? outerNode.getInnerNodes()
@@ -2314,7 +2315,10 @@ export class ComfyApp {
continue
}
if (node.mode === 2 || node.mode === 4) {
if (
node.mode === LGraphEventMode.NEVER ||
node.mode === LGraphEventMode.BYPASS
) {
// Don't serialize muted nodes
continue
}
@@ -2339,7 +2343,10 @@ export class ComfyApp {
let parent = node.getInputNode(i)
if (parent) {
let link = node.getInputLink(i)
while (parent.mode === 4 || parent.isVirtualNode) {
while (
parent.mode === LGraphEventMode.BYPASS ||
parent.isVirtualNode
) {
let found = false
if (parent.isVirtualNode) {
link = parent.getInputLink(link.origin_slot)
@@ -2349,7 +2356,7 @@ export class ComfyApp {
found = true
}
}
} else if (link && parent.mode === 4) {
} else if (link && parent.mode === LGraphEventMode.BYPASS) {
let all_inputs = [link.origin_slot]
if (parent.inputs) {
all_inputs = all_inputs.concat(Object.keys(parent.inputs))