From 82d32b157fd34f7c55fef9175bec2ffe640a617e Mon Sep 17 00:00:00 2001 From: shootthesound <110498357+shootthesound@users.noreply.github.com> Date: Mon, 8 Jun 2026 23:59:33 +0100 Subject: [PATCH] Add current/next image thumbnail previews (Next / Next+1) --- README.md | 3 + memory/MEMORY.md | 1 + memory/publishing-comfyui-nodes.md | 16 +++++ node.zip | Bin 0 -> 59738 bytes sequential_loader.py | 19 ++++++ web/seqloader.js | 92 +++++++++++++++++++++++++++-- 6 files changed, 127 insertions(+), 4 deletions(-) create mode 100644 memory/MEMORY.md create mode 100644 memory/publishing-comfyui-nodes.md create mode 100644 node.zip diff --git a/README.md b/README.md index f2795ac..591af34 100644 --- a/README.md +++ b/README.md @@ -37,6 +37,7 @@ The usual way to run a workflow over a folder of images is to swap the file in * - **Pick your filetype** — `png`, `jpg`, `jpeg`, `webp`, `bmp`, `gif`, `tiff`, or `all` for every supported type at once. - **Reverse** runs the sequence last→first. - **Live status line** shows exactly where you are: `Next: 3 / 240 · frame_003.png`. +- **Thumbnail previews** of the current and next image at the bottom of the node, so you can see what's coming before you Queue. ## Install @@ -60,6 +61,8 @@ Restart ComfyUI. No extra Python dependencies — it uses Pillow and torch, whic The status line shows `Next: N / TOTAL · filename`. Hit **⏮ Reset to start** any time to begin again from the first file. +At the bottom of the node, two thumbnails show what's coming: **Next** (the image that loads on your next Queue) and **Next + 1** (the one after it, looping back to the start at the end). + ## Controls | Control | What it does | diff --git a/memory/MEMORY.md b/memory/MEMORY.md new file mode 100644 index 0000000..c1db2e1 --- /dev/null +++ b/memory/MEMORY.md @@ -0,0 +1 @@ +- [Publishing ComfyUI nodes](publishing-comfyui-nodes.md) — two-target publish flow: Comfy Registry (comfy node publish) + legacy Manager PR (Comfy-Org/ComfyUI-Manager) diff --git a/memory/publishing-comfyui-nodes.md b/memory/publishing-comfyui-nodes.md new file mode 100644 index 0000000..5e00e10 --- /dev/null +++ b/memory/publishing-comfyui-nodes.md @@ -0,0 +1,16 @@ +--- +name: publishing-comfyui-nodes +description: How the user publishes ComfyUI custom nodes (Comfy Registry + legacy Manager) +metadata: + type: project +--- + +The user (shootthesound) publishes ComfyUI custom nodes to two places: + +1. **Comfy Registry** — needs a `pyproject.toml` with `[project]` (name = lowercase-hyphen id, version, license, description) and `[tool.comfy]` (`PublisherId = "shootthesound"`, `DisplayName`). Publish with `comfy node publish --token ` (comfy-cli installed, v1.10.3). Registry URL: `https://registry.comfy.org/nodes/`. + +2. **Legacy ComfyUI-Manager** — PR adding an entry to `custom-node-list.json` in **Comfy-Org/ComfyUI-Manager** (moved from ltdrdata). New entries go at the TOP of the `custom_nodes` array. The user already has a fork `shootthesound/ComfyUI-Manager` (default branch `main`); GitHub allows only one fork per repo, so reuse it — branch off upstream `main`, push branch to the fork, open PR against `Comfy-Org:main`. Entry shape: `author, title, reference, files[], install_type:"git-clone", description`. + +**Why:** The user asked to publish to "both the legacy manager and the comfy registry" — this is a recurring two-target workflow for them. + +**How to apply:** Never write the Comfy API key into any file; pass it inline to the publish command only. Advise rotating the key if it was pasted in chat. diff --git a/node.zip b/node.zip new file mode 100644 index 0000000000000000000000000000000000000000..6954b016e44680174f18396648edbe1cf7b26a87 GIT binary patch literal 59738 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
rJ{dNnO%sQB@oTt#^=Qh(NbnR`K3yYst=B2HUM$ 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%0Dm}@cQ2| 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

p<(oPku1X{51$w2 zW5cEw&pmf$ahN%|fP}{>_T3B?wSgALr*Bf7c-BPv3Kh3;l9yrg~1 zuIQDfFs46))1TXBt9M3%`Fj+<9c4|hS!!p+O+0&#H`8=QQdo9y3wl6@n_1RZ7Y>Mb zhfhIFhz@{seI(kC9`Q&p{{iqZ3Tn_8%RScg*opTBSsCF$+fdVcS?2y=nvEaU83EvU zR9c{re{cE)nkU&T&C5`r;L|>`CT%azbM_{A(fqBl{WbIac?ARb3OI5;LY+dC=Ib>!ufo}bH4lbxgt@|$8tQ(JzL#*97=DdGe z$DO#FtyTVHbo+W<*hvYzm>^ItA{R%h)~>{626C)@<8GN=-JLU`ed%17HVa0-g}X5` zW!BQx+mGqqYBn;#^{ud4pjyBLE&8+aoigJlmpO2qYa3>T*CCYjcj7|Ut4JM-Djb2} zY>12LMK&P;-nPHUPw|wkOi%fQq(Pe`tmmg@G}civb*e7NKuQ8NA_6#E`tcr4?8$^q2+bcJ>2B z9qUc2_jL=JP$EKa_brI?4@kfgGfMJl?W@kgUxBCg;$~B(yiXz_erq%udDj$)0tLA( zjvstK1aj&BCN>;&K%q+vYx4>5k40P;G@a6zdzo{TpR{ybZZ`$%+`>v!>*X&pz5HgV2wHST@Vsyxq!^L%FAfyX0L>#UMl9GeL^;dT zGVwxWEr^@|hqFF~6a*8q7}1jf8Q|>8BOZ)oxqVDZ<{Dfp=lNec zukRI&zwRvsawmvwiYncrdd6+b#^W_pRAh&F2(ydj!{1~inUH6HuC1jvO|dSjFS%SRxfDtU>w}k=~7I3(2cc~E5Fq6j~jY|%1 zS_Voo@`mqJpA=-8>ia2o-!GHRQbXKlK58pNIe4yry(0?wZ_eNW#iLEj0lP}92NgMS zoMqo&O4nKu#c1C;cATSI(nYRL_^KJD9^Q01#pE&!h^(uzoy#dWKw9Y9DuW`<+0J-3 zn|uXxBcSSmi~Ah10!e{wq?hqSYDlsN*R`Al592=T!<_>tHm^X^v2%7Hvdal;NIkX8 zRB0Eahj%0>uf&d?oE;=z@jT#Vg7+Pg{>)pmkm_&iR^e|#iUq7j*0JXl#gJYV>>Ol#W3sy%(pp$kG-c!3-^tj5HeF%Gsj)m$o-j0woLiSflozic|DUUuQuRBePMA% z?YmI?U(Ja;-vaAr53;zKxU$8ir5Kg(#Hq4zZcWb9Wl77-<4!1n$PqI$ZFJKZ__H*q z*yWU$eAo+{$os8OjOn|Qqv{JF`t1ddZ!3Sg%bysp_^R#+54%FuuB@f;Cg+fp1o&@2 zQYTuB^&CT4$+KBBC2pYlgJ0_XiyYI4e`+_MEo2oct^+GAu3@GcV3Iu!jEB~pD=m65 z&Ae}$z^t>lF6vanST-p&j;{VrSZ4h2Ajrs1QXgfR?su`w)~&E~2_!k35g?(7l%cLD zmO_25bg?|(b3s!>lTSg*#~|^ZFPy79gp|x_LwJ}{O?x9=G|6s`rEl%}ZXNU?QLLt= z%5@E^SN+q+kyq_-g|8nHqA{S31W$ zQ$9wQy5A}r!(Y9&j85oXgXdc5>cVXU)Ey*+J^6%EkOl!o|GzvNXuwa15gn6PF#71P zq;1*Pg#DWT9xeX=I-@tY1X`Ng**lv46X*Pevo+o&27&?rwBP^$)W1Pr#}@zQuf5C< z5ivPsv44W(zcR&0ex`m$Z~(v~9smIIKR|L|0DzL1kf^K}y{*YVVI5h+IyBdq%JpC3 z@E`!d7y7?Oi@y#M0HCjLX=e%4*Z-mk{S%0sF`^?3+isxw1;YF?6!E`c|1y&OD^cy> z?%-%|Woith2in`({1YqlW$Qzqt~{Ut0MP0Cf3&23!(042P`*e?#*U_@c1{-dKqm$} zdlOT72RrkBYWPpYrvKJ(G4P*hPXE;KpEB$Jt)XV_f9Kg1q#+>xB?0}lt$)3>< (p || "").split(/[\\/]/).pop(); + if (node._seqCurImg) node._seqCurImg.title = baseName(paths[pos]); + if (node._seqNextImg) node._seqNextImg.title = baseName(paths[nextPos]); + if (node._seqCurLab) node._seqCurLab.textContent = "Next"; + if (node._seqNextLab) { + node._seqNextLab.textContent = (total === 1) ? "Next + 1 (loops)" : "Next + 1"; + } +} + function updateStatus(node) { + updatePreviews(node); const el = node._seqStatusEl; if (!el) return; const files = node._seqFiles || []; @@ -166,14 +220,44 @@ function attachUI(node) { })); container.appendChild(row); + // Image previews of the current + next file, at the bottom. + const preview = document.createElement("div"); + preview.style.cssText = "display:flex; gap:6px; margin-top:2px;"; + const makeCell = (labelText) => { + const cell = document.createElement("div"); + cell.style.cssText = + "flex:1 1 0; min-width:0; display:flex; flex-direction:column; gap:3px;"; + const lab = document.createElement("div"); + lab.style.cssText = + "font-size:10px; color:#9cf; text-align:center; white-space:nowrap; " + + "overflow:hidden; text-overflow:ellipsis;"; + lab.textContent = labelText; + const img = document.createElement("img"); + img.style.cssText = + "width:100%; height:96px; object-fit:contain; background:#111; " + + "border:1px solid #3a3a3a; border-radius:4px;"; + cell.appendChild(lab); + cell.appendChild(img); + return { cell, lab, img }; + }; + const curCell = makeCell("Next"); + const nextCell = makeCell("Next + 1"); + preview.appendChild(curCell.cell); + preview.appendChild(nextCell.cell); + container.appendChild(preview); + node._seqCurImg = curCell.img; + node._seqNextImg = nextCell.img; + node._seqCurLab = curCell.lab; + node._seqNextLab = nextCell.lab; + // Attach as a DOM widget so LiteGraph manages its layout. The panel is - // three fixed rows (status + browse + button row) at ~28px each with two - // 6px gaps and 6px top+bottom padding — a constant floor of 112 fits the + // status + browse + button row (~28px each) plus a ~115px preview row + // (two 96px thumbnails with labels). A constant floor of 238 fits the // content without clipping or leaving a gap. const widget = node.addDOMWidget("seqloader_ui", "seqloader_panel", container, { serialize: false, hideOnZoom: false, - getMinHeight: () => 112, + getMinHeight: () => 238, }); // Make the panel fill the node's full width: define `width` as a getter @@ -398,7 +482,7 @@ app.registerExtension({ attachUI(this); // Enforce a sensible minimum node size once. Width ~320; height // accommodates the standard widgets plus the DOM panel. - const min = [320, 370]; + const min = [320, 500]; if (this.size[0] < min[0]) this.size[0] = min[0]; if (this.size[1] < min[1]) this.size[1] = min[1]; };