145 lines
5.8 KiB
Python
145 lines
5.8 KiB
Python
"""
|
|
TextureAlchemy
|
|
Transform images into professional PBR materials with AI-powered nodes.
|
|
Complete workflow suite for extracting, processing, and enhancing textures.
|
|
"""
|
|
|
|
import os
|
|
|
|
# Core modules
|
|
from .pbr_core import NODE_CLASS_MAPPINGS as CORE_CLASS_MAPPINGS
|
|
from .pbr_core import NODE_DISPLAY_NAME_MAPPINGS as CORE_DISPLAY_MAPPINGS
|
|
from .pbr_pipeline import NODE_CLASS_MAPPINGS as PIPELINE_CLASS_MAPPINGS
|
|
from .pbr_pipeline import NODE_DISPLAY_NAME_MAPPINGS as PIPELINE_DISPLAY_MAPPINGS
|
|
from .pbr_extractor_node import NODE_CLASS_MAPPINGS as EXTRACTOR_CLASS_MAPPINGS
|
|
from .pbr_extractor_node import NODE_DISPLAY_NAME_MAPPINGS as EXTRACTOR_DISPLAY_MAPPINGS
|
|
|
|
# Map and material utilities
|
|
from .map_utils import NODE_CLASS_MAPPINGS as MAP_CLASS_MAPPINGS
|
|
from .map_utils import NODE_DISPLAY_NAME_MAPPINGS as MAP_DISPLAY_MAPPINGS
|
|
from .normal_utils import NODE_CLASS_MAPPINGS as NORMAL_CLASS_MAPPINGS
|
|
from .normal_utils import NODE_DISPLAY_NAME_MAPPINGS as NORMAL_DISPLAY_MAPPINGS
|
|
from .height_advanced import NODE_CLASS_MAPPINGS as HEIGHT_ADV_CLASS_MAPPINGS
|
|
from .height_advanced import NODE_DISPLAY_NAME_MAPPINGS as HEIGHT_ADV_DISPLAY_MAPPINGS
|
|
|
|
# Color and effects
|
|
from .color_utils import NODE_CLASS_MAPPINGS as COLOR_CLASS_MAPPINGS
|
|
from .color_utils import NODE_DISPLAY_NAME_MAPPINGS as COLOR_DISPLAY_MAPPINGS
|
|
from .color_advanced import NODE_CLASS_MAPPINGS as COLOR_ADV_CLASS_MAPPINGS
|
|
from .color_advanced import NODE_DISPLAY_NAME_MAPPINGS as COLOR_ADV_DISPLAY_MAPPINGS
|
|
from .effect_utils import NODE_CLASS_MAPPINGS as EFFECT_CLASS_MAPPINGS
|
|
from .effect_utils import NODE_DISPLAY_NAME_MAPPINGS as EFFECT_DISPLAY_MAPPINGS
|
|
|
|
# Texture processing
|
|
from .texture_utils import NODE_CLASS_MAPPINGS as TEXTURE_CLASS_MAPPINGS
|
|
from .texture_utils import NODE_DISPLAY_NAME_MAPPINGS as TEXTURE_DISPLAY_MAPPINGS
|
|
from .channel_utils import NODE_CLASS_MAPPINGS as CHANNEL_CLASS_MAPPINGS
|
|
from .channel_utils import NODE_DISPLAY_NAME_MAPPINGS as CHANNEL_DISPLAY_MAPPINGS
|
|
|
|
# Advanced tools (NEW!)
|
|
from .blend_utils import NODE_CLASS_MAPPINGS as BLEND_CLASS_MAPPINGS
|
|
from .blend_utils import NODE_DISPLAY_NAME_MAPPINGS as BLEND_DISPLAY_MAPPINGS
|
|
from .mask_generators import NODE_CLASS_MAPPINGS as MASK_CLASS_MAPPINGS
|
|
from .mask_generators import NODE_DISPLAY_NAME_MAPPINGS as MASK_DISPLAY_MAPPINGS
|
|
from .noise_utils import NODE_CLASS_MAPPINGS as NOISE_CLASS_MAPPINGS
|
|
from .noise_utils import NODE_DISPLAY_NAME_MAPPINGS as NOISE_DISPLAY_MAPPINGS
|
|
from .detail_utils import NODE_CLASS_MAPPINGS as DETAIL_CLASS_MAPPINGS
|
|
from .detail_utils import NODE_DISPLAY_NAME_MAPPINGS as DETAIL_DISPLAY_MAPPINGS
|
|
from .analysis_utils import NODE_CLASS_MAPPINGS as ANALYSIS_CLASS_MAPPINGS
|
|
from .analysis_utils import NODE_DISPLAY_NAME_MAPPINGS as ANALYSIS_DISPLAY_MAPPINGS
|
|
from .material_advanced import NODE_CLASS_MAPPINGS as MATERIAL_ADV_CLASS_MAPPINGS
|
|
from .material_advanced import NODE_DISPLAY_NAME_MAPPINGS as MATERIAL_ADV_DISPLAY_MAPPINGS
|
|
from .filter_utils import NODE_CLASS_MAPPINGS as FILTER_CLASS_MAPPINGS
|
|
from .filter_utils import NODE_DISPLAY_NAME_MAPPINGS as FILTER_DISPLAY_MAPPINGS
|
|
from .qwen_extras import NODE_CLASS_MAPPINGS as QWEN_EXTRAS_MAPPINGS
|
|
from .qwen_extras import NODE_DISPLAY_NAME_MAPPINGS as QWEN_EXTRAS_DISPLAY_MAPPINGS
|
|
|
|
# Lighting and relighting (NEW!)
|
|
from .relight_utils import NODE_CLASS_MAPPINGS as RELIGHT_CLASS_MAPPINGS
|
|
from .relight_utils import NODE_DISPLAY_NAME_MAPPINGS as RELIGHT_DISPLAY_MAPPINGS
|
|
from .environment_utils import NODE_CLASS_MAPPINGS as ENVIRONMENT_CLASS_MAPPINGS
|
|
from .environment_utils import NODE_DISPLAY_NAME_MAPPINGS as ENVIRONMENT_DISPLAY_MAPPINGS
|
|
|
|
# Batch and prep
|
|
from .batch_prep import NODE_CLASS_MAPPINGS as BATCH_PREP_CLASS_MAPPINGS
|
|
from .batch_prep import NODE_DISPLAY_NAME_MAPPINGS as BATCH_PREP_DISPLAY_MAPPINGS
|
|
|
|
# Shuffle custom colors
|
|
from .shuffle_custom_colors import NODE_CLASS_MAPPINGS as SHUFFLE_COLORS_CLASS_MAPPINGS
|
|
from .shuffle_custom_colors import NODE_DISPLAY_NAME_MAPPINGS as SHUFFLE_COLORS_DISPLAY_MAPPINGS
|
|
|
|
# Merge all node mappings
|
|
NODE_CLASS_MAPPINGS = {
|
|
# Core
|
|
**CORE_CLASS_MAPPINGS,
|
|
**PIPELINE_CLASS_MAPPINGS,
|
|
**EXTRACTOR_CLASS_MAPPINGS,
|
|
# Maps
|
|
**MAP_CLASS_MAPPINGS,
|
|
**NORMAL_CLASS_MAPPINGS,
|
|
**HEIGHT_ADV_CLASS_MAPPINGS,
|
|
# Color & Effects
|
|
**COLOR_CLASS_MAPPINGS,
|
|
**COLOR_ADV_CLASS_MAPPINGS,
|
|
**EFFECT_CLASS_MAPPINGS,
|
|
# Texture
|
|
**TEXTURE_CLASS_MAPPINGS,
|
|
**CHANNEL_CLASS_MAPPINGS,
|
|
# Advanced (NEW!)
|
|
**BLEND_CLASS_MAPPINGS,
|
|
**MASK_CLASS_MAPPINGS,
|
|
**NOISE_CLASS_MAPPINGS,
|
|
**DETAIL_CLASS_MAPPINGS,
|
|
**ANALYSIS_CLASS_MAPPINGS,
|
|
**MATERIAL_ADV_CLASS_MAPPINGS,
|
|
**FILTER_CLASS_MAPPINGS,
|
|
**QWEN_EXTRAS_MAPPINGS,
|
|
# Lighting
|
|
**RELIGHT_CLASS_MAPPINGS,
|
|
**ENVIRONMENT_CLASS_MAPPINGS,
|
|
# Batch
|
|
**BATCH_PREP_CLASS_MAPPINGS,
|
|
# Shuffle
|
|
**SHUFFLE_COLORS_CLASS_MAPPINGS,
|
|
}
|
|
|
|
NODE_DISPLAY_NAME_MAPPINGS = {
|
|
# Core
|
|
**CORE_DISPLAY_MAPPINGS,
|
|
**PIPELINE_DISPLAY_MAPPINGS,
|
|
**EXTRACTOR_DISPLAY_MAPPINGS,
|
|
# Maps
|
|
**MAP_DISPLAY_MAPPINGS,
|
|
**NORMAL_DISPLAY_MAPPINGS,
|
|
**HEIGHT_ADV_DISPLAY_MAPPINGS,
|
|
# Color & Effects
|
|
**COLOR_DISPLAY_MAPPINGS,
|
|
**COLOR_ADV_DISPLAY_MAPPINGS,
|
|
**EFFECT_DISPLAY_MAPPINGS,
|
|
# Texture
|
|
**TEXTURE_DISPLAY_MAPPINGS,
|
|
**CHANNEL_DISPLAY_MAPPINGS,
|
|
# Advanced (NEW!)
|
|
**BLEND_DISPLAY_MAPPINGS,
|
|
**MASK_DISPLAY_MAPPINGS,
|
|
**NOISE_DISPLAY_MAPPINGS,
|
|
**DETAIL_DISPLAY_MAPPINGS,
|
|
**ANALYSIS_DISPLAY_MAPPINGS,
|
|
**MATERIAL_ADV_DISPLAY_MAPPINGS,
|
|
**FILTER_DISPLAY_MAPPINGS,
|
|
**QWEN_EXTRAS_DISPLAY_MAPPINGS,
|
|
# Lighting
|
|
**RELIGHT_DISPLAY_MAPPINGS,
|
|
**ENVIRONMENT_DISPLAY_MAPPINGS,
|
|
# Batch
|
|
**BATCH_PREP_DISPLAY_MAPPINGS,
|
|
# Shuffle
|
|
**SHUFFLE_COLORS_DISPLAY_MAPPINGS,
|
|
}
|
|
|
|
# Tell ComfyUI where to find our web/JS files
|
|
WEB_DIRECTORY = os.path.join(os.path.dirname(__file__), "web")
|
|
|
|
__all__ = ['NODE_CLASS_MAPPINGS', 'NODE_DISPLAY_NAME_MAPPINGS', 'WEB_DIRECTORY']
|
|
|