From d41934220963357a70a99a750a9bdfd1f23e4cf4 Mon Sep 17 00:00:00 2001 From: IAMCCS Date: Tue, 4 Nov 2025 13:21:17 +0100 Subject: [PATCH] Initial commit --- INSTRUCTIONS.md | 93 +++ LICENSE | 16 + README.md | 188 ++++++ __init__.py | 13 + assets/annotat_3.png | Bin 0 -> 4774 bytes assets/annotate.png | Bin 0 -> 122394 bytes assets/annotate_1.png | Bin 0 -> 55735 bytes assets/annotate_2.png | Bin 0 -> 69715 bytes icon.png | Bin 0 -> 3047 bytes js/index.js | 1502 +++++++++++++++++++++++++++++++++++++++++ pyproject.toml | 41 ++ version.json | 6 + 12 files changed, 1859 insertions(+) create mode 100644 INSTRUCTIONS.md create mode 100644 LICENSE create mode 100644 README.md create mode 100644 __init__.py create mode 100644 assets/annotat_3.png create mode 100644 assets/annotate.png create mode 100644 assets/annotate_1.png create mode 100644 assets/annotate_2.png create mode 100644 icon.png create mode 100644 js/index.js create mode 100644 pyproject.toml create mode 100644 version.json diff --git a/INSTRUCTIONS.md b/INSTRUCTIONS.md new file mode 100644 index 0000000..cf3a759 --- /dev/null +++ b/INSTRUCTIONS.md @@ -0,0 +1,93 @@ +# IAMCCS Annotate — User Guide + +Version: 1.0.0 + +Coming soon: 2.0.0 + +A fast, reliable annotation layer for ComfyUI. Draw, erase, organize in layers, and save notes inside your workflow. + +## What’s included + +- Zero-offset drawing/erasing that sticks to the graph while you pan/zoom +- Floating button with context menu and a draggable dock panel when sidebar is missing +- Layers with visibility/lock/rename/delete +- Per-mode brush sizes (draw vs eraser), opacity, dashed lines, constant width + - HiDPI ×2 toggle for higher-quality rendering +- Hide/show all annotations quickly +- Export/import your entire workflow + annotations +- Undo/redo and copy/paste for layers +- Draw above or below nodes (foreground/background) +- Automatic save to workflow.extra + +## Quick start + +1. Launch ComfyUI and load/open a workflow. +2. Click the floating button “Annotate: OFF” to turn ON (turns green). +3. Draw with left mouse. Middle button still pans the canvas. +4. Right-click the floating button to open the context menu. + +## Shortcuts + +- Alt+A — Toggle annotation mode +- Alt+D — Toggle eraser/draw +- Alt+S — Hide/show all annotations +- Alt+F — Export workflow + notes (JSON) +- Ctrl+I — Import workflow + notes (JSON) + +Note: On macOS, Alt refers to Option. + +## Drawing options + +- Color: color picker +- Brush size: 1–48 px +- Opacity: 10–100% +- Dashed: enable dashed strokes +- Constant width: keeps the stroke width consistent on-screen regardless of zoom + - HiDPI ×2: supersamples annotation rendering for crisper lines (uses more memory) +- Draw above nodes: when enabled, notes appear in the foreground; disable to push them behind nodes + +## Layers + +- + Layer: adds a new layer and selects it +- Click name: selects the layer +- Double-click name: rename; Enter to save, Esc to cancel +- Eye icon: toggle visibility +- Lock icon: prevent edits on the layer +- X: delete layer (at least one layer is always kept) + +## Saving and persistence + +- Saves to workflow.extra.iamccs_annotations +- Automatically saves when you: + - complete a stroke + - paste + - clear + - import + - change key settings +- When you load a workflow, its annotations load automatically +- Each workflow keeps its own annotations + +## Export / Import + +- Export (Alt+F): downloads a JSON of the full workflow with annotations embedded in `extra.iamccs_annotations` +- Import (ctrl+I): loads the full workflow if present; otherwise imports annotations only +- Import JSON (menu): imports annotations into the current layer + +## Troubleshooting + +- Floating button doesn’t show + - Wait a moment; it appears on first canvas draw + - Restart ComfyUI if needed +- Eraser draws black instead of erasing + - Make sure you’re using the included extension version; erasing works against an off-screen layer +- Notes shift when zooming/panning + - Fixed: the plugin draws in graph-space and composes in screen-space with devicePixelRatio awareness +- Notes don’t load + - Verify the workflow JSON has `extra.iamccs_annotations` + - Ensure the menu toggle “Save into WF” is enabled if you want automatic saving + +## Author and License + +- Author: Carmine Cristallo Scalzi (IAMCCS) +- License: Creative Commons Attribution-NoDerivatives 4.0 International (CC BY-ND 4.0) +- License URL: https://creativecommons.org/licenses/by-nd/4.0/ diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..3574551 --- /dev/null +++ b/LICENSE @@ -0,0 +1,16 @@ +Creative Commons Attribution-NoDerivatives 4.0 International (CC BY-ND 4.0) + +You are free to: +- Share — copy and redistribute the material in any medium or format +- Use — for personal or commercial purposes + +Under the following terms: +- Attribution — You must give appropriate credit, provide a link to the license, + and indicate if changes were made. You may do so in any reasonable manner, + but not in any way that suggests the licensor endorses you or your use. +- No Derivatives — If you remix, transform, or build upon the material, + you may not distribute the modified material without explicit permission + from the author. + +Author: Carmine Cristallo Scalzi (IAMCCS) +License URL: https://creativecommons.org/licenses/by-nd/4.0/ diff --git a/README.md b/README.md new file mode 100644 index 0000000..8e70b27 --- /dev/null +++ b/README.md @@ -0,0 +1,188 @@ +# IAMCCS Annotate - ComfyUI Drawing Extension + + + +Version: 1.0.0 — Coming soon: 2.0.0 (many new features!) + +A powerful drawing and annotation tool for ComfyUI that lets you add notes, sketches, and annotations directly on your workflow canvas with full layer support. + +![Title](assets/annotate_1.png) + +## Features + +✨ **Drawing Tools** +- Free-hand drawing with customizable brush size (1-48px) +- Eraser mode to remove strokes +- Color picker for custom drawing colors +- Opacity control (10-100%) +- Dashed line option for different line styles +- Constant width option (maintains width at any zoom level) + - HiDPI ×2 rendering toggle for crisper strokes + +🎨 **Layer System** +- Create unlimited layers for organized annotations +- Toggle layer visibility (eye icon) +- Lock/unlock layers to prevent accidental editing +- Rename layers inline (double-click the name) +- Delete layers (minimum 1 layer always kept) +- Auto-selects new layer as active + +📌 **State Management** +- Save annotations with workflow (automatic) +- Load annotations when reopening workflows +- Quick toggle to hide/show all annotations +- Persistent layer structure across sessions + +🖱️ **User Interface** +- Floating button with context menu (right-click) + +![Title](assets/annotat_3.png) + +- Draggable button (click to toggle, drag to move) +- Compact control panel in context menu +- Inline layer naming (no popups) +- Real-time visual feedback + +![Title](assets/annotate_2.png) + +🎯 **Keyboard Shortcuts** +| Shortcut | Action | +|----------|--------| +| **Alt+A** | Toggle annotation mode ON/OFF | +| **Alt+D** | Toggle eraser / draw mode | +| **Alt+S** | Toggle hide/show annotations | +| **Esc** | Cancel current stroke | + +## Installation + +1. Download or clone this extension into your ComfyUI custom_nodes folder: +```bash +cd ComfyUI/custom_nodes +git clone https://github.com/IAMCCS/IAMCCS_annotate.git +``` + +2. Restart ComfyUI + +3. Look for the **"Annotate: OFF"** button in the bottom-left corner + +### If my work helped you, and you’d like to say thanks — grab me a coffee ☕ + + + Buy Me A Coffee + + +## Usage + +### Basic Drawing +1. Click the floating button to enable annotation mode (turns green) +2. Click and drag on the canvas to draw +3. Adjust brush size and color from the context menu (right-click button) +4. Click the button again to disable (turns red) + +### Using the Eraser +1. Press **Alt+D** or click the eraser button in the menu (🩹 Eraser) +2. Draw on the canvas to erase strokes +3. Press **Alt+D** again to return to draw mode (✏️ Draw) + +### Managing Layers +1. Click **"+ Layer"** button to create a new layer +2. **Click** on layer name to select it +3. **Double-click** layer name to rename it (press Enter to confirm, Esc to cancel) +4. Use **eye icon** to hide/show layer +5. Use **lock icon** to prevent editing +6. Use **X button** to delete layer + +### Hiding Annotations +- Press **Alt+S** to quickly toggle visibility of all annotations +- Useful for viewing your workflow without the annotations + +### Workflow Integration +- Annotations are **automatically saved** when you save your workflow +- When you open a workflow that has annotations, they load automatically +- Each workflow has its own separate annotations + +## Context Menu Options + +Right-click the floating button to access: +- **Enable/Disable** - Quick toggle (also left-click button) +- **Color Picker** - Choose drawing color +- **Brush Size** - Adjust pen width (1-48px) +- **Opacity** - Control transparency (10-100%) +- **Drawing Modes**: + - ✏️ Draw / 🩹 Eraser toggle + - Constant width option + - Dashed lines option + - Hide notes option +- **Layer Management** - Create, rename, manage layers +- **Export/Import** - Save/load annotations separately +- **Save into Workflow** - Toggle auto-save feature + +## Tips & Tricks + +💡 **Pro Tips** +- Use **Alt+S** while working to hide annotations and see clean canvas +- Layer-based organization helps keep complex annotations organized +- Constant width mode is great for diagrams and technical annotations +- Export annotations as JSON for backup or sharing + +🎨 **Drawing Best Practices** +- Use different layers for different annotations (ideas, notes, corrections) +- Keep brush size reasonable for readability at normal zoom +- Lock completed layers to avoid accidental edits +- Use dashed lines to distinguish annotations from actual drawing + +🔄 **Workflow Tips** +- Annotations persist across ComfyUI sessions +- Copy workflow JSON to backup annotations +- Use hide toggle (Alt+S) for presentations +- Export layers separately for different annotations + + +## Troubleshooting + +**Button doesn't appear?** +- Restart ComfyUI +- Check browser console for errors (F12) +- Verify extension is in `custom_nodes/IAMCCS_annotate` + +**Annotations not saving?** +- Check "Save into workflow" toggle in menu +- Ensure workflow is saved to disk +- Check browser console for errors + +**Eraser not working?** +- Make sure you're in eraser mode (button shows 🩹) +- Try pressing Alt+D to toggle mode +- Check that layer is not locked + +**Layer issues?** +- At least one layer is always required +- Can't delete if it's the only layer +- Locked layers prevent drawing but still show + +**Keyboard Shortcuts Quick Reference:** +- 🖱️ **Left-click button** = Toggle ON/OFF +- 🖱️ **Right-click button** = Open menu +- 🖱️ **Drag button** = Move it around +- ⌨️ **Alt+A** = Toggle annotation +- ⌨️ **Alt+D** = Toggle eraser +- ⌨️ **Alt+S** = Toggle hide +- ⌨️ **Esc** = Cancel stroke + +## Credits + +**IAMCCS_annotate** - Drawing & annotation tool for ComfyUI +Minimal, compact, and powerful annotation system + + + ## License + +- License: Creative Commons Attribution-NoDerivatives 4.0 International (CC BY-ND 4.0) +- License URL: https://creativecommons.org/licenses/by-nd/4.0/ + +Found a bug or have a feature request? +- Check the GitHub issues +- Report problems with detailed description +- Include ComfyUI version and browser info + +--- diff --git a/__init__.py b/__init__.py new file mode 100644 index 0000000..47ed3e4 --- /dev/null +++ b/__init__.py @@ -0,0 +1,13 @@ +""" +IAMCCS Annotate - ComfyUI Extension +A drawing annotation tool with floating button and context menu +""" + +# No node classes - this is purely a UI extension +NODE_CLASS_MAPPINGS = {} +NODE_DISPLAY_NAME_MAPPINGS = {} + +# Tell ComfyUI where to find the web extension files +WEB_DIRECTORY = "js" + +__all__ = ["NODE_CLASS_MAPPINGS", "NODE_DISPLAY_NAME_MAPPINGS"] diff --git a/assets/annotat_3.png b/assets/annotat_3.png new file mode 100644 index 0000000000000000000000000000000000000000..adfacabcb3dec7b74b7416a52aef9032e69dba41 GIT binary patch literal 4774 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 literal 0 HcmV?d00001 diff --git a/assets/annotate.png b/assets/annotate.png new file mode 100644 index 0000000000000000000000000000000000000000..91cdc3dcd62450c4c72755eb88df9b996fa5804d GIT binary patch literal 122394 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%0D{&{*4^uc^%cE* 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 z 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∨6te$ZL=rxHs_8oKR-VQcXQY?;$@-oJkaH~<^ICJ6q47z4MOFt=CbK%-~3 zr?B0Txh7{~{U621a%Lyh?Z@#+Rf5nk|MowV)Dby8@GV+{W4hTQ~_98ytd@zYMNG_SBinxJ0M|tYGbh%&?kHP zcmC;@m$P1JjAF&GBoBHIO~Ka_jr8=snuH6mKOpum%i0!tv}H#36YJpsNX1hb3C!RT z3);O8h|lQ)le- zB1Qs0BSA;^WsKMVHl z#0Fw4Ae8tIZpD$bXEe6bODyaraujgH~3y%11X zBm3IQZcWU+>=V2Y8qnz@JDUj)zz=?uh`?kZ!ou}cXR75o-k=bi+<^jJ{M)i5K6a7o zG)XbJf%62Zz~czD&17&J(eN7p5Y&Y}Y&fQs{gRgy`w<62G~aqOsaJQcY2m6rx>@F^ zVMGdl8RlGAw`mx@v*y}3{;pGRdnXE%pU1FfepB?u(h1*zYR+xU-1`%m%#>mo_9FFu zlpMm7{~PtjabPA(zm4AY4cUzud|v3WX)n`?8a%?*0JoNoDGG2pg^Rxl`j>;GWsQKP zb4>Tw*Kc0mg1JIOZ(q_ZnX?$>BvX!r}!cq%u!RH^; z6uBn&r^g$e0uLn0zZh#VtFTNe@+6m8#_%pBoOuQU4w(fXeMIbJVv4~xDw&WIc6-3!B?gJr)>|8u#W)ZuIaaE_lzZRycWr{Al9@6{>kJCUNGh{^%T zpRqK3Up$o`InX6@-Xh{AL6 zS0z!-|0K8hzmP2VwD!mTxg<_J;wtBbUf1t2)YJ#&>0+l(4J7m$UC^CB_|Ms2#CUY*KDiRFF6hn}g+0B`Xn z2cEAyx3Qr25A8tgL)(ckj)H5fP+*ihAsejX-#ntooQ%MuDT!FHdPn>DsZN$N1g!(y zK<<*e*+K7=EWESU|LddDbz@t#I30~NE>%N%4meEd1;Ly{yyoIXco7BNE@1 zr7qCqe_jwTXZ$(%G*F%Sn{!&(a`~kuv>yrWf+vqgJ8kS!_xH0m6g{(&za$dRYHamg z`1f4Xgp;SDQM~m(n+9}%7vp1bf?`|7LMwj;F%U|gg63rgzQ)a8KEv@(=0jeMe=`zb zC;T?_icKz@8+a{w)IAf6R+fTFq{_s$-dx|Gw~F7bGv$oQ<@WuN@LxC6I(^PW;P1cX z{%{^%vrXlM0IzTG?Xu1r|LJw&Y~2mu$c1@NdTAc@saff&eNGnW^wONy;E#WMRlQix z3Dx=~3B>9kMsohVjY%`|Uw93$y#J46#{cKkh5s+8hyVLQ6DJRk`(ovi_;P(89L@7x MT@xMnod=Qs1B#^)!T0%qlbPZW8GNC#PpOOd87Jy?Ly5h6uEP*9{}l%5cF;n5@kLXi$G2uK$~ zZ&@h`MT!OpNQneOHbjsFLQTk<{Q>U>yf^30%sF%B-22`6+N9pM0}BdB3h?mo2wGa0 zIs*6Bzt4Z30j@1g=x01U=Nm0e?>vYq-dcj$K&WzfMs+3S=eKq*a#G6mP)`)fQzW4} zH;WD|oGa2K8JBpwC5m6ArhSgh_^v6xjzWnzIE0yN)D3>)n|W|B<$L{Y zn}^jR#-x;OSDJ$uU%mfd$m+`NM82SYG1YF+cf3i06zLndj2~_;BP7 zL${aoQ97j91DQ7Tjpvh57gjzzNg$$0@LiOix~gg|1_P1K%*|E0n1Vu8MjRir=<)IK z(YqT;N=jy6FxbotC2_-d<5R)O!4KV{2@v9`sEDmH1c5kxXPNEo?Y$Sn$&|l`OP47^ zqtSVJk>sJ&JWa3T`4X-rr?R#6!K!@h$yUdV`CNlLRa;L*Wt2WrX`L5?>CfrkbL z2D-ZDM}^wh*bq^j%iDdh19LDKl57w(uhj%|(Qa;Q3!klZS_bI_2L~^k%puC@`+jG} z+5(A2bG=av^3g7}0-WKj6Ny7gu=lqXI}8mB;2DtyC3P-MASl_?UdVCS)H16DgBc$i zi|K9xiP})51qB5?%TS`ADsR_E3iJT#WQpq7eO(68D^9RgN1Tq&6BRPAZ~!IUN#Iv0 zc=^|~e6*FXZx!6o(6ER8nDNZ4ZdM0(_wL=oqN1a|HGBp&a9vwgQ;o%9#q@c?-#R)v zT3K1CU$J&~Uj(p4{8*6@5h1Wm9r;&F$+QVrAGP)_F=L9tDBO7 zbW&dK@jT7sq@*zdu%t168q_9V>vz&GDk^A28jDV3|6ZyG{aF+bFf|<4 zfJ7o2xvI9dwsd0Cfon}jd6YqMZZ3s|k2~I@4J4jlTwKgGaz+T>gz8COJYw555f``i zk;n_t=Oee57~+~ZbXnO{=sJaBnH9!dx6EM40xzZmTOW<2g>@$-@hh3+Y^Dke3p3Rb znZIB4o7CT4?s<+`INWM&ZT*Rtf8=>yeGehM22#zeE?_cWDi^R+T85@^q?|)yofmwia zj>B=T78WC|{)FE2riKPlF)W*Dop`n;hRi9O7QcQ? zm)6&LHkLCqG{k1JO}K2xY6M$NkL(u^ki~@rw7DVLg=J()3Jb?vx;->b;kVIihm<_8 zL&42kiQ3BjH??qZc+_T7Du2QsEiF3NuTS`J0Obh?2z>eS#dos!2+)+uQX%#qU}*}4 z64Fsbva__5FpAQ`Hn4Ne5QYAsq0~V5(36hEVKYY1XWdy537;}J)6&Vw$-%(^kP#6U zy3(r;03;z!Y>)V1ntJ5U7*;LZ{lZ;#>tLibnQ(!skUlbE0c~z*uw8}LmX7$heHB%6 zo|&Cp#>T}Fs%%qJQ^|cYGBW!5`nkEe#$SCy0W{>Zg~=CXvar|3Cnw(!izYSzqUEH7 z>m+qUmZtx>SA!-mI^gnW1Dv9YYp=!R8$~leCY+t{ePw2rc=!Z4PB~spmYWHNBwkHf zW31t2uf<#@*~^j%$c$=1-2Be!pz+1qqbsl*=&XW*=#%|m#!!2AcQ>iONHAV6Cyw?F zwq95Iv0K)^7`tAokLAhIaw+d@z~>|mRP zsE+AFEVMjhmJ?_m7+)0oSMc1@(syVLdh_p?k~KlV9URc?Dw{AMC7}*ShU+VvL?Jq# z0M@+=x|S5x8Xg`l%exeE0G5kY6q;`jmh#d>bU3=XZHBKgsSKNij+W4hM*1+O2(84XO94cS)onU#)favgfj%P2A$3FY>GSBE-6p$B%a||eQ0p+7^9yR zlKuX&t2-q6V>}--e{V0Wza4w@UXZPyG9)~pz z4hd;3g>-nWC}`or3?4Z+d@ePHm6w+v$9Vhu(_Fk_DX>rLquFYzs^&=X&lL$Y)NlPs zdtciEvlK_u9!RsL*mHBv{jSc=?N3K9VWodFuQ;Mrm(4Xka`*6HpZvg@L^FrHn=P^~ z%gLE|52bXyqH1{d&TEPg2!tljzOVE1QJXV0hLPJdM523xbH}3bi*J9T6~I-Ml@ci2 zLyT{9Ecv^kB;)hhfAQ^&3&34dcrE_x7)*Qf<_gLj0)Y^~YYBX09yjbGeX{12v}bEL z)VXu#fXFH+C{WH$ZPJxQ0pbS^prHUah-rB2^z~yfug2e8my2UVU0vsq5;qQS`Fd); zqQ=b*(h;%9JVn~Kj|mm#sMjee`Fc?AhYuf`fGkdh;n43SEcU~P>43KO*47}voAUA> zS6^6UJ-sP8I5=ou1`5V3AlM9iXQ$pN*zi5;WPd9yBcrLdw#8Ll&81OV|D_@+UD0x4 zVglK`xf!5zQi+oTo~fwNPB|wLJ)D^u2ml;~LUDEu4;^-f<;gBVCQ&=LvlJ1-yk1-& z9&z~#LHo@h6&3%fQe$QWP(;8t9uez1^??ABNnJ=Hlf9!EX`20+kz(rcKZ@6Yjx?{( z*3hu4n`M&RVBAwF-N(mAke}BcJdEf80CU;9 zQ?EtU0Hs)1q&U|#0Cwa=s_@?58D_AEUUb%RVWDK+_%L_eireF9$(Hi6nuFD^$DOwt zMyN#oSP3^M(a0O$im=WK+xzQt2%?=wEdy?q@*OfGSDMX&-!Gkv0==f-)YPcsn8MN!aD20{rg%G-{+^N zr`OlldCy)93k%z$DXc|y{wZ#8XTRkP=Ny#h|6|Zhu78rMPJmQ>0)F6mEY0jp8}B}j F{}1w==cWJv literal 0 HcmV?d00001 diff --git a/js/index.js b/js/index.js new file mode 100644 index 0000000..9e178ae --- /dev/null +++ b/js/index.js @@ -0,0 +1,1502 @@ +// IAMCCS Annotate — clean ComfyUI extension with floating button + context menu +console.log('[IAMCCS] Extension file loaded'); + +// Single-init guard to avoid duplicate loads +if (!window.IAMCCS_ANNOTATE_LOADED) { + console.log('[IAMCCS] Initializing...'); + window.IAMCCS_ANNOTATE_LOADED = true; + + (async () => { + // Import ComfyUI app (ES module) + let app; + try { + ({ app } = await import('/scripts/app.js')); + console.log('[IAMCCS] App imported successfully'); + } catch (e) { + console.error('[IAMCCS] Cannot import /scripts/app.js:', e); + return; + } + + const state = { + enabled: false, + color: '#ff4444', + width: 15, + paths: [], // {points:[{x,y}], color, width} - kept for backward compatibility + current: null, + saveWithWorkflow: true, + opacity: 1.0, + eraser: false, + constantScreen: false, + dashed: false, + hidden: false, + hiDPIx2: false, + // Per-mode memory for brush and opacity + widthDraw: 15, + widthErase: 48, + opacityDraw: 1.0, + opacityErase: 1.0, + // Layer system + currentLayerIdx: 0, + layers: [{ name: 'Layer 1', visible: true, locked: false, paths: [] }], + uiShown: false, + }; + + const ui = { + btn: null, // sidebar toggle button + floating: null, // floating toggle button (fallback/always available) + widthValue: null, // span for width value + opacityValue: null, + eraserBtn: null, + constantChk: null, + hiddenChk: null, // hide notes checkbox + contextMenu: null, + }; + + // Offscreen buffer so eraser only affects annotations, not the ComfyUI graph + let __annoCanvas = null; + let __annoCtx = null; + let __annoW = 0, __annoH = 0; + + function loadPos(key, fallback) { + try { + const s = localStorage.getItem(key); + if (!s) return fallback; + const v = JSON.parse(s); + if (typeof v?.left === 'number' && typeof v?.top === 'number') return v; + } catch {} + return fallback; + } + function savePos(key, pos) { + try { localStorage.setItem(key, JSON.stringify(pos)); } catch {} + } + function makeDraggable(el, { storageKey, handle, isFixed = true, onDrag, onDragStart }) { + const target = handle || el; + let dragging = false; + let startX = 0, startY = 0, startLeft = 0, startTop = 0; + let dragStarted = false; + const onDown = (e) => { + if (e.button !== 0) return; // left only + dragging = true; + dragStarted = false; + const rect = el.getBoundingClientRect(); + // Switch to top positioning for fixed elements to avoid bottom conflicts + if (isFixed) { + el.style.position = 'fixed'; + el.style.bottom = ''; + } + startX = e.clientX; startY = e.clientY; + startLeft = rect.left; startTop = rect.top; + window.addEventListener('pointermove', onMove, true); + window.addEventListener('pointerup', onUp, true); + e.preventDefault(); e.stopPropagation(); + }; + const onMove = (e) => { + if (!dragging) return; + const dx = e.clientX - startX; + const dy = e.clientY - startY; + // Only start dragging if movement > 5px (threshold for click vs drag) + if (!dragStarted && (Math.abs(dx) > 5 || Math.abs(dy) > 5)) { + dragStarted = true; + if (typeof onDragStart === 'function') onDragStart(); + } + if (!dragStarted) return; // Don't move until threshold is met + const left = Math.max(0, Math.min((isFixed ? window.innerWidth : document.body.clientWidth) - el.offsetWidth, startLeft + dx)); + const top = Math.max(0, Math.min((isFixed ? window.innerHeight : document.body.clientHeight) - el.offsetHeight, startTop + dy)); + el.style.left = left + 'px'; + el.style.top = top + 'px'; + savePos(storageKey, { left, top }); + try { if (typeof onDrag === 'function') onDrag({ left, top }); } catch {} + }; + const onUp = () => { + dragging = false; + window.removeEventListener('pointermove', onMove, true); + window.removeEventListener('pointerup', onUp, true); + }; + target.style.cursor = 'move'; + target.addEventListener('pointerdown', onDown, true); + } + + function syncUI() { + // Sidebar button + if (ui.btn) { + ui.btn.textContent = state.enabled ? 'ENABLED' : 'DISABLED'; + ui.btn.style.background = state.enabled ? '#4CAF50' : '#f44336'; + } + // Floating button + if (ui.floating) { + ui.floating.textContent = state.enabled ? 'Annotate: ON' : 'Annotate: OFF'; + ui.floating.style.background = state.enabled ? '#2e7d32' : '#9e2b25'; + ui.floating.style.borderColor = state.enabled ? '#66bb6a' : '#ef5350'; + } + // Sync context menu if open + if (ui.contextMenu && ui.contextMenu.parentElement) { + const tgl = ui.contextMenu.querySelector('#ctx_toggle'); + if (tgl) { + tgl.textContent = state.enabled ? 'ENABLED' : 'DISABLED'; + tgl.style.background = state.enabled ? '#4CAF50' : '#f44336'; + } + } + } + + function setEnabled(val) { + state.enabled = !!val; + // If disabling while drawing, finish current stroke gracefully + if (!state.enabled && state.current) { + state.paths.push(state.current); + state.current = null; + } + // On enable, reset to required defaults (draw mode active) + if (state.enabled) { + state.color = '#ff4444'; + state.widthDraw = 15; + state.opacityDraw = 1.0; + state.widthErase = 48; + state.opacityErase = 1.0; + state.eraser = false; // start in draw mode + state.width = state.widthDraw; + state.opacity = state.opacityDraw; + if (ui.eraserBtn) { + ui.eraserBtn.textContent = '✏️ Draw'; + ui.eraserBtn.style.background = '#795548'; + } + syncBrushOpacityUI(); + } + syncUI(); + app?.canvas?.setDirty(true, true); + console.log('[IAMCCS] Annotate:', state.enabled ? 'ON' : 'OFF'); + } + + function syncBrushOpacityUI() { + // Sidebar/dock + const sec = document.getElementById('iamccs-sidebar'); + const wEl = sec?.querySelector('#iam_width'); + const wvEl = sec?.querySelector('#iam_wv'); + const opEl = sec?.querySelector('#iam_opacity'); + const ovEl = sec?.querySelector('#iam_ov'); + if (wEl) wEl.value = String(state.width); + if (wvEl) wvEl.textContent = String(state.width); + if (opEl) opEl.value = String(Math.round((state.opacity||1)*100)); + if (ovEl) ovEl.textContent = String(Math.round((state.opacity||1)*100)); + // Context menu, if open + if (ui.contextMenu) { + const cw = ui.contextMenu.querySelector('#ctx_width'); + const cwv = ui.contextMenu.querySelector('#ctx_wv'); + const cop = ui.contextMenu.querySelector('#ctx_opacity'); + const cov = ui.contextMenu.querySelector('#ctx_ov'); + if (cw) cw.value = String(state.width); + if (cwv) cwv.textContent = String(state.width); + if (cop) cop.value = String(Math.round((state.opacity||1)*100)); + if (cov) cov.textContent = String(Math.round((state.opacity||1)*100)); + } + } + + function setEraserMode(on) { + const next = !!on; + if (state.eraser === next) return; + if (next) { + // switching to eraser: remember current draw values, apply eraser values + state.widthDraw = state.width; + state.opacityDraw = state.opacity; + state.width = state.widthErase || state.width; + state.opacity = (typeof state.opacityErase === 'number') ? state.opacityErase : state.opacity; + } else { + // switching to draw: remember current eraser values, apply draw values + state.widthErase = state.width; + state.opacityErase = state.opacity; + state.width = state.widthDraw || state.width; + state.opacity = (typeof state.opacityDraw === 'number') ? state.opacityDraw : state.opacity; + } + state.eraser = next; + if (ui.eraserBtn) { + ui.eraserBtn.textContent = state.eraser ? '🩹 Eraser' : '✏️ Draw'; + ui.eraserBtn.style.background = state.eraser ? '#c2185b' : '#795548'; + } + syncBrushOpacityUI(); + app?.canvas?.setDirty(true, true); + } + + function findSidebarElement() { + // Try several known selectors; return the first match or null + const selectors = [ + '.sidebar', + '#sidebar', + '.left-panel', + '.left-sidebar', + '.comfyui-sidebar', + '.comfy-menu + div', + '[class*="sidebar"]', + ]; + for (const sel of selectors) { + const el = document.querySelector(sel); + if (el) return el; + } + return null; + } + + function ensureSidebarSection() { + let section = document.getElementById('iamccs-sidebar'); + if (section) return section; + + const sidebar = findSidebarElement(); + if (!sidebar) { + // Do not create fallback here; we'll use a dock near the canvas instead + return null; + } + const container = sidebar; + + section = document.createElement('div'); + section.id = 'iamccs-sidebar'; + section.style.cssText = 'padding:10px;border-top:1px solid #444;background:rgba(0,0,0,0.25);margin:6px 0;'; + + section.innerHTML = ` +

+
+ + +
+
+ +
+
Brush: 15px
+ +
+
+
+
Opacity: 100%
+ +
+
+ + + + + +
+
+
+ +
+ + +
+
IAMCCS_annotate · draw & note on ComfyUI
+ `; + + container.appendChild(section); + + // Wire events + ui.btn = section.querySelector('#iam_toggle'); + const clr = section.querySelector('#iam_clear'); + const color = section.querySelector('#iam_color'); + const width = section.querySelector('#iam_width'); + ui.widthValue = section.querySelector('#iam_wv'); + ui.opacityValue = section.querySelector('#iam_ov'); + const opacity = section.querySelector('#iam_opacity'); + ui.eraserBtn = section.querySelector('#iam_eraser'); + ui.constantChk = section.querySelector('#iam_constant'); + const dashedChk = section.querySelector('#iam_dashed'); + const hidpiChk = section.querySelector('#iam_hidpi'); + const hiddenChk = section.querySelector('#iam_hidden'); + const saveChk = section.querySelector('#iam_save_with_wf'); + const saveNow = section.querySelector('#iam_save_now'); + const loadNow = section.querySelector('#iam_load_now'); + + ui.btn.addEventListener('click', () => { + setEnabled(!state.enabled); + }); + clr.addEventListener('click', () => { + // Clear all non-locked layers + for (const lyr of state.layers) if (!lyr.locked) lyr.paths = []; + // Refresh flat paths for backward compatibility + state.paths = []; + for (const lyr of state.layers) for (const p of lyr.paths) state.paths.push(p); + app?.canvas?.setDirty(true, true); + console.log('[IAMCCS] Cleared (unlocked layers)'); + if (state.saveWithWorkflow) persistToGraphExtra(true); else removeFromGraphExtra(); + }); + color.addEventListener('input', () => { + state.color = color.value; + }); + width.addEventListener('input', () => { + state.width = parseInt(width.value, 10) || 3; + if (state.eraser) state.widthErase = state.width; else state.widthDraw = state.width; + if (ui.widthValue) ui.widthValue.textContent = String(state.width); + }); + opacity.addEventListener('input', () => { + const pct = parseInt(opacity.value, 10) || 100; + state.opacity = Math.max(0.1, Math.min(1, pct / 100)); + if (state.eraser) state.opacityErase = state.opacity; else state.opacityDraw = state.opacity; + if (ui.opacityValue) ui.opacityValue.textContent = String(Math.round(state.opacity * 100)); + }); + ui.eraserBtn.addEventListener('click', () => { + setEraserMode(!state.eraser); + }); + ui.constantChk.addEventListener('change', () => { + state.constantScreen = !!ui.constantChk.checked; + app?.canvas?.setDirty(true, true); + }); + dashedChk.addEventListener('change', () => { + state.dashed = !!dashedChk.checked; + app?.canvas?.setDirty(true, true); + }); + hidpiChk.addEventListener('change', () => { + state.hiDPIx2 = !!hidpiChk.checked; + app?.canvas?.setDirty(true, true); + }); + hiddenChk.addEventListener('change', () => { + state.hidden = !!hiddenChk.checked; + app?.canvas?.setDirty(true, true); + }); + saveChk?.addEventListener('change', () => { + state.saveWithWorkflow = !!saveChk.checked; + if (state.saveWithWorkflow) persistToGraphExtra(); else removeFromGraphExtra(); + }); + saveNow?.addEventListener('click', () => { + persistToGraphExtra(true); + }); + loadNow?.addEventListener('click', () => { + const loaded = loadFromGraphExtra(); + if (!loaded) console.warn('[IAMCCS] Nessuna annotazione trovata in workflow.extra'); + }); + + // If we mounted to body (fallback), try to re-parent to real sidebar when it appears + if (!sidebar) { + let tries = 0; + const reparent = () => { + const sb = findSidebarElement(); + if (sb) { + sb.appendChild(section); + section.style.cssText = 'padding:10px;border-top:1px solid #444;background:rgba(0,0,0,0.25);margin:6px 0;'; + console.log('[IAMCCS] Sidebar found later — UI moved into sidebar'); + return; + } + if (tries++ < 20) setTimeout(reparent, 500); + }; + setTimeout(reparent, 500); + } + + // Initial UI state + syncUI(); + syncBrushOpacityUI(); + return section; + } + + function ensureCanvasDock() { + // Create or reposition the panel next to the canvas when real sidebar is unavailable + const section = document.getElementById('iamccs-sidebar'); + const canvasEl = app?.canvas?.canvas; + if (!canvasEl) return null; + const host = canvasEl.parentElement || document.body; + let panel = section; + if (!panel) { + // Build a new panel identical to sidebar section (English, full controls) + panel = document.createElement('div'); + panel.id = 'iamccs-sidebar'; + panel.innerHTML = ` +
+
🎨 Annotate
+
graph-locked
+
+
+ + +
+
+ +
+
Brush: 15px
+ +
+
+
+
Opacity: 100%
+ +
+
+ + + + + +
+
+
+ +
+ + +
+
IAMCCS_annotate · draw & note on ComfyUI
+ `; + // Wire events (same as sidebar) + ui.btn = panel.querySelector('#iam_toggle'); + const clr = panel.querySelector('#iam_clear'); + const color = panel.querySelector('#iam_color'); + const width = panel.querySelector('#iam_width'); + const opacity = panel.querySelector('#iam_opacity'); + ui.widthValue = panel.querySelector('#iam_wv'); + ui.opacityValue = panel.querySelector('#iam_ov'); + ui.eraserBtn = panel.querySelector('#iam_eraser'); + ui.constantChk = panel.querySelector('#iam_constant'); + const dashedChk = panel.querySelector('#iam_dashed'); + const hidpiChk = panel.querySelector('#iam_hidpi'); + const hiddenChk = panel.querySelector('#iam_hidden'); + const saveChk = panel.querySelector('#iam_save_with_wf'); + const saveNow = panel.querySelector('#iam_save_now'); + const loadNow = panel.querySelector('#iam_load_now'); + + ui.btn.addEventListener('click', () => setEnabled(!state.enabled)); + clr.addEventListener('click', () => { + // Clear all non-locked layers + for (const lyr of state.layers) if (!lyr.locked) lyr.paths = []; + // Refresh flat paths for backward compatibility + state.paths = []; + for (const lyr of state.layers) for (const p of lyr.paths) state.paths.push(p); + app?.canvas?.setDirty(true, true); + console.log('[IAMCCS] Cleared (unlocked layers)'); + if (state.saveWithWorkflow) persistToGraphExtra(true); else removeFromGraphExtra(); + }); + color.addEventListener('input', () => { state.color = color.value; }); + width.addEventListener('input', () => { + state.width = parseInt(width.value, 10) || 3; + if (state.eraser) state.widthErase = state.width; else state.widthDraw = state.width; + if (ui.widthValue) ui.widthValue.textContent = String(state.width); + }); + opacity.addEventListener('input', () => { + const pct = parseInt(opacity.value, 10) || 100; + state.opacity = Math.max(0.1, Math.min(1, pct / 100)); + if (state.eraser) state.opacityErase = state.opacity; else state.opacityDraw = state.opacity; + if (ui.opacityValue) ui.opacityValue.textContent = String(Math.round(state.opacity * 100)); + }); + ui.eraserBtn.addEventListener('click', () => { + setEraserMode(!state.eraser); + }); + ui.constantChk.addEventListener('change', () => { + state.constantScreen = !!ui.constantChk.checked; + app?.canvas?.setDirty(true, true); + }); + dashedChk.addEventListener('change', () => { + state.dashed = !!dashedChk.checked; + app?.canvas?.setDirty(true, true); + }); + hidpiChk.addEventListener('change', () => { + state.hiDPIx2 = !!hidpiChk.checked; + app?.canvas?.setDirty(true, true); + }); + hiddenChk.addEventListener('change', () => { + state.hidden = !!hiddenChk.checked; + app?.canvas?.setDirty(true, true); + }); + saveChk?.addEventListener('change', () => { + state.saveWithWorkflow = !!saveChk.checked; + if (state.saveWithWorkflow) persistToGraphExtra(); else removeFromGraphExtra(); + }); + saveNow?.addEventListener('click', () => persistToGraphExtra(true)); + loadNow?.addEventListener('click', () => { + const loaded = loadFromGraphExtra(); + if (!loaded) console.warn('[IAMCCS] Nessuna annotazione trovata in workflow.extra'); + }); + } + + // Style as dock next to canvas + panel.style.position = 'absolute'; + // restored position if saved + const saved = loadPos('iamccs_dock_pos', { left: 180, top: 80 }); + panel.style.left = saved.left + 'px'; + panel.style.top = saved.top + 'px'; + panel.style.width = '220px'; + panel.style.background = 'rgba(0,0,0,0.9)'; + panel.style.border = '1px solid #444'; + panel.style.borderRadius = '8px'; + panel.style.padding = '12px'; + panel.style.color = '#fff'; + panel.style.zIndex = '10'; + panel.style.fontFamily = 'Segoe UI, Arial'; + + if (panel.parentElement !== host) host.appendChild(panel); + // Make panel draggable by its header + const header = panel.firstElementChild; + makeDraggable(panel, { storageKey: 'iamccs_dock_pos', handle: header, isFixed: false }); + syncUI(); + syncBrushOpacityUI(); + // Hide floating toggle if dock is visible + if (ui.floating) ui.floating.style.display = 'none'; + return panel; + } + + function persistToGraphExtra(force = false) { + if (!app?.graph) return; + if (!state.saveWithWorkflow && !force) return; + app.graph.extra = app.graph.extra || {}; + app.graph.extra.iamccs_annotations = { + version: 2, + color: state.color, + width: state.width, + paths: state.paths, + layers: state.layers, + currentLayerIdx: state.currentLayerIdx, + }; + console.log('[IAMCCS] Annotazioni salvate in workflow.extra'); + } + + function removeFromGraphExtra() { + if (!app?.graph?.extra) return; + delete app.graph.extra.iamccs_annotations; + console.log('[IAMCCS] Annotazioni rimosse da workflow.extra'); + } + + function loadFromGraphExtra() { + const data = app?.graph?.extra?.iamccs_annotations; + if (!data) return false; + + state.color = data.color || state.color; + state.width = data.width || state.width; + + // Load layers if available (v2), otherwise load paths (v1) + if (Array.isArray(data.layers) && data.layers.length > 0) { + state.layers = data.layers.map(layer => ({ + name: layer.name || 'Layer', + visible: layer.visible !== false, + locked: !!layer.locked, + paths: Array.isArray(layer.paths) ? layer.paths.map(p => ({ + color: p.color || '#ff4444', + width: p.width || 3, + opacity: typeof p.opacity === 'number' ? p.opacity : 1, + mode: p.mode === 'erase' ? 'erase' : 'draw', + dashed: !!p.dashed, + points: Array.isArray(p.points) ? p.points.map(pt => ({ x: pt.x, y: pt.y })) : [], + })) : [], + })); + state.currentLayerIdx = typeof data.currentLayerIdx === 'number' ? data.currentLayerIdx : 0; + } else if (Array.isArray(data.paths)) { + // Fallback to v1 format: migrate paths into layers + state.paths = data.paths.map(p => ({ + color: p.color || '#ff4444', + width: p.width || 3, + opacity: typeof p.opacity === 'number' ? p.opacity : 1, + mode: p.mode === 'erase' ? 'erase' : 'draw', + dashed: !!p.dashed, + points: Array.isArray(p.points) ? p.points.map(pt => ({ x: pt.x, y: pt.y })) : [], + })); + // Also populate first layer + if (state.layers[0]) state.layers[0].paths = [...state.paths]; + } else { + return false; + } + + app?.canvas?.setDirty(true, true); + console.log('[IAMCCS] Annotazioni caricate da workflow.extra'); + return true; + } + + function exportAnnotations() { + try { + // Include current in-progress stroke if any (without mutating state) + const paths = state.current ? [...state.paths, state.current] : state.paths; + // Serialize full workflow (if available) and inject annotations into extra + let wf = null; + try { wf = app?.graph?.serialize ? app.graph.serialize() : null; } catch {} + if (!wf) wf = { last_node_id: undefined, last_link_id: undefined, nodes: [], links: [], groups: [], config: {}, extra: {} }; + wf.extra = wf.extra || {}; + wf.extra.iamccs_annotations = { version: 1, color: state.color, width: state.width, paths }; + const blob = new Blob([JSON.stringify(wf, null, 2)], { type: 'application/json' }); + const url = URL.createObjectURL(blob); + const a = document.createElement('a'); + const date = new Date().toISOString().replace(/[:.]/g, '-'); + a.href = url; + a.download = `workflow-with-annotations-${date}.json`; + document.body.appendChild(a); + a.click(); + setTimeout(() => { URL.revokeObjectURL(url); a.remove(); }, 0); + } catch (e) { + console.error('[IAMCCS] Export failed:', e); + } + } + + function importAnnotations(file) { + try { + const reader = new FileReader(); + reader.onload = () => { + try { + const data = JSON.parse(String(reader.result||'{}')); + const ann = (data && data.extra && data.extra.iamccs_annotations) ? data.extra.iamccs_annotations : data; + const paths = Array.isArray(ann) ? ann : (Array.isArray(ann.paths) ? ann.paths : []); + state.paths = paths.map(p => ({ + color: p.color || state.color, + width: p.width || state.width, + opacity: typeof p.opacity === 'number' ? p.opacity : 1, + mode: p.mode === 'erase' ? 'erase' : 'draw', + dashed: !!p.dashed, + points: Array.isArray(p.points) ? p.points.map(pt => ({ x: pt.x, y: pt.y })) : [], + })); + app?.canvas?.setDirty(true, true); + if (state.saveWithWorkflow) persistToGraphExtra(true); + console.log('[IAMCCS] Annotations imported:', state.paths.length); + } catch (err) { + console.error('[IAMCCS] Invalid JSON for import:', err); + } + }; + reader.readAsText(file); + } catch (e) { + console.error('[IAMCCS] Import failed:', e); + } + } + + // Import workflow or annotations from an object + async function importFromObject(obj) { + try { + // Workflow JSON usually has nodes array + if (obj && Array.isArray(obj.nodes)) { + if (typeof app?.loadGraphData === 'function') { + await app.loadGraphData(obj); + // handleWorkflowChange will run via our wrapped loadGraphData + console.log('[IAMCCS] Workflow imported'); + return true; + } else { + console.warn('[IAMCCS] app.loadGraphData is not available'); + return false; + } + } + // Otherwise, try to import annotations only + const ann = (obj && obj.extra && obj.extra.iamccs_annotations) ? obj.extra.iamccs_annotations : obj; + const paths = Array.isArray(ann) ? ann : (Array.isArray(ann?.paths) ? ann.paths : []); + if (paths && Array.isArray(paths)) { + state.paths = paths.map(p => ({ + color: p.color || state.color, + width: p.width || state.width, + opacity: typeof p.opacity === 'number' ? p.opacity : 1, + mode: p.mode === 'erase' ? 'erase' : 'draw', + dashed: !!p.dashed, + points: Array.isArray(p.points) ? p.points.map(pt => ({ x: pt.x, y: pt.y })) : [], + })); + // Put into the first layer for compatibility + if (state.layers[0]) state.layers[0].paths = [...state.paths]; + app?.canvas?.setDirty(true, true); + if (state.saveWithWorkflow) persistToGraphExtra(true); + console.log('[IAMCCS] Annotations imported (from object):', state.paths.length); + return true; + } + } catch (e) { + console.error('[IAMCCS] Import from object failed:', e); + } + return false; + } + + // Open file picker and import workflow (Ctrl+I) + function promptImportWorkflow() { + try { + const inp = document.createElement('input'); + inp.type = 'file'; + inp.accept = 'application/json,.json'; + inp.onchange = async () => { + try { + const f = inp.files && inp.files[0]; + if (!f) return; + const reader = new FileReader(); + reader.onload = async () => { + try { + const obj = JSON.parse(String(reader.result||'{}')); + await importFromObject(obj); + } catch (e) { + console.error('[IAMCCS] Invalid workflow JSON:', e); + } + }; + reader.readAsText(f); + } catch (e) { + console.error('[IAMCCS] Could not import workflow:', e); + } + }; + inp.click(); + } catch (e) { + console.error('[IAMCCS] Could not open file picker:', e); + } + } + + // Expose a minimal bridge for workflow change handling + try { + window.IAMCCS_ANNOTATE_MODULE = { + _handleWorkflowChange() { + // If the new graph contains annotations, load them; otherwise clear local state + const loaded = loadFromGraphExtra(); + if (!loaded) { + // Reset to default state with single empty layer + state.paths = []; + state.current = null; + state.currentLayerIdx = 0; + state.layers = [{ name: 'Layer 1', visible: true, locked: false, paths: [] }]; + app?.canvas?.setDirty(true, true); + } + } + }; + } catch {} + + // Layer management functions + function getCurrentLayer() { + return state.layers[state.currentLayerIdx]; + } + function addLayer() { + const layerNum = state.layers.length + 1; + state.layers.push({ name: `Layer ${layerNum}`, visible: true, locked: false, paths: [] }); + state.currentLayerIdx = state.layers.length - 1; + app?.canvas?.setDirty(true, true); + return state.layers.length - 1; + } + function deleteLayer(idx) { + if (state.layers.length <= 1) return false; // Keep at least one layer + state.layers.splice(idx, 1); + if (state.currentLayerIdx >= state.layers.length) state.currentLayerIdx = state.layers.length - 1; + app?.canvas?.setDirty(true, true); + return true; + } + function toggleLayerVisibility(idx) { + if (state.layers[idx]) state.layers[idx].visible = !state.layers[idx].visible; + app?.canvas?.setDirty(true, true); + } + function toggleLayerLock(idx) { + if (state.layers[idx]) state.layers[idx].locked = !state.layers[idx].locked; + } + function setCurrentLayer(idx) { + if (idx >= 0 && idx < state.layers.length) { + state.currentLayerIdx = idx; + app?.canvas?.setDirty(true, true); + } + } + + function ensureFloatingToggle() { + if (ui.floating && document.body.contains(ui.floating)) return ui.floating; + const btn = document.createElement('button'); + btn.id = 'iamccs-floating-toggle'; + btn.textContent = state.enabled ? 'Annotate: ON' : 'Annotate: OFF'; + const saved = loadPos('iamccs_float_pos', { left: 180, top: null }); + btn.style.cssText = [ + 'position:fixed', + (saved.top == null ? 'bottom:12px' : ('top:' + Math.max(60, Math.min(window.innerHeight - 40, saved.top)) + 'px')), + 'left:' + Math.max(0, Math.min(window.innerWidth - 120, saved.left)) + 'px', + 'padding:8px 12px', + 'font-weight:600', + 'font-size:12px', + 'color:#fff', + 'background:' + (state.enabled ? '#2e7d32' : '#9e2b25'), + 'border:1px solid ' + (state.enabled ? '#66bb6a' : '#ef5350'), + 'border-radius:8px', + 'box-shadow:0 2px 8px rgba(0,0,0,0.35)', + 'z-index:2000', + 'cursor:pointer', + ].join(';'); + // Track if button was dragged (to avoid toggle on drag) + let btnDragging = false; + btn.addEventListener('pointerdown', () => { btnDragging = false; }, true); + btn.addEventListener('click', (e) => { + // Only toggle if not dragging + if (!btnDragging) { + e.preventDefault(); + e.stopPropagation(); + setEnabled(!state.enabled); + } + }, true); + // Right-click context menu with options + btn.addEventListener('contextmenu', (e) => { + e.preventDefault(); + showContextMenu(e.clientX, e.clientY, btn); + }); + document.body.appendChild(btn); + ui.floating = btn; + // Make draggable (whole button) and move menu with it if open + makeDraggable(btn, { + storageKey: 'iamccs_float_pos', + isFixed: true, + onDragStart: () => { btnDragging = true; }, // Set flag when drag starts + onDrag: ({ left, top }) => { + if (ui.contextMenu && ui.contextAnchor && ui.contextAnchor.anchor === btn) { + const nx = Math.max(0, Math.min(window.innerWidth - ui.contextMenu.offsetWidth, left + ui.contextAnchor.dx)); + const ny = Math.max(0, Math.min(window.innerHeight - ui.contextMenu.offsetHeight, top + ui.contextAnchor.dy)); + ui.contextMenu.style.left = nx + 'px'; + ui.contextMenu.style.top = ny + 'px'; + } + } + }); + return btn; + } + + function showContextMenu(x, y, anchorEl) { + // Remove existing + if (ui.contextMenu && document.body.contains(ui.contextMenu)) ui.contextMenu.remove(); + const menu = document.createElement('div'); + menu.id = 'iamccs-context-menu'; + menu.style.cssText = [ + 'position:fixed', + // left/top set after append so we can clamp using size + 'min-width:220px', + 'background:rgba(0,0,0,0.95)', + 'border:1px solid #444', + 'border-radius:8px', + 'padding:10px', + 'color:#fff', + 'z-index:3000', + 'font-family:Segoe UI, Arial', + 'box-shadow:0 4px 16px rgba(0,0,0,0.4)' + ].join(';'); + menu.innerHTML = ` +
IAMCCS_annotate - Options
+
+ + +
+
+ +
+
Brush: ${state.width}px
+ +
+
+
+
Opacity: ${Math.round(state.opacity*100)}%
+ +
+
+ + + + + + +
+
+
+
Layers
+ +
+
+
+
+
IAMCCS_annotate · draw & note on ComfyUI
+
+ + + +
+
+ `; + document.body.appendChild(menu); + + // Function to render layers list + function renderLayersList() { + const list = menu.querySelector('#ctx_layers_list'); + if (!list) return; + // Timer to allow double-click to cancel the single-click re-render + let nameClickTimer = null; + // Render layers with newest at the top of the list (visual order), + // but keep indices mapped to the underlying state.layers + const order = state.layers.map((_, i) => i).reverse(); + list.innerHTML = order.map((idx) => { + const layer = state.layers[idx]; + return ` +
+ + + + +
`; + }).join(''); + + // Add event listeners + list.querySelectorAll('[data-layer-row]').forEach(row => { + row.addEventListener('click', () => { + const idx = parseInt(row.dataset.layerRow, 10); + setCurrentLayer(idx); + renderLayersList(); + }); + }); + list.querySelectorAll('[data-layer-name]').forEach(inp => { + // Single click selects; does not start editing + inp.addEventListener('click', (e) => { + const idx = parseInt(inp.dataset.layerName, 10); + setCurrentLayer(idx); + // Delay re-render slightly so a double-click can cancel it + if (nameClickTimer) clearTimeout(nameClickTimer); + nameClickTimer = setTimeout(() => { + renderLayersList(); + }, 220); + e.stopPropagation(); + }); + // Enable editing on double-click (or double tap) + inp.addEventListener('dblclick', (e) => { + if (nameClickTimer) { clearTimeout(nameClickTimer); nameClickTimer = null; } + e.stopPropagation(); + inp.readOnly = false; + inp.style.cursor = 'text'; + inp.focus(); + try { inp.select(); } catch {} + }); + // Commit change on blur or change; then return to readOnly + const commit = () => { + const idx = parseInt(inp.dataset.layerName, 10); + const newName = inp.value.trim(); + if (newName) { + state.layers[idx].name = newName; + } else { + inp.value = state.layers[idx].name; // Revert if empty + } + inp.readOnly = true; + inp.style.cursor = 'pointer'; + }; + inp.addEventListener('change', commit); + inp.addEventListener('blur', commit); + // Allow Enter to confirm, Escape to cancel + inp.addEventListener('keydown', (e) => { + if (e.key === 'Enter') { + inp.blur(); + } else if (e.key === 'Escape') { + inp.value = state.layers[parseInt(inp.dataset.layerName, 10)].name; + inp.blur(); + } + }); + }); + list.querySelectorAll('[data-layer-toggle-vis]').forEach(btn => { + btn.addEventListener('click', (e) => { + e.stopPropagation(); + const idx = parseInt(btn.dataset.layerToggleVis, 10); + toggleLayerVisibility(idx); + renderLayersList(); + }); + }); + list.querySelectorAll('[data-layer-toggle-lock]').forEach(btn => { + btn.addEventListener('click', (e) => { + e.stopPropagation(); + const idx = parseInt(btn.dataset.layerToggleLock, 10); + toggleLayerLock(idx); + renderLayersList(); + }); + }); + list.querySelectorAll('[data-layer-delete]').forEach(btn => { + btn.addEventListener('click', (e) => { + e.stopPropagation(); + const idx = parseInt(btn.dataset.layerDelete, 10); + if (deleteLayer(idx)) renderLayersList(); + }); + }); + } + + // Initial render + renderLayersList(); + + // Add layer button + const addLayerBtn = menu.querySelector('#ctx_add_layer'); + if (addLayerBtn) { + addLayerBtn.addEventListener('click', () => { + addLayer(); + renderLayersList(); + }); + } + + // Clamp initial position and anchor to button + const clamp = (px, py) => { + const nx = Math.max(0, Math.min(window.innerWidth - menu.offsetWidth, px)); + const ny = Math.max(0, Math.min(window.innerHeight - menu.offsetHeight, py)); + return { nx, ny }; + }; + let px = x, py = y; + if (anchorEl) { + const r = anchorEl.getBoundingClientRect(); + ui.contextAnchor = { anchor: anchorEl, dx: x - r.left, dy: y - r.top }; + } else { + ui.contextAnchor = null; + } + const cl = clamp(px, py); + menu.style.left = cl.nx + 'px'; + menu.style.top = cl.ny + 'px'; + ui.contextMenu = menu; + + // Wire context controls + const tgl = menu.querySelector('#ctx_toggle'); + const clr = menu.querySelector('#ctx_clear'); + const col = menu.querySelector('#ctx_color'); + const w = menu.querySelector('#ctx_width'); + const wv = menu.querySelector('#ctx_wv'); + const op = menu.querySelector('#ctx_opacity'); + const ov = menu.querySelector('#ctx_ov'); + const ers = menu.querySelector('#ctx_eraser'); + const cst = menu.querySelector('#ctx_constant'); + const dsh = menu.querySelector('#ctx_dashed'); + const hdp = menu.querySelector('#ctx_hidpi'); + const hid = menu.querySelector('#ctx_hidden'); + ui.hiddenChk = hid; // Store reference for keyboard shortcut + const swf = menu.querySelector('#ctx_savewf'); + const exp = menu.querySelector('#ctx_export'); + const imp = menu.querySelector('#ctx_import'); + const cls = menu.querySelector('#ctx_close'); + + tgl.addEventListener('click', () => { + setEnabled(!state.enabled); + // Update menu button color immediately + tgl.style.background = state.enabled ? '#4CAF50' : '#f44336'; + tgl.textContent = state.enabled ? 'ENABLED' : 'DISABLED'; + }); + clr.addEventListener('click', () => { + // Clear all non-locked layers + for (const lyr of state.layers) if (!lyr.locked) lyr.paths = []; + // Refresh flat paths for backward compatibility + state.paths = []; + for (const lyr of state.layers) for (const p of lyr.paths) state.paths.push(p); + app?.canvas?.setDirty(true, true); + if (state.saveWithWorkflow) persistToGraphExtra(true); else removeFromGraphExtra(); + }); + col.addEventListener('input', () => { state.color = col.value; }); + w.addEventListener('input', () => { + state.width = parseInt(w.value, 10) || 3; + if (state.eraser) state.widthErase = state.width; else state.widthDraw = state.width; + wv.textContent = String(state.width); + }); + op.addEventListener('input', () => { + const pct = parseInt(op.value,10)||100; + state.opacity = Math.max(0.1, Math.min(1, pct/100)); + if (state.eraser) state.opacityErase = state.opacity; else state.opacityDraw = state.opacity; + ov.textContent = String(Math.round(state.opacity*100)); + }); + ers.addEventListener('click', () => { + setEraserMode(!state.eraser); + // Update context button state immediately + ers.textContent = state.eraser ? '🩹 Eraser' : '✏️ Draw'; + ers.style.background = state.eraser ? '#c2185b' : '#795548'; + }); + cst.addEventListener('change', () => { state.constantScreen = !!cst.checked; app?.canvas?.setDirty(true,true); }); + dsh.addEventListener('change', () => { state.dashed = !!dsh.checked; app?.canvas?.setDirty(true,true); }); + hdp.addEventListener('change', () => { state.hiDPIx2 = !!hdp.checked; app?.canvas?.setDirty(true,true); }); + hid.addEventListener('change', () => { state.hidden = !!hid.checked; app?.canvas?.setDirty(true,true); }); + swf.addEventListener('change', () => { state.saveWithWorkflow = !!swf.checked; if (state.saveWithWorkflow) persistToGraphExtra(); else removeFromGraphExtra(); }); + exp.addEventListener('click', () => exportAnnotations()); + imp.addEventListener('click', () => { + const inp = document.createElement('input'); + inp.type = 'file'; + inp.accept = 'application/json'; + inp.onchange = () => { if (inp.files && inp.files[0]) importAnnotations(inp.files[0]); }; + inp.click(); + }); + cls.addEventListener('click', () => { menu.remove(); }); + const offClick = (ev) => { if (!menu.contains(ev.target) && ev.target !== ui.floating) { menu.remove(); ui.contextAnchor = null; window.removeEventListener('mousedown', offClick, true); } }; + window.addEventListener('mousedown', offClick, true); + } + + function toGraphPos(e, canvas) { + if (!canvas) return null; + if (typeof canvas.convertEventToCanvasOffset === 'function') { + const p = canvas.convertEventToCanvasOffset(e); + return { x: p[0], y: p[1] }; + } + // Fallback: compute from ds and bounding rect + const rect = canvas.canvas.getBoundingClientRect(); + const ds = canvas.ds || canvas.viewport || { scale: canvas.scale || 1, offset: canvas.offset || [0, 0] }; + const x = (e.clientX - rect.left) / (window.devicePixelRatio || 1); + const y = (e.clientY - rect.top) / (window.devicePixelRatio || 1); + // In litegraph: screen = (graph + offset) * scale -> graph = (screen/scale) - offset + return { x: x / ds.scale - ds.offset[0], y: y / ds.scale - ds.offset[1] }; + } + + function attachCanvasHooks() { + const canvas = app?.canvas; + if (!canvas || !canvas.canvas) { + console.log('[IAMCCS] Canvas not ready'); + return false; + } + + console.log('[IAMCCS] Attaching canvas hooks...'); + + // Draw annotations into an offscreen buffer, then composite on top (so eraser doesn't reveal black background) + const prev = canvas.onDrawForeground; + canvas.onDrawForeground = function (ctx) { + if (typeof prev === 'function') prev.call(this, ctx); + // Create floating button on first draw (proper timing) + if (!state.uiShown) { + console.log('[IAMCCS] Creating floating button...'); + ensureFloatingToggle(); + state.uiShown = true; + } + if (state.hidden) return; // do not render when hidden + + const cw = ctx.canvas.width | 0; + const ch = ctx.canvas.height | 0; + const supersample = state.hiDPIx2 ? 2 : 1; + if (!__annoCanvas) { + __annoCanvas = document.createElement('canvas'); + __annoCtx = __annoCanvas.getContext('2d'); + } + const targetW = Math.max(1, Math.floor(cw * supersample)); + const targetH = Math.max(1, Math.floor(ch * supersample)); + if (__annoW !== targetW || __annoH !== targetH) { + __annoW = __annoCanvas.width = targetW; + __annoH = __annoCanvas.height = targetH; + } else { + __annoCtx.clearRect(0, 0, __annoW, __annoH); + } + + const ds = canvas.ds || canvas.viewport || { scale: canvas.scale || 1, offset: canvas.offset || [0, 0] }; + const dpr = (window.devicePixelRatio || 1) * supersample; + const g2s = (pt) => ({ + x: ((pt.x + (ds.offset?.[0] || 0)) * (ds.scale || 1)) * dpr, + y: ((pt.y + (ds.offset?.[1] || 0)) * (ds.scale || 1)) * dpr, + }); + const widthPx = (w) => state.constantScreen ? (w * dpr) : (w * (ds.scale || 1) * dpr); + const dashForWidth = (wpx) => { + // Dash pattern scales with stroke width so it remains visible at any size + const a = Math.max(2, Math.min(200, Math.round(3 * wpx))); + const b = Math.max(2, Math.min(200, Math.round(2 * wpx))); + return [a, b]; + }; + + __annoCtx.save(); + __annoCtx.imageSmoothingEnabled = true; + __annoCtx.setTransform(1,0,0,1,0,0); + __annoCtx.lineCap = 'round'; + __annoCtx.lineJoin = 'round'; + // Draw stored strokes + for (const layer of state.layers) { + if (!layer.visible) continue; + for (const path of layer.paths) { + if (!Array.isArray(path.points) || !path.points.length) continue; + const wpx = widthPx(path.width); + __annoCtx.globalAlpha = typeof path.opacity === 'number' ? path.opacity : 1; + if (path.dashed) __annoCtx.setLineDash(dashForWidth(wpx)); else __annoCtx.setLineDash([]); + if (path.mode === 'erase') { + __annoCtx.save(); + __annoCtx.globalCompositeOperation = 'destination-out'; + const pts = path.points.map(g2s); + if (pts.length === 1) { + // Erase a dot + const r = Math.max(0.5, wpx / 2); + __annoCtx.beginPath(); + __annoCtx.arc(pts[0].x, pts[0].y, r, 0, Math.PI * 2); + __annoCtx.fillStyle = 'rgba(0,0,0,1)'; + __annoCtx.fill(); + } else if (pts.length === 2) { + __annoCtx.beginPath(); + __annoCtx.moveTo(pts[0].x, pts[0].y); + __annoCtx.lineTo(pts[1].x, pts[1].y); + __annoCtx.lineWidth = Math.max(1, wpx); + __annoCtx.strokeStyle = 'rgba(0,0,0,1)'; + __annoCtx.stroke(); + } else { + __annoCtx.beginPath(); + __annoCtx.moveTo(pts[0].x, pts[0].y); + for (let i = 1; i < pts.length - 1; i++) { + const cx = pts[i].x; + const cy = pts[i].y; + const nx = (pts[i].x + pts[i+1].x) * 0.5; + const ny = (pts[i].y + pts[i+1].y) * 0.5; + __annoCtx.quadraticCurveTo(cx, cy, nx, ny); + } + __annoCtx.lineTo(pts[pts.length - 1].x, pts[pts.length - 1].y); + __annoCtx.lineWidth = Math.max(1, wpx); + __annoCtx.strokeStyle = 'rgba(0,0,0,1)'; + __annoCtx.stroke(); + } + __annoCtx.restore(); + } else { + __annoCtx.globalCompositeOperation = 'source-over'; + __annoCtx.strokeStyle = path.color || '#ff4444'; + __annoCtx.lineWidth = Math.max(1, wpx); + const pts = path.points.map(g2s); + if (pts.length === 1) { + __annoCtx.beginPath(); + __annoCtx.arc(pts[0].x, pts[0].y, Math.max(0.5, wpx/2), 0, Math.PI*2); + __annoCtx.fillStyle = path.color || '#ff4444'; + __annoCtx.fill(); + } else if (pts.length === 2) { + __annoCtx.beginPath(); + __annoCtx.moveTo(pts[0].x, pts[0].y); + __annoCtx.lineTo(pts[1].x, pts[1].y); + __annoCtx.stroke(); + } else { + __annoCtx.beginPath(); + __annoCtx.moveTo(pts[0].x, pts[0].y); + for (let i = 1; i < pts.length - 1; i++) { + const cx = pts[i].x; + const cy = pts[i].y; + const nx = (pts[i].x + pts[i+1].x) * 0.5; + const ny = (pts[i].y + pts[i+1].y) * 0.5; + __annoCtx.quadraticCurveTo(cx, cy, nx, ny); + } + // Ensure we reach the last point + __annoCtx.lineTo(pts[pts.length - 1].x, pts[pts.length - 1].y); + __annoCtx.stroke(); + } + } + } + } + // Draw current stroke + const cur = state.current; + if (cur && Array.isArray(cur.points) && cur.points.length) { + const wpx = widthPx(cur.width); + __annoCtx.globalAlpha = typeof cur.opacity === 'number' ? cur.opacity : 1; + if (cur.dashed) __annoCtx.setLineDash(dashForWidth(wpx)); else __annoCtx.setLineDash([]); + if (cur.mode === 'erase') { + __annoCtx.save(); + __annoCtx.globalCompositeOperation = 'destination-out'; + const pts = cur.points.map(g2s); + if (pts.length === 1) { + const r = Math.max(0.5, wpx / 2); + __annoCtx.beginPath(); + __annoCtx.arc(pts[0].x, pts[0].y, r, 0, Math.PI * 2); + __annoCtx.fillStyle = 'rgba(0,0,0,1)'; + __annoCtx.fill(); + } else if (pts.length === 2) { + __annoCtx.beginPath(); + __annoCtx.moveTo(pts[0].x, pts[0].y); + __annoCtx.lineTo(pts[1].x, pts[1].y); + __annoCtx.lineWidth = Math.max(1, wpx); + __annoCtx.strokeStyle = 'rgba(0,0,0,1)'; + __annoCtx.stroke(); + } else { + __annoCtx.beginPath(); + __annoCtx.moveTo(pts[0].x, pts[0].y); + for (let i = 1; i < pts.length - 1; i++) { + const cx = pts[i].x; + const cy = pts[i].y; + const nx = (pts[i].x + pts[i+1].x) * 0.5; + const ny = (pts[i].y + pts[i+1].y) * 0.5; + __annoCtx.quadraticCurveTo(cx, cy, nx, ny); + } + __annoCtx.lineTo(pts[pts.length - 1].x, pts[pts.length - 1].y); + __annoCtx.lineWidth = Math.max(1, wpx); + __annoCtx.strokeStyle = 'rgba(0,0,0,1)'; + __annoCtx.stroke(); + } + __annoCtx.restore(); + } else { + __annoCtx.globalCompositeOperation = 'source-over'; + __annoCtx.strokeStyle = cur.color || '#ff4444'; + __annoCtx.lineWidth = Math.max(1, wpx); + const pts = cur.points.map(g2s); + if (pts.length === 1) { + __annoCtx.beginPath(); + __annoCtx.arc(pts[0].x, pts[0].y, Math.max(0.5, wpx/2), 0, Math.PI*2); + __annoCtx.fillStyle = cur.color || '#ff4444'; + __annoCtx.fill(); + } else if (pts.length === 2) { + __annoCtx.beginPath(); + __annoCtx.moveTo(pts[0].x, pts[0].y); + __annoCtx.lineTo(pts[1].x, pts[1].y); + __annoCtx.stroke(); + } else { + __annoCtx.beginPath(); + __annoCtx.moveTo(pts[0].x, pts[0].y); + for (let i = 1; i < pts.length - 1; i++) { + const cx = pts[i].x; + const cy = pts[i].y; + const nx = (pts[i].x + pts[i+1].x) * 0.5; + const ny = (pts[i].y + pts[i+1].y) * 0.5; + __annoCtx.quadraticCurveTo(cx, cy, nx, ny); + } + __annoCtx.lineTo(pts[pts.length - 1].x, pts[pts.length - 1].y); + __annoCtx.stroke(); + } + } + } + __annoCtx.restore(); + + // Composite the offscreen buffer back to the main canvas + ctx.save(); + ctx.setTransform(1,0,0,1,0,0); + ctx.imageSmoothingEnabled = true; + ctx.globalCompositeOperation = 'source-over'; + // Composite with downscale if supersampled + ctx.drawImage(__annoCanvas, 0, 0, __annoW, __annoH, 0, 0, cw, ch); + ctx.restore(); + }; + + // Pointer events on the graph canvas only + const el = canvas.canvas; + const onDown = (e) => { + if (!state.enabled) return; + if (e.target && e.target.closest('#iamccs-sidebar')) return; + if (e.button !== 0) return; // only left button draws; allow middle-button pan + const p = toGraphPos(e, canvas); + if (!p) return; + // Capture pointer so we always receive pointerup even if leaving the canvas + try { if (typeof el.setPointerCapture === 'function') el.setPointerCapture(e.pointerId); } catch {} + state.current = { color: state.color, width: state.width, opacity: state.opacity, dashed: state.dashed, mode: state.eraser ? 'erase' : 'draw', points: [p] }; + e.preventDefault(); + e.stopPropagation(); + app.canvas.setDirty(true, true); + }; + const onMove = (e) => { + if (!state.current) return; + const p = toGraphPos(e, canvas); + if (!p) return; + state.current.points.push(p); + // Change cursor to pen while drawing + el.style.cursor = state.eraser ? 'cell' : 'crosshair'; + e.preventDefault(); + e.stopPropagation(); + app.canvas.setDirty(true, false); + }; + const onUp = (e) => { + // Release pointer capture if active + try { if (e && typeof el.releasePointerCapture === 'function') el.releasePointerCapture(e.pointerId); } catch {} + if (!state.current) return; + const layer = getCurrentLayer(); + if (layer && !layer.locked) { + layer.paths.push(state.current); + // Also add to state.paths for backward compatibility + state.paths.push(state.current); + } + state.current = null; + // Reset cursor after drawing + el.style.cursor = 'default'; + app.canvas.setDirty(true, true); + persistToGraphExtra(); + }; + + el.addEventListener('pointerdown', onDown, true); + el.addEventListener('pointermove', onMove, true); + // Prefer element-level pointerup with pointer capture; add window fallback + el.addEventListener('pointerup', onUp, true); + el.addEventListener('pointercancel', onUp, true); + window.addEventListener('pointerup', onUp, false); + + console.log('[IAMCCS] Hooks attached'); + return true; + } + + // Register as ComfyUI extension + app.registerExtension({ + name: 'IAMCCS.Annotate', + init() { + // Defer creating any UI until the canvas exists (prevents top bar flash) + // Keyboard shortcuts: Alt+A toggle, Esc cancella path corrente + window.addEventListener('keydown', (e) => { + // Avoid intercepting when typing into inputs/editable fields + const target = e.target; + const isEditing = target && (target.tagName === 'INPUT' || target.tagName === 'TEXTAREA' || target.isContentEditable || target.closest?.('[contenteditable="true"]')); + if (isEditing) return; + if (e.altKey && (e.key === 'a' || e.key === 'A')) { + setEnabled(!state.enabled); + e.preventDefault(); + } else if (e.altKey && (e.key === 'd' || e.key === 'D')) { + // Toggle eraser/draw with Alt+D + setEraserMode(!state.eraser); + console.log('[IAMCCS] Eraser:', state.eraser ? 'ON' : 'OFF'); + e.preventDefault(); + } else if (e.altKey && (e.key === 's' || e.key === 'S')) { + // Toggle hide notes with Option+S (Alt+S on Windows) + state.hidden = !state.hidden; + if (ui.hiddenChk) ui.hiddenChk.checked = state.hidden; + app?.canvas?.setDirty(true, true); + e.preventDefault(); + } else if (e.ctrlKey && !e.shiftKey && !e.altKey && (e.key === 'i' || e.key === 'I')) { + // Ctrl+I: Import workflow (or annotations JSON) + e.preventDefault(); + promptImportWorkflow(); + } else if (e.key === 'Escape') { + if (state.current) { + state.paths.push(state.current); + state.current = null; + app?.canvas?.setDirty(true, true); + } + } + }); + }, + setup() { + const wait = () => { + if (app?.canvas?.canvas) { + console.log('[IAMCCS] Setup called - canvas ready'); + attachCanvasHooks(); + // Fallback: create button after 1 second if not created by draw + setTimeout(() => { + if (!state.uiShown) { + console.log('[IAMCCS] Fallback: creating floating button...'); + ensureFloatingToggle(); + state.uiShown = true; + } + }, 1000); + // Attempt to load from workflow.extra after initial render + setTimeout(() => handleWorkflowChange(), 300); + // Safely wrap app.loadGraphData to update annotations when workflows change + try { + if (!app.__iamccs_wrapped_load) { + const orig = app.loadGraphData?.bind(app); + if (typeof orig === 'function') { + app.loadGraphData = async function(...args) { + const res = await orig(...args); + try { handleWorkflowChange(); } catch (e) { console.warn('[IAMCCS] handleWorkflowChange failed:', e); } + return res; + }; + Object.defineProperty(app, '__iamccs_wrapped_load', { value: true, configurable: true }); + } + } + } catch (e) { + console.warn('[IAMCCS] Could not wrap app.loadGraphData:', e); + } + return; + } + setTimeout(wait, 250); + }; + wait(); + }, + }); + + console.log('[IAMCCS] Extension registered'); + })(); +} + +// Handle loading/clearing annotations when workflow changes +function handleWorkflowChange() { + try { + const g = window?.app?.graph || (window?.ComfyApp?.app?.graph); + } catch {} + try { + // app is module local above; retrieve via global import cache if available + } catch {} + try { + // The async IIFE scope holds state and helpers; expose a small bridge on window + const mod = window.IAMCCS_ANNOTATE_MODULE; + if (mod && typeof mod._handleWorkflowChange === 'function') mod._handleWorkflowChange(); + } catch {} +} diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..93520a8 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,41 @@ +[build-system] +requires = ["setuptools", "wheel"] +build-backend = "setuptools.build_meta" + +[project] +name = "IAMCCS-Annotate" +version = "1.0.0" +description = "Drawing and annotation tool for ComfyUI with layer support" +readme = "README.md" +license = {text = "MIT"} +authors = [ + {name = "IAMCCS", email = "info@carminecristalloscalzi.com"} +] +keywords = ["comfyui", "drawing", "annotation", "extension", "web-ui"] +classifiers = [ + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "License :: OSI Approved :: MIT License", + "Topic :: Artistic Software", + "Topic :: Multimedia :: Graphics", +] +requires-python = ">=3.8" +dependencies = [] + +[project.urls] +Homepage = "https://github.com/IAMCCS" +Repository = "https://github.com/IAMCCS/IAMCCS_annotate" +Issues = "https://github.com/IAMCCS/IAMCCS_annotate/issues" + +[project.optional-dependencies] +dev = ["pytest", "black", "flake8"] + +[tool.setuptools] +packages = ["IAMCCS_annotate"] +include-package-data = true + +[tool.setuptools.package-data] +IAMCCS_annotate = ["js/*.js", "*.md", "*.py"] diff --git a/version.json b/version.json new file mode 100644 index 0000000..01fe551 --- /dev/null +++ b/version.json @@ -0,0 +1,6 @@ +{ + "name": "iamccs-annotate", + "version": "1.0.0", + "author": "Carmine Cristallo Scalzi (IAMCCS)", + "description": "drawing and annotation tool for ComfyUI." +}