Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7e5d24fbec | ||
|
|
9aeb25c4ec | ||
|
|
98ee86b9e6 | ||
|
|
c648ee9729 |
@@ -1,6 +1,16 @@
|
||||
# [](https://github.com/failfa-st/failfast-comfyui-extensions/compare/v1.3.0...v) (2023-08-01)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **images:** allow copy image ([27eb284](https://github.com/failfa-st/failfast-comfyui-extensions/commit/27eb284229235e301496326d22cd3c48e16f6f23))
|
||||
* **reroute:** allow dot & microdot ([088f89d](https://github.com/failfa-st/failfast-comfyui-extensions/commit/088f89d41406b081d37e29c5601dc529997c6c33))
|
||||
|
||||
|
||||
|
||||
# [](https://github.com/failfa-st/failfast-comfyui-extensions/compare/v1.3.0...v) (2023-08-01)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **images:** allow copy image ([27eb284](https://github.com/failfa-st/failfast-comfyui-extensions/commit/27eb284229235e301496326d22cd3c48e16f6f23))
|
||||
|
||||
@@ -7,6 +7,10 @@ personalization in your ComfyUI environment.
|
||||
|
||||
[CHANGELOG](CHANGELOG.md) | [LICENSE (AGPL 3.0)](LICENSE)
|
||||
|
||||
## Request a new feature
|
||||
### If you have an idea for a new extension, you can open a [Feature Request](https://github.com/failfa-st/failfast-comfyui-extensions/issues/new?assignees=&labels=enhancement&projects=&template=feature_request.md&title=)
|
||||
|
||||
## Table of Contents
|
||||
<!-- toc -->
|
||||
|
||||
- [Installation](#installation)
|
||||
@@ -21,9 +25,18 @@ personalization in your ComfyUI environment.
|
||||
+ [Positive/Negative](#positivenegative)
|
||||
+ [Dynamic Colors](#dynamic-colors)
|
||||
- [Context Menu](#context-menu)
|
||||
* [Freeze or Unfreeze Group](#freeze-or-unfreeze-group)
|
||||
* [Pin or Unpin all Nodes](#pin-or-unpin-all-nodes)
|
||||
* [Arranging all Nodes](#arranging-all-nodes)
|
||||
* [Nodes](#nodes)
|
||||
+ [Custom Color Option (only available in "default" Color Mode)](#custom-color-option-only-available-in-default-color-mode)
|
||||
+ [Show Title on Reroute Node](#show-title-on-reroute-node)
|
||||
+ [Render Reroute as Dot](#render-reroute-as-dot)
|
||||
+ [Copy Images](#copy-images)
|
||||
* [Groups](#groups)
|
||||
+ [Group Color Option](#group-color-option)
|
||||
+ [Freeze/Unfreeze Group](#freezeunfreeze-group)
|
||||
* [Canvas](#canvas)
|
||||
+ [Pin or Unpin all Nodes](#pin-or-unpin-all-nodes)
|
||||
+ [Freeze or unfreeze all Groups and Nodes](#freeze-or-unfreeze-all-groups-and-nodes)
|
||||
+ [Arranging all Nodes](#arranging-all-nodes)
|
||||
- [Single Extensions Usage](#single-extensions-usage)
|
||||
- [Contribution](#contribution)
|
||||
|
||||
@@ -143,66 +156,82 @@ Several dynamic coloring modes are available:
|
||||
|
||||
The context menu offers additional options for nodes, groups, colors, and the canvas:
|
||||
|
||||
**Nodes**
|
||||
|
||||
- Custom color option (only available in "default" Color Mode).
|
||||
- Show title on Reroute node
|
||||
- Render Reroute as dot
|
||||
- Copy Images
|
||||
### Nodes
|
||||
|
||||
#### Custom Color Option (only available in "default" Color Mode)
|
||||
|
||||
<div align="center">
|
||||
<img src="https://github.com/failfa-st/failfast-comfyui-extensions/assets/1148334/f0c4dc53-0e40-480d-a3f9-09b50a3ab56d" alt="Node color options" height="300px">
|
||||
<p>Node Color Options</p>
|
||||
</div>
|
||||
|
||||
#### Show Title on Reroute Node
|
||||
|
||||
<div align="center">
|
||||
<img src="https://github.com/failfa-st/failfast-comfyui-extensions/assets/1148334/e40ea33d-5a44-4859-b050-ed7a13057536" alt="reroute Node options" width="400px">
|
||||
<p>Reroute show/hide Title</p>
|
||||
</div>
|
||||
|
||||
#### Render Reroute as Dot
|
||||
|
||||
<div align="center">
|
||||
<img src="https://github.com/failfa-st/failfast-comfyui-extensions/assets/1148334/c02818a1-3c87-4d15-8e91-2328b08d46f3" alt="reroute Node as dot" height="300px">
|
||||
<img src="https://github.com/failfa-st/failfast-comfyui-extensions/assets/1148334/d575b450-da5d-4357-832f-de294a5cc3d9" alt="reroute Node as dot" width="400px" >
|
||||
<p>Reroute as dot</p>
|
||||
</div>
|
||||
|
||||
|
||||
| microdot | microdot / dot / off |
|
||||
| :-----------------------------------------------------------------------------------------------: |:---------------------------------------------------------------------------------------------------------------------------:|
|
||||
|  |  |
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#### Copy Images
|
||||
|
||||
<div align="center">
|
||||
<img src="https://github.com/failfa-st/failfast-comfyui-extensions/assets/1148334/f41b4aff-9677-4faf-85cb-86ce497d6240" alt="Copy images" >
|
||||
<p>Copy Image</p>
|
||||
</div>
|
||||
|
||||
### Groups
|
||||
|
||||
**Groups**
|
||||
#### Group Color Option
|
||||
|
||||
- Custom color option.
|
||||
- Group color option.
|
||||
- Freeze/unfreeze group.
|
||||
You can color a group with a custom color and even color a group including all its child Nodes
|
||||
|
||||
<div align="center">
|
||||
<img src="https://github.com/failfa-st/hyv/assets/1148334/7558fcfb-1733-4d78-904b-50891f29fa68" alt="Group options" height="300px">
|
||||
<p>Group Options</p>
|
||||
<img src="https://github.com/failfa-st/failfast-comfyui-extensions/assets/1148334/f3788347-3fe3-4959-b14c-5b9db96e8f41" alt="Group color options" height="300px">
|
||||
<p>Group color Options</p>
|
||||
</div>
|
||||
|
||||
**Canvas**
|
||||
|
||||
- Arrange nodes (vertical/horizontal).
|
||||
- Freeze/unfreeze all nodes.
|
||||
- Pin/unpin all nodes.
|
||||
|
||||
<div align="center">
|
||||
<img src="https://github.com/failfa-st/failfast-comfyui-extensions/assets/1148334/d45ed248-2a19-4862-bda5-49f9b2703296" alt="Canvas options" height="300px">
|
||||
<p>Canvas Options</p>
|
||||
</div>
|
||||
|
||||
### Freeze or Unfreeze Group
|
||||
#### Freeze/Unfreeze Group
|
||||
|
||||
Lock or unlock a group and all its child Nodes. Note that new Nodes will not be affected.
|
||||
|
||||
### Pin or Unpin all Nodes
|
||||
<div align="center">
|
||||
<img src="https://github.com/failfa-st/hyv/assets/1148334/7558fcfb-1733-4d78-904b-50891f29fa68" alt="Group freeze" height="300px">
|
||||
<p>Group freeze/unfreeze</p>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
### Canvas
|
||||
|
||||
#### Pin or Unpin all Nodes
|
||||
|
||||
Lock or unlock all nodes on the canvas, regardless of their group.
|
||||
|
||||
### Arranging all Nodes
|
||||
|
||||
#### Freeze or unfreeze all Groups and Nodes
|
||||
|
||||
Lock or unlock all groups and all Nodes
|
||||
|
||||
#### Arranging all Nodes
|
||||
|
||||
You can arrange all Nodes in either vertical or horizontal layout.
|
||||
|
||||
|
||||
+87
-27
@@ -13,6 +13,8 @@ import { app } from "/scripts/app.js";
|
||||
|
||||
const reroutesName = "Failfast.reroutes";
|
||||
const mini = [34, 26];
|
||||
const micro = [10, 10];
|
||||
const big = [75, 26];
|
||||
function miniReroute(node) {
|
||||
if (node.type !== "Reroute") {
|
||||
return;
|
||||
@@ -31,7 +33,16 @@ function miniReroute(node) {
|
||||
},
|
||||
});
|
||||
|
||||
if (node.properties.dot) {
|
||||
if (node.properties.microdot) {
|
||||
Object.defineProperty(node, "size", {
|
||||
get() {
|
||||
return this._size;
|
||||
},
|
||||
set() {},
|
||||
});
|
||||
node._size[0] = micro[0];
|
||||
node._size[1] = micro[1];
|
||||
} else if (node.properties.dot) {
|
||||
Object.defineProperty(node, "size", {
|
||||
get() {
|
||||
return this._size;
|
||||
@@ -77,33 +88,82 @@ app.registerExtension({
|
||||
},
|
||||
});
|
||||
|
||||
options.push({
|
||||
content: "Render as dot",
|
||||
callback() {
|
||||
console.log(node);
|
||||
if (node.properties.dot) {
|
||||
Object.defineProperty(node, "size", {
|
||||
get() {
|
||||
return this._size;
|
||||
},
|
||||
set(value) {
|
||||
this._size = value;
|
||||
},
|
||||
});
|
||||
} else {
|
||||
Object.defineProperty(node, "size", {
|
||||
get() {
|
||||
return this._size;
|
||||
},
|
||||
set() {},
|
||||
});
|
||||
}
|
||||
node._size[0] = node.properties.dot ? 75 : mini[0];
|
||||
node._size[1] = node.properties.dot ? 26 : mini[1];
|
||||
node.properties.dot = !node.properties.dot;
|
||||
node.setDirtyCanvas(true, true);
|
||||
options.push(
|
||||
{
|
||||
content: node.properties.dot ? "dot off" : "dot on",
|
||||
callback() {
|
||||
if (node.properties.dot) {
|
||||
node._size[0] = node.properties.microdot ? micro[0] : big[0];
|
||||
node._size[1] = node.properties.microdot ? micro[1] : big[1];
|
||||
if (node.properties.microdot) {
|
||||
Object.defineProperty(node, "size", {
|
||||
get() {
|
||||
return this._size;
|
||||
},
|
||||
set() {},
|
||||
});
|
||||
} else {
|
||||
Object.defineProperty(node, "size", {
|
||||
get() {
|
||||
return this._size;
|
||||
},
|
||||
set(value) {
|
||||
this._size = value;
|
||||
},
|
||||
});
|
||||
}
|
||||
} else {
|
||||
node._size[0] = node.properties.microdot ? micro[0] : mini[0];
|
||||
node._size[1] = node.properties.microdot ? micro[1] : mini[1];
|
||||
Object.defineProperty(node, "size", {
|
||||
get() {
|
||||
return this._size;
|
||||
},
|
||||
set() {},
|
||||
});
|
||||
}
|
||||
node.properties.dot = !node.properties.dot;
|
||||
node.setDirtyCanvas(true, true);
|
||||
},
|
||||
},
|
||||
});
|
||||
{
|
||||
content: node.properties.microdot ? "microdot off" : "microdot on",
|
||||
callback() {
|
||||
if (node.properties.microdot) {
|
||||
node._size[0] = node.properties.dot ? mini[0] : big[0];
|
||||
node._size[1] = node.properties.dot ? mini[1] : big[1];
|
||||
if (node.properties.dot) {
|
||||
Object.defineProperty(node, "size", {
|
||||
get() {
|
||||
return this._size;
|
||||
},
|
||||
set() {},
|
||||
});
|
||||
} else {
|
||||
Object.defineProperty(node, "size", {
|
||||
get() {
|
||||
return this._size;
|
||||
},
|
||||
set(value) {
|
||||
this._size = value;
|
||||
},
|
||||
});
|
||||
}
|
||||
} else {
|
||||
node._size[0] = micro[0];
|
||||
node._size[1] = micro[1];
|
||||
Object.defineProperty(node, "size", {
|
||||
get() {
|
||||
return this._size;
|
||||
},
|
||||
set() {},
|
||||
});
|
||||
}
|
||||
node.properties.microdot = !node.properties.microdot;
|
||||
node.setDirtyCanvas(true, true);
|
||||
},
|
||||
},
|
||||
);
|
||||
return options;
|
||||
};
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user