mirror of
https://github.com/Azornes/Comfyui-LayerForge.git
synced 2026-03-24 22:12:17 -03:00
Improve mask loading logic on node connection
Updated mask loading to immediately use available data from connected nodes and preserve existing masks if none is provided. Backend mask data is only fetched after workflow execution, ensuring no stale data is loaded during connection.
This commit is contained in:
@@ -620,10 +620,6 @@ export class CanvasIO {
|
||||
const hasMaskInput = this.canvas.node.inputs && this.canvas.node.inputs[1] && this.canvas.node.inputs[1].link;
|
||||
// If mask input is disconnected, clear any currently applied mask to ensure full separation
|
||||
if (!hasMaskInput) {
|
||||
if (this.canvas.maskTool) {
|
||||
this.canvas.maskTool.clear();
|
||||
this.canvas.render();
|
||||
}
|
||||
this.canvas.maskAppliedFromInput = false;
|
||||
this.canvas.lastLoadedMaskLinkId = undefined;
|
||||
log.info("Mask input disconnected - cleared mask to enforce separation from input_image");
|
||||
@@ -633,6 +629,11 @@ export class CanvasIO {
|
||||
this.canvas.inputDataLoaded = true;
|
||||
return;
|
||||
}
|
||||
// Skip backend check during mask connection if we didn't get immediate data
|
||||
if (reason === "mask_connect" && !maskLoaded) {
|
||||
log.info("No immediate mask data available during connection, skipping backend check to avoid stale data. Will check after execution.");
|
||||
return;
|
||||
}
|
||||
// Check backend for input data only if we have connected inputs
|
||||
const response = await fetch(`/layerforge/get_input_data/${nodeId}`);
|
||||
const result = await response.json();
|
||||
|
||||
Reference in New Issue
Block a user