Skip to content

Commit db626a0

Browse files
authored
Merge pull request #4 from tusharbhutt/dev
Add minimap and node loader
2 parents 71fdb3f + b1ab5a4 commit db626a0

16 files changed

Lines changed: 2849 additions & 1395 deletions

README.md

Lines changed: 102 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
Some basic custom JavaScript files for the ComfyUI user interface. Features:
44

5+
+ Spawner: adds multiple nodes at once, with collision detection to avoid placing over your current nodes
6+
+ Miniamp: provides an overview of your workflow and allows for quick navigation to any node by clicking on it in the minimap
57
+ Fontifier: a script that allows you to change fonts and font sizes for ComfyUI nodes
68
+ More to come (maybe)
79

@@ -10,9 +12,25 @@ When using the [ComfyUI](https://github.com/comfyanonymous/ComfyUI) interface fo
1012
Rightly or wrongly, I was teaching myself a bit of Python back in 2023 to get some nodes up and running to do what I'd like, and I now I am doing the same for JavaScript. Yes, I am using ChatGPT, Copilot, Claude and others, and yes, I am a glutton for punishment. There are no promises that these scripts will work for you or that I will maintain them. Feel free to do with them as you wish, according to the license model.
1113

1214
***
15+
**UPDATE: JUL 25, 2025**
16+
17+
18+
+ Added the Endless 🌊✨ Node Spawner, which accesses your node library and allows you to select nodes to places
19+
+ Categorizes your nodes based on the ComfyUI menu system
20+
+ Places nodes with intelligent collision avoidance so it will not overlap existing ones
21+
+ Real time search and filtering off nodes to add
22+
+ Added the Endless 🌊✨ Minimap, which shows the current workflow landscape in a floating map
23+
+ Colour coded nodes by category
24+
+ Click on any node in the map to jump to it
25+
+ Respects window aspect ratio
26+
+ Places nodes with intelligent collision avoidance so it will not overlap existing ones
27+
+ Real time search and filtering off nodes to add
28+
+ Updated the Endless 🌊✨ Fontifier to allow for persistent state saving.
29+
30+
1331
**UPDATE: JUL 20, 2025**
1432

15-
+ **Cloned the scripts from [Endless Sea of Stars Nodes](https://github.com/tusharbhutt/Endless-Nodes) so you can just download the scripts if you want**
33+
+ **Cloned the scripts from [Endless Sea of Stars Nodes](https://github.com/tusharbhutt/Endless-Nodes) so you can just download these scripts alone**
1634
+ Added the Endless 🌊✨ Tools button to taskbar. This acts as a centralized repository of all my scripts
1735
+ Introduced the Endless 🌊✨ Fontifier, a script that allows you to dynamically change fonts and sizes.
1836
+ No need to dive into CSS to change text size
@@ -28,11 +46,13 @@ It’s preferable to install from the ComfyUI Node Manager, but for direct insta
2846

2947
`git clone https://github.com/tusharbhutt/Endless-Buttons`
3048

49+
**NOTE: The scripts are also available as part of [Endless Sea of Stars Nodes](https://github.com/tusharbhutt/Endless-Nodes), which features a set of useful nodes**
50+
3151
If installed correctly, you should see a button in the main ComfyUI taskbar that look like this:
3252

3353
Endless 🌊✨ Tools
3454

35-
and when you click it, a floating toolbar with available scripts will be enabled. **DON'T SEE THE BUTTON IN THE TOOLBAR? PRESS CTRL-ALT-E TO BRING THE TOOLBAR**
55+
and when you click it, a floating toolbar with available scripts will be enabled. Dismiss the floating toolbar with the ESC key. **DON'T SEE THE BUTTON IN THE TOOLBAR? PRESS CTRL-ALT-E TO BRING THE TOOLBAR**
3656

3757
***
3858
## Assistance Requests
@@ -48,7 +68,84 @@ If you have issues, ask me **nicely** for help. Your tone matters; I'm too old a
4868

4969
![endlesstools](./img/endlesstools.png)
5070

51-
**IF YOU DO NOT SEE IT, PRESS CTRL-ALT-E TO BRING UP A FLOATING TOOLBAR THAT CAN BE MOVED AROUND** This is the central toolbar that contains all the scripts I have made for this collection
71+
**IF YOU DO NOT SEE IT, PRESS CTRL-ALT-E TO BRING UP A FLOATING TOOLBAR THAT CAN BE MOVED AROUND** This is the central toolbar that contains all the scripts I have made for this collection. Get rid of it by pressing the ESC key.
72+
73+
74+
### Endless 🌊✨ Node Spawner
75+
76+
I find that sometimes I need to create a few nodes for a workflow and creating them one at a time is painful for me. So, I made the Endless 🌊✨ Node Spawner. The spawner has a searchable, categorized interface that supports batch operations and maintains usage history for improved efficiency. Click the Endless 🌊✨ Tools button to bring up the floating toolbar and you should see a choice for "🌊✨ Node Spawner". Clicking it shows the dialog box below:
77+
78+
![spawnerdialog](./img/spawnerdialog.png)
79+
80+
81+
The node spawner has the following features:
82+
83+
+ Hierarchical categorization of all available nodes
84+
+ Real-time search and filtering capabilities
85+
+ Search history with dropdown suggestions
86+
+ Batch node selection and spawning
87+
+ Intelligent collision detection for node placement
88+
+ Category-level selection controls
89+
+ Persistent usage tracking and search history
90+
91+
92+
Here's a quick overview of how to use the spawner:
93+
94+
+ Open the Node Loader from the Endless Tools menu
95+
+ Browse categories or use the search filter to find specific nodes
96+
+ Select nodes individually or use category selection buttons
97+
+ Review selections in the counter display
98+
+ Click Spawn Nodes to add selected nodes to your workflow
99+
+ Recently used nodes appear as clickable chips for quick access
100+
101+
Once you have made your selections and applied them, all the nodes you created will appear. How fast is it? My system can create 950 nodes in less than two seconds.
102+
103+
![spawnerresult](./img/spawnerresult.png)
104+
105+
106+
### Endless 🌊✨ Minimap
107+
108+
When you have large workflows, it can be hard to keep tack of everything on the screen. The ComfyUI web interface does have a button to resize the nodes to your screen, but I thought a minimap would be of use to some people. The minimap displays a scaled overview of all nodes with visual indicators for the current viewport and support for direct navigation. Click the Endless 🌊✨ Tools button to bring up the floating toolbar and you should see a choice for "🌊✨ Minimap". Clicking it shows the dialog box below:
109+
110+
111+
![minimapbox](./img/minimapbox.png)
112+
113+
The minimap has the following features:
114+
115+
+ Dynamic aspect ratio adjustment based on canvas dimensions
116+
+ Real-time viewport highlighting with theme-aware colors
117+
+ Interactive click-to-navigate functionality
118+
+ Zoom and pan controls for detailed exploration
119+
+ Color-coded node types with optional legend display
120+
+ Responsive resizing based on window dimensions
121+
+ Drag-and-drop repositioning of the minimap window
122+
123+
124+
Drag the box around by clicking and holding the title. To cancel, you can simply click outside the dialog box or press the escape key. With this dialog box, you can do the following:
125+
126+
+ Use the minimap to understand your workflow's overall structure
127+
+ Click anywhere on the minimap to jump to that location
128+
+ Click a node to jump to the node
129+
+ Use zoom controls (+/-) or mouse wheel for detailed viewing
130+
+ Toggle the legend (🎨) to identify node types by color
131+
132+
133+
The drag bar has the following icons:
134+
135+
136+
![minimapicons](./img/minimapicons.png)
137+
138+
The icons correspond to:
139+
140+
🎨 Toggle legend
141+
▫ Zoom out
142+
🏠 Reset zoom and pan
143+
⬜ Zoom in
144+
❌ Close minimap
145+
146+
When you zoom in to the minimap, you can see the labels of the nodes as well, like shown below. The minimap should also change shape to respect the browser window shape, and works with ComfyUI themes.
147+
148+
![minimaplabel](./img/minimaplabel.png)
52149

53150

54151
### Endless 🌊✨ Fontifier
@@ -65,9 +162,10 @@ Drag the box around by clicking and holding the title. To cancel, you can simpl
65162
+ Change the fonts themselves
66163
+ Instead of a global change, select various elements to resize
67164
+ Adjust the height of the title bar or connectors and other input areas
165+
+ Save the current state for persistent use, or revert to ComfyUI defaults
68166

69167

70-
Once you make your changes, you can preview them and then choose to apply or cancel. Changed your mind? Load the box again and press the reset key.
168+
Once you make your changes, you can preview them and then choose to apply or cancel. Changed your mind? Load the box again and press the reset key. You can also save your settings for persistent use.
71169

72170
![fontifiernode](./img/fontifiernode.png)
73171

__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
WEB_DIRECTORY = "./web/"
99

1010
# Version info
11-
__version__ = "1.0.2"
11+
__version__ = "1.1.0
1212

1313
print("\n===============================")
1414
print(f"Endless Sea of Stars Buttons v{__version__} loaded successfully! 🌠")

changlelog.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
1+
July 25/25, V1.2: Added the Endless Node Spawner and Node minimap. The node spawner crates multiple nodes at once, with collision avoidance for existing nodes. The minimap shows an overview of your workflow and allows for quick navigation of your nodes
12
July 20/25, V1.0.2: Introducing the Endless Fontifier, a JavaScript file that adds allows the user to change font sizes and fonts for various text elements on the ComfyUI interface.

img/endlesstools.png

-817 Bytes
Loading

img/fontifierbox.png

-20.7 KB
Loading

img/minimapbox.png

34.7 KB
Loading

img/minimapicons.png

12.8 KB
Loading

img/minimaplabel.png

66.6 KB
Loading

img/spawnerdialog.png

39.8 KB
Loading

img/spawnerresult.png

589 KB
Loading

0 commit comments

Comments
 (0)