Refresh layer panel after matting replaces a layer object
This commit is contained in:
@@ -842,6 +842,7 @@ async function createCanvasWidget(node, widget, app) {
|
||||
delete newLayer.imageId;
|
||||
canvas.layers[selectedLayerIndex] = newLayer;
|
||||
canvas.canvasSelection.updateSelection([newLayer]);
|
||||
canvas.canvasLayersPanel?.onLayersChanged();
|
||||
// Invalidate processed image cache when layer image changes (matting)
|
||||
canvas.canvasLayers.invalidateProcessedImageCache(newLayer.id);
|
||||
canvas.render();
|
||||
|
||||
@@ -1046,6 +1046,7 @@ async function createCanvasWidget(node: ComfyNode, widget: any, app: ComfyApp):
|
||||
|
||||
canvas.layers[selectedLayerIndex] = newLayer;
|
||||
canvas.canvasSelection.updateSelection([newLayer]);
|
||||
canvas.canvasLayersPanel?.onLayersChanged();
|
||||
|
||||
// Invalidate processed image cache when layer image changes (matting)
|
||||
canvas.canvasLayers.invalidateProcessedImageCache(newLayer.id);
|
||||
|
||||
@@ -58,3 +58,10 @@ test('CanvasView delegates both model status checks to the shared helper', () =>
|
||||
assert.doesNotMatch(canvasViewSource, /const modelCheckUrl =/);
|
||||
assert.doesNotMatch(canvasViewSource, /fetch\(['"]\/matting\/check-model/);
|
||||
});
|
||||
|
||||
test('Matting refreshes the layer panel after replacing a layer object', () => {
|
||||
assert.match(
|
||||
canvasViewSource,
|
||||
/canvas\.layers\[selectedLayerIndex\] = newLayer;\s+canvas\.canvasSelection\.updateSelection\(\[newLayer\]\);\s+canvas\.canvasLayersPanel\?\.onLayersChanged\(\);/,
|
||||
);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user