@@ -23,30 +23,58 @@ function isCoreNode(node: ComfyLGraphNode) {
23
23
return getNodeSource ( node ) ?. type === 'core'
24
24
}
25
25
26
- function getNodeIdBadge ( node : ComfyLGraphNode , nodeIdBadgeMode : NodeBadgeMode ) {
27
- return nodeIdBadgeMode === NodeBadgeMode . None ||
28
- ( isCoreNode ( node ) && nodeIdBadgeMode === NodeBadgeMode . HideBuiltIn )
29
- ? ''
30
- : `#${ node . id } `
26
+ function badgeTextVisible (
27
+ node : ComfyLGraphNode ,
28
+ badgeMode : NodeBadgeMode
29
+ ) : boolean {
30
+ return (
31
+ badgeMode === NodeBadgeMode . None ||
32
+ ( isCoreNode ( node ) && badgeMode === NodeBadgeMode . HideBuiltIn )
33
+ )
34
+ }
35
+
36
+ function getNodeIdBadgeText (
37
+ node : ComfyLGraphNode ,
38
+ nodeIdBadgeMode : NodeBadgeMode
39
+ ) {
40
+ return badgeTextVisible ( node , nodeIdBadgeMode ) ? '' : `#${ node . id } `
31
41
}
32
42
33
- function getNodeSourceBadge (
43
+ function getNodeSourceBadgeText (
34
44
node : ComfyLGraphNode ,
35
45
nodeSourceBadgeMode : NodeBadgeMode
36
46
) {
37
47
const nodeSource = getNodeSource ( node )
38
- return nodeSourceBadgeMode === NodeBadgeMode . None ||
39
- ( isCoreNode ( node ) && nodeSourceBadgeMode === NodeBadgeMode . HideBuiltIn )
48
+ return badgeTextVisible ( node , nodeSourceBadgeMode )
40
49
? ''
41
50
: nodeSource ?. badgeText ?? ''
42
51
}
43
52
53
+ function getNodeLifeCycleBadgeText (
54
+ node : ComfyLGraphNode ,
55
+ nodeLifeCycleBadgeMode : NodeBadgeMode
56
+ ) {
57
+ let text = ''
58
+ const nodeDef = ( node . constructor as typeof ComfyLGraphNode ) . nodeData
59
+
60
+ if ( nodeDef . deprecated ) {
61
+ text = '[DEPR]'
62
+ }
63
+
64
+ if ( nodeDef . experimental ) {
65
+ text = '[BETA]'
66
+ }
67
+
68
+ return badgeTextVisible ( node , nodeLifeCycleBadgeMode ) ? '' : text
69
+ }
70
+
44
71
class NodeBadgeExtension implements ComfyExtension {
45
72
name = 'Comfy.NodeBadge'
46
73
47
74
constructor (
48
75
public nodeIdBadgeMode : ComputedRef < NodeBadgeMode > | null = null ,
49
76
public nodeSourceBadgeMode : ComputedRef < NodeBadgeMode > | null = null ,
77
+ public nodeLifeCycleBadgeMode : ComputedRef < NodeBadgeMode > | null = null ,
50
78
public colorPalette : ComputedRef < Palette > | null = null
51
79
) { }
52
80
@@ -63,6 +91,12 @@ class NodeBadgeExtension implements ComfyExtension {
63
91
this . nodeIdBadgeMode = computed (
64
92
( ) => settingStore . get ( 'Comfy.NodeBadge.NodeIdBadgeMode' ) as NodeBadgeMode
65
93
)
94
+ this . nodeLifeCycleBadgeMode = computed (
95
+ ( ) =>
96
+ settingStore . get (
97
+ 'Comfy.NodeBadge.NodeLifeCycleBadgeMode'
98
+ ) as NodeBadgeMode
99
+ )
66
100
this . colorPalette = computed ( ( ) =>
67
101
getColorPalette ( settingStore . get ( 'Comfy.ColorPalette' ) )
68
102
)
@@ -74,6 +108,9 @@ class NodeBadgeExtension implements ComfyExtension {
74
108
watch ( this . nodeIdBadgeMode , ( ) => {
75
109
app . graph . setDirtyCanvas ( true , true )
76
110
} )
111
+ watch ( this . nodeLifeCycleBadgeMode , ( ) => {
112
+ app . graph . setDirtyCanvas ( true , true )
113
+ } )
77
114
}
78
115
79
116
nodeCreated ( node : ComfyLGraphNode , app : ComfyApp ) {
@@ -90,13 +127,17 @@ class NodeBadgeExtension implements ComfyExtension {
90
127
new LGraphBadge ( {
91
128
text : _ . truncate (
92
129
[
93
- getNodeIdBadge ( node , this . nodeIdBadgeMode . value ) ,
94
- getNodeSourceBadge ( node , this . nodeSourceBadgeMode . value )
130
+ getNodeIdBadgeText ( node , this . nodeIdBadgeMode . value ) ,
131
+ getNodeLifeCycleBadgeText (
132
+ node ,
133
+ this . nodeLifeCycleBadgeMode . value
134
+ ) ,
135
+ getNodeSourceBadgeText ( node , this . nodeSourceBadgeMode . value )
95
136
]
96
137
. filter ( ( s ) => s . length > 0 )
97
138
. join ( ' ' ) ,
98
139
{
99
- length : 25
140
+ length : 31
100
141
}
101
142
) ,
102
143
fgColor :
0 commit comments