Files
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

53 lines
1.7 KiB
Python

# Import all available modules
from .modules.image_loader import ImageLoader
from .modules.load_exr import LoadExr
from .modules.load_exr_sequence import LoadExrSequence
from .modules.saver import SaverNode
from .modules.load_exr_layer_by_name import LoadExrLayerByName, CryptomatteLayer
from .modules.colorspace import ColorspaceNode
from .modules.znormalize import ZNormalizeNode
from .modules.histogram import HistogramNode
from .modules.vectorscope import VectorscopeNode
from .utils import server_routes # noqa: F401 — registers /cocotools/browse API route
# Initialize node mappings
NODE_CLASS_MAPPINGS = {}
NODE_DISPLAY_NAME_MAPPINGS = {}
WEB_DIRECTORY = "./js"
# Add all available node classes
NODE_CLASS_MAPPINGS.update({
"ImageLoader": ImageLoader,
"LoadExr": LoadExr,
"LoadExrSequence": LoadExrSequence,
"SaverNode": SaverNode,
"LoadExrLayerByName": LoadExrLayerByName,
"CryptomatteLayer": CryptomatteLayer,
"ColorspaceNode": ColorspaceNode,
"ZNormalizeNode": ZNormalizeNode,
"HistogramNode": HistogramNode,
"VectorscopeNode": VectorscopeNode,
})
# Add display names for better UI presentation
NODE_DISPLAY_NAME_MAPPINGS.update({
"ImageLoader": "CoCo Loader",
"LoadExr": "CoCo Load EXR",
"LoadExrSequence": "CoCo Load EXR Sequence",
"SaverNode": "CoCo Saver",
"LoadExrLayerByName": "CoCo Load EXR Layer by Name",
"CryptomatteLayer": "CoCo Cryptomatte Layer",
"ColorspaceNode": "CoCo Colorspace",
"ZNormalizeNode": "CoCo Z Normalize",
"HistogramNode": "CoCo Histogram",
"VectorscopeNode": "CoCo Vectorscope",
})
# Expose what ComfyUI needs
__all__ = [
"NODE_CLASS_MAPPINGS",
"NODE_DISPLAY_NAME_MAPPINGS",
]