File size: 4,900 Bytes
4450790
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
import { app } from "../../scripts/app.js";

app.registerExtension({
    name: "essentials.FluxAttentionSeeker",
    async beforeRegisterNodeDef(nodeType, nodeData, app) {
        if (!nodeData?.category?.startsWith("essentials")) {
            return;
        }

        if (nodeData.name === "FluxAttentionSeeker+") {
            const onCreated = nodeType.prototype.onNodeCreated;

            nodeType.prototype.onNodeCreated = function () {
                this.addWidget("button", "RESET ALL", null, () => {
                    this.widgets.forEach(w => {
                        if (w.type === "slider") {
                            w.value = 1.0;
                        }
                    });
                });

                this.addWidget("button", "ZERO ALL", null, () => {
                    this.widgets.forEach(w => {
                        if (w.type === "slider") {
                            w.value = 0.0;
                        }
                    });
                });

                this.addWidget("button", "REPEAT FIRST", null, () => {
                    var clip_value = undefined;
                    var t5_value = undefined;
                    this.widgets.forEach(w => {
                        if (w.name.startsWith('clip_l')) {
                            if (clip_value === undefined) {
                                clip_value = w.value;
                            }
                            w.value = clip_value;
                        } else if (w.name.startsWith('t5')) {
                            if (t5_value === undefined) {
                                t5_value = w.value;
                            }
                            w.value = t5_value;
                        }
                    });
                });
            };
        }
    },
});

app.registerExtension({
    name: "essentials.SD3AttentionSeekerLG",
    async beforeRegisterNodeDef(nodeType, nodeData, app) {
        if (!nodeData?.category?.startsWith("essentials")) {
            return;
        }

        if (nodeData.name === "SD3AttentionSeekerLG+") {
            const onCreated = nodeType.prototype.onNodeCreated;

            nodeType.prototype.onNodeCreated = function () {
                this.addWidget("button", "RESET L", null, () => {
                    this.widgets.forEach(w => {
                        if (w.type === "slider" && w.name.startsWith('clip_l')) {
                            w.value = 1.0;
                        }
                    });
                });
                this.addWidget("button", "RESET G", null, () => {
                    this.widgets.forEach(w => {
                        if (w.type === "slider" && w.name.startsWith('clip_g')) {
                            w.value = 1.0;
                        }
                    });
                });

                this.addWidget("button", "REPEAT FIRST", null, () => {
                    var clip_l_value = undefined;
                    var clip_g_value = undefined;
                    this.widgets.forEach(w => {
                        if (w.name.startsWith('clip_l')) {
                            if (clip_l_value === undefined) {
                                clip_l_value = w.value;
                            }
                            w.value = clip_l_value;
                        } else if (w.name.startsWith('clip_g')) {
                            if (clip_g_value === undefined) {
                                clip_g_value = w.value;
                            }
                            w.value = clip_g_value;
                        }
                    });
                });
            };
        }
    },
});

app.registerExtension({
    name: "essentials.SD3AttentionSeekerT5",
    async beforeRegisterNodeDef(nodeType, nodeData, app) {
        if (!nodeData?.category?.startsWith("essentials")) {
            return;
        }

        if (nodeData.name === "SD3AttentionSeekerT5+") {
            const onCreated = nodeType.prototype.onNodeCreated;

            nodeType.prototype.onNodeCreated = function () {
                this.addWidget("button", "RESET ALL", null, () => {
                    this.widgets.forEach(w => {
                        if (w.type === "slider") {
                            w.value = 1.0;
                        }
                    });
                });

                this.addWidget("button", "REPEAT FIRST", null, () => {
                    var t5_value = undefined;
                    this.widgets.forEach(w => {
                        if (w.name.startsWith('t5')) {
                            if (t5_value === undefined) {
                                t5_value = w.value;
                            }
                            w.value = t5_value;
                        }
                    });
                });
            };
        }
    },
});