From d8e799e9460da32ef5cd0b3f97c0ec49bb25e5b5 Mon Sep 17 00:00:00 2001 From: FugitiveExpert01 Date: Thu, 26 Mar 2026 13:22:41 +0100 Subject: [PATCH] Add files via upload --- web/js/fe_tiling.js | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 web/js/fe_tiling.js diff --git a/web/js/fe_tiling.js b/web/js/fe_tiling.js new file mode 100644 index 0000000..3b4ddfb --- /dev/null +++ b/web/js/fe_tiling.js @@ -0,0 +1,37 @@ +import { app } from "../../../scripts/app.js"; + +app.registerExtension({ + name: "FEnodes.TileSplit", + + nodeCreated(node) { + if (node.comfyClass !== "TileSplit") return; + + const usePixelWidget = node.widgets?.find(w => w.name === "use_pixel_size"); + const tilesXWidget = node.widgets?.find(w => w.name === "tiles_x"); + const tilesYWidget = node.widgets?.find(w => w.name === "tiles_y"); + const tileWWidget = node.widgets?.find(w => w.name === "tile_width"); + const tileHWidget = node.widgets?.find(w => w.name === "tile_height"); + + if (!usePixelWidget || !tilesXWidget || !tilesYWidget || !tileWWidget || !tileHWidget) return; + + // Store original types so we can restore them + const origTypeX = tilesXWidget.type; + const origTypeY = tilesYWidget.type; + const origTypeW = tileWWidget.type; + const origTypeH = tileHWidget.type; + + function updateVisibility() { + const usePixel = usePixelWidget.value; + + tilesXWidget.type = usePixel ? "hidden" : origTypeX; + tilesYWidget.type = usePixel ? "hidden" : origTypeY; + tileWWidget.type = usePixel ? origTypeW : "hidden"; + tileHWidget.type = usePixel ? origTypeH : "hidden"; + + node.setSize(node.computeSize()); + } + + usePixelWidget.callback = updateVisibility; + updateVisibility(); // apply on load + }, +});