mirror of
https://github.com/jags111/efficiency-nodes-comfyui.git
synced 2026-05-07 01:06:42 -03:00
Compare commits
2 Commits
copilot/ad
...
copilot/fi
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e139816db0 | ||
|
|
e4e93074fe |
21
.gitignore
vendored
21
.gitignore
vendored
@@ -1,21 +0,0 @@
|
|||||||
# Python cache
|
|
||||||
__pycache__/
|
|
||||||
*.py[cod]
|
|
||||||
*$py.class
|
|
||||||
*.so
|
|
||||||
|
|
||||||
# Virtual environments
|
|
||||||
venv/
|
|
||||||
env/
|
|
||||||
ENV/
|
|
||||||
|
|
||||||
# IDE
|
|
||||||
.vscode/
|
|
||||||
.idea/
|
|
||||||
*.swp
|
|
||||||
*.swo
|
|
||||||
*~
|
|
||||||
|
|
||||||
# OS
|
|
||||||
.DS_Store
|
|
||||||
Thumbs.db
|
|
||||||
11
README.md
11
README.md
@@ -131,17 +131,6 @@ Please check out our WIKI for any use cases and new developments including workf
|
|||||||
<img src="https://github.com/LucianoCirino/efficiency-nodes-media/blob/main/images/nodes/Image%20Overlay%20-%20Node%20Example.png" width="1080">
|
<img src="https://github.com/LucianoCirino/efficiency-nodes-media/blob/main/images/nodes/Image%20Overlay%20-%20Node%20Example.png" width="1080">
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
</details>
|
|
||||||
<!-------------------------------------------------------------------------------------------------------------------------------------------------------->
|
|
||||||
<details>
|
|
||||||
<summary><b>Live Preview (Eff.)</b></summary>
|
|
||||||
<ul>
|
|
||||||
<li>Node that displays a live preview of images while allowing them to pass through to other nodes in the workflow.</li>
|
|
||||||
<li>Can be connected to multiple samplers sequentially to show progressive updates as the workflow advances through different stages (base sampling, refining, hi-res fix, detailing, etc.).</li>
|
|
||||||
<li>Useful for placing preview displays outside of subgraphs or in custom locations within complex workflows.</li>
|
|
||||||
<li>Simply connect the IMAGE output from any sampler or image processing node to this node's input, and connect its output to continue the workflow.</li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
<!-------------------------------------------------------------------------------------------------------------------------------------------------------->
|
<!-------------------------------------------------------------------------------------------------------------------------------------------------------->
|
||||||
<details>
|
<details>
|
||||||
|
|||||||
@@ -4013,34 +4013,6 @@ class TSC_ImageOverlay:
|
|||||||
# Return the edited base image
|
# Return the edited base image
|
||||||
return (base_image,)
|
return (base_image,)
|
||||||
|
|
||||||
########################################################################################################################
|
|
||||||
# TSC Live Preview Node
|
|
||||||
class TSC_LivePreview:
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def INPUT_TYPES(cls):
|
|
||||||
return {
|
|
||||||
"required": {
|
|
||||||
"images": ("IMAGE",),
|
|
||||||
},
|
|
||||||
"hidden": {
|
|
||||||
"prompt": "PROMPT",
|
|
||||||
"extra_pnginfo": "EXTRA_PNGINFO"
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
RETURN_TYPES = ("IMAGE",)
|
|
||||||
FUNCTION = "preview_image"
|
|
||||||
OUTPUT_NODE = True
|
|
||||||
CATEGORY = "Efficiency Nodes/Image"
|
|
||||||
|
|
||||||
def preview_image(self, images, prompt=None, extra_pnginfo=None):
|
|
||||||
# Generate preview using ComfyUI's PreviewImage node
|
|
||||||
preview = PreviewImage().save_images(images, prompt=prompt, extra_pnginfo=extra_pnginfo)["ui"]
|
|
||||||
|
|
||||||
# Return both the preview for UI and the original images for pass-through
|
|
||||||
return {"ui": preview, "result": (images,)}
|
|
||||||
|
|
||||||
########################################################################################################################
|
########################################################################################################################
|
||||||
# Noise Sources & Seed Variations
|
# Noise Sources & Seed Variations
|
||||||
# https://github.com/shiimizu/ComfyUI_smZNodes
|
# https://github.com/shiimizu/ComfyUI_smZNodes
|
||||||
@@ -4316,7 +4288,6 @@ NODE_CLASS_MAPPINGS = {
|
|||||||
"Manual XY Entry Info": TSC_XYplot_Manual_XY_Entry_Info,
|
"Manual XY Entry Info": TSC_XYplot_Manual_XY_Entry_Info,
|
||||||
"Join XY Inputs of Same Type": TSC_XYplot_JoinInputs,
|
"Join XY Inputs of Same Type": TSC_XYplot_JoinInputs,
|
||||||
"Image Overlay": TSC_ImageOverlay,
|
"Image Overlay": TSC_ImageOverlay,
|
||||||
"Live Preview (Eff.)": TSC_LivePreview,
|
|
||||||
"Noise Control Script": TSC_Noise_Control_Script,
|
"Noise Control Script": TSC_Noise_Control_Script,
|
||||||
"HighRes-Fix Script": TSC_HighRes_Fix,
|
"HighRes-Fix Script": TSC_HighRes_Fix,
|
||||||
"Tiled Upscaler Script": TSC_Tiled_Upscaler,
|
"Tiled Upscaler Script": TSC_Tiled_Upscaler,
|
||||||
|
|||||||
@@ -36,7 +36,6 @@ function toggleWidget(node, widget, show = false, suffix = "") {
|
|||||||
node.setSize([node.size[0], newHeight]);
|
node.setSize([node.size[0], newHeight]);
|
||||||
}
|
}
|
||||||
|
|
||||||
const WIDGET_HEIGHT = 24;
|
|
||||||
// Use for Multiline Widget Nodes (aka Efficient Loaders)
|
// Use for Multiline Widget Nodes (aka Efficient Loaders)
|
||||||
function toggleWidget_2(node, widget, show = false, suffix = "") {
|
function toggleWidget_2(node, widget, show = false, suffix = "") {
|
||||||
if (!widget || doesInputWithNameExist(node, widget.name)) return;
|
if (!widget || doesInputWithNameExist(node, widget.name)) return;
|
||||||
@@ -52,8 +51,10 @@ function toggleWidget_2(node, widget, show = false, suffix = "") {
|
|||||||
widget.computeSize = show ? origProps[widget.name].origComputeSize : () => [0, -4];
|
widget.computeSize = show ? origProps[widget.name].origComputeSize : () => [0, -4];
|
||||||
|
|
||||||
if (initialized){
|
if (initialized){
|
||||||
const adjustment = show ? WIDGET_HEIGHT : -WIDGET_HEIGHT;
|
// Calculate the new height for the node based on its computeSize method
|
||||||
node.setSize([node.size[0], node.size[1] + adjustment]);
|
// This properly accounts for font size changes and ensures widgets don't overlap
|
||||||
|
const newHeight = node.computeSize()[1];
|
||||||
|
node.setSize([node.size[0], newHeight]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user