16 Commits
Author SHA1 Message Date
CoCoandClaude Opus 4.6 5cbdafc6d0 feat: fix file browser double-prompt, add test assets and workflows
Replace STRING widget with fresh COCO.PATH widget object to prevent
LiteGraph default "Value" prompt from appearing alongside custom file
browser. Bump version to 0.8.0. Simplify .gitignore and move dev
files to dev/. Add test images and example workflow for release.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 16:04:42 +00:00
CoCoandClaude Opus 4.6 7f0f8b37f2 feat: add dynamic file browser for load/save nodes
Server-side /cocotools/browse API endpoint returns directory listings
with extension filtering. JS modal file browser injects browse buttons
on ImageLoader, LoadExr, LoadExrSequence, and SaverNode path widgets.
Zero changes to node INPUT_TYPES — fully backward compatible.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 16:48:55 +00:00
CoCoandClaude Opus 4.6 43084fbea2 feat: add interactive click-to-matte preview with zebra stripe overlay
Adds a clickable Canvas2D preview widget to CryptomatteLayer that displays
the connected beauty pass, maps mouse clicks to pixel coordinates for matte
generation, and overlays a diagonal zebra stripe pattern on selected pixels.

- Add preview_image optional IMAGE input and OUTPUT_NODE for UI data
- Create js/cryptomatte.js with click handler, crosshair, and hover coords
- Fix image output to always produce valid [1,H,W,3] IMAGE tensors
- Search all cryptomatte ranks and ID channels for hash matching
- Extract layer name resolution into _resolve_layer_name method

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 05:17:09 +00:00
CoCoandClaude Opus 4.6 6ae233b980 feat: add click-to-matte functionality to CryptomatteLayer node
- Add optional x_coord/y_coord inputs for pixel selection
- Sample cryptomatte float32 hash at clicked position
- Generate binary mask matching all pixels with same object ID
- Add JS click handler to map preview clicks to pixel coordinates
- Existing functionality preserved when coords are -1 (default)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 22:09:34 +00:00
CoCoandClaude Opus 4.6 5c4f4d8b2b fix: low-severity JS fixes — nullish coalescing, bounds guard, remove console noise, dead code
J5: histogram clip stats nullish coalescing
J6: vectorscope Math.min for coord array bounds
J7: vectorscope point_count nullish coalescing
J8: remove console.log/warn calls from load_exr_layer_by_name
J10: remove dead onWidgetChange override

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 21:56:58 +00:00
CoCoandClaude Opus 4.6 bf2dd95070 fix: JS guards for empty histogram bins, missing vectorscope coords, unknown widget types, and stale node refs
J1: histogram.js - guard against empty counts array
J2: vectorscope.js - guard against missing coordinate arrays
J3: saver.js - guard unknown widget types, safe widget identification
J4: load_exr_layer_by_name.js - store nodeId only, re-resolve from graph

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 21:53:45 +00:00
CoCoandClaude Opus 4.6 81e13382b5 fix: address code review — channel guard, var→const, batch_size
Add channels < 3 guard matching histogram pattern.
Replace all var declarations with const/let for consistency.
Add batch_size to image_info for parity with histogram node.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 03:54:21 +00:00
CoCoandClaude Opus 4.6 cf7b05760d feat: add vectorscope Canvas2D frontend with overlays and toggles
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 03:50:38 +00:00
CoCoandClaude Opus 4.6 4fe38eebd7 fix: extend histogram fill to right canvas edge at low bin counts
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 15:59:21 +00:00
CoCoandClaude Opus 4.6 da87f4d682 feat: add histogram Canvas2D frontend widget
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 15:55:50 +00:00
CoCoandClaude Opus 4.6 7f6e2d5fea Fix JS extension loading errors (closes #13, partial #10)
Remove non-existent load_exr.js import that broke all JS extensions.
Fix isCryptomatte scope bug in setup() causing ReferenceError.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 15:07:19 +00:00
Conor-Collins c93c3f12b8 Fully featured sequences load just like the single exr images now. Separated sequence loader into its own node due to js complexity. Adjusted all layers to use comfy caching logic method 2025-07-25 15:29:40 -07:00
Conor-Collins 53a13cb010 changed exr sequence to work with start and end frames, made node mappings more consistent across project 2025-07-25 09:36:28 -07:00
Conor-Collins 526e2cf4a6 refactor of load and save nodes, previews added to nodes, skeleton for sequences put in place as well 2025-07-20 10:56:28 -07:00
Conor-Collins acfc08c239 Completely rewrote the saver node to address a few bugs and clean up the code 2025-06-17 15:17:52 -07:00
Conor-Collins 2c660ba936 initial upload 2025-04-21 05:10:10 -07:00