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>
P8: preserve original layer name in fuzzy-match debug logs
P9: preserve negative values in ACES colorspaces
P10: use actual channel count in reshape_from_processing
P11: add max version counter (9999) to get_unique_filepath
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Step-by-step processing details were flooding the console during normal
ComfyUI operation. Demote ~45 info-level logs to debug, consolidate
multi-line error blocks, and remove redundant duplicate messages. Only
one clean summary line per major node operation remains at INFO level.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Only replace #### placeholders, not arbitrary digits in filenames.
Require 2+ consecutive # in filename portion for sequence detection.
Support variable-width frame patterns (###, ####, #####).
Prefer last numeric sequence for frame number extraction.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Fix cryptomatte layer groups storing lists instead of tensors.
Remove redundant get_channel_groups call.
Initialize rgb/alpha tensors to prevent unbound reference.
Add safe JSON serialization for OIIO metadata types.
Use per-vector normalization for XYZ/normal map data.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>