"Rotate" is the word people actually search for, and almost nothing in the ecosystem registers under that name, so keeping it in the display name is worth more than a tidier one. The node menu now shows "Transform & Rotate Pro", and the class is TransformRotatePro to match. The registration key stays MP_ImageTransform on purpose. That key is what saved workflows and placed nodes reference, so changing it again would break any node already dropped on a canvas. The key is never shown in the UI, so there is no cost to leaving it as it is - a comment in __init__.py records why it differs from the class name. Category is unchanged at MachinePaintingNodes/Rotate & Scale. README updated throughout.
153 lines
5.6 KiB
Python
153 lines
5.6 KiB
Python
# __init__.py
|
|
|
|
"""
|
|
ComfyUI-MachinePaintingNodes v2.2.0
|
|
Professional color grading, mask tools, filters, and utilities for ComfyUI
|
|
"""
|
|
|
|
# Combined files
|
|
from .boolean_utils import (
|
|
Boolean, BooleanInvert, BooleanSwitchValueOutput,
|
|
BooleanInputValueSwitch, BooleanMasterSwitch
|
|
)
|
|
from .analysis_view import HistogramView, ColorWheelView
|
|
from .tonal_adjust import LevelsAdjust, AutoLevels, BrightnessContrastAdjust
|
|
from .color_blend import ColorMatchBlend, ColorAdjustBlend
|
|
from .remove_background import RemoveBackgroundPro, MaskEditor, ApplyMask
|
|
|
|
# Standalone files
|
|
from .image_blend_pro import ImageBlendPro
|
|
from .curves_adjust_pro import CurvesAdjustPro
|
|
from .channel_mask_pro import ChannelMaskPro
|
|
from .selective_color_pro import SelectiveColorPro
|
|
from .lut_apply import LUTApply
|
|
from .seed_lock import SeedLock
|
|
from .text_notes import TextNotes
|
|
from .show_text import ShowText
|
|
from .text_string import TextString
|
|
from .show_value import ShowValue
|
|
from .mega_slider import MegaSliderMasterValue, MegaSliderX1, MegaSliderX3, MegaSliderX6, MegaSliderX12
|
|
from .dynamic_value_range import DynamicValueRange
|
|
from .zimage_latent import ZImageEmptyLatentImage
|
|
from .blur_pro import BlurPro
|
|
from .image_mask_switch import ImageMaskSwitch
|
|
from .frequency_separation import FrequencySeparate, FrequencyCombine
|
|
from .noise_grain_pro import NoiseGrainPro
|
|
from .inpaint_mask_pro import InpaintMaskPro
|
|
from .mask_composite import MaskCompositePro2X, MaskCompositePro6X
|
|
from .image_transform import TransformRotatePro
|
|
|
|
NODE_CLASS_MAPPINGS = {
|
|
# Color Adjustment
|
|
"CurvesAdjustPro": CurvesAdjustPro,
|
|
"LevelsAdjust": LevelsAdjust,
|
|
"AutoLevels": AutoLevels,
|
|
"BrightnessContrastAdjust": BrightnessContrastAdjust,
|
|
"SelectiveColorPro": SelectiveColorPro,
|
|
"ColorMatchBlend": ColorMatchBlend,
|
|
"ColorAdjustBlend": ColorAdjustBlend,
|
|
"LUTApply": LUTApply,
|
|
# Blending
|
|
"ImageBlendPro": ImageBlendPro,
|
|
# Mask & Background
|
|
"RemoveBackgroundPro": RemoveBackgroundPro,
|
|
"MaskEditor": MaskEditor,
|
|
"ApplyMask": ApplyMask,
|
|
"ChannelMaskPro": ChannelMaskPro,
|
|
# Analysis
|
|
"HistogramView": HistogramView,
|
|
"ColorWheelView": ColorWheelView,
|
|
# Utilities
|
|
"Boolean": Boolean,
|
|
"BooleanInvert": BooleanInvert,
|
|
"BooleanSwitchValueOutput": BooleanSwitchValueOutput,
|
|
"BooleanInputValueSwitch": BooleanInputValueSwitch,
|
|
"BooleanMasterSwitch": BooleanMasterSwitch,
|
|
"SeedLock": SeedLock,
|
|
"TextNotes": TextNotes,
|
|
"ShowText": ShowText,
|
|
"TextString": TextString,
|
|
"ShowValue": ShowValue,
|
|
"MegaSliderMasterValue": MegaSliderMasterValue,
|
|
"MegaSliderX1": MegaSliderX1,
|
|
"MegaSliderX3": MegaSliderX3,
|
|
"MegaSliderX6": MegaSliderX6,
|
|
"MegaSliderX12": MegaSliderX12,
|
|
"DynamicValueRange": DynamicValueRange,
|
|
"ZImageEmptyLatentImage": ZImageEmptyLatentImage,
|
|
# Filters
|
|
"BlurPro": BlurPro,
|
|
# Utilities (continued)
|
|
"MP_ImageMaskSwitch": ImageMaskSwitch,
|
|
# Frequency Separation
|
|
"FrequencySeparate": FrequencySeparate,
|
|
"FrequencyCombine": FrequencyCombine,
|
|
"NoiseGrainPro": NoiseGrainPro,
|
|
# Inpainting
|
|
"InpaintMaskPro": InpaintMaskPro,
|
|
"MaskCompositePro2X": MaskCompositePro2X,
|
|
"MaskCompositePro6X": MaskCompositePro6X,
|
|
# Transform
|
|
# Key stays MP_ImageTransform so already-placed nodes keep working
|
|
"MP_ImageTransform": TransformRotatePro,
|
|
}
|
|
|
|
NODE_DISPLAY_NAME_MAPPINGS = {
|
|
# Color Adjustment
|
|
"CurvesAdjustPro": "👾 Curves Adjust Pro",
|
|
"LevelsAdjust": "👾 Levels Adjust",
|
|
"AutoLevels": "👾 Auto Levels",
|
|
"BrightnessContrastAdjust": "👾 Brightness Contrast Adjust",
|
|
"SelectiveColorPro": "👾 Selective Color Pro",
|
|
"ColorMatchBlend": "👾 Color Match Blend",
|
|
"ColorAdjustBlend": "👾 Color Adjust Blend",
|
|
"LUTApply": "👾 LUT Apply",
|
|
# Blending
|
|
"ImageBlendPro": "👾 Image Blend Pro",
|
|
# Mask & Background
|
|
"RemoveBackgroundPro": "👾 Remove Background Pro",
|
|
"MaskEditor": "👾 Mask Editor",
|
|
"ApplyMask": "👾 Apply Mask",
|
|
"ChannelMaskPro": "👾 Channel Mask Pro",
|
|
# Analysis
|
|
"HistogramView": "👾 Histogram View",
|
|
"ColorWheelView": "👾 Color Wheel View",
|
|
# Utilities
|
|
"Boolean": "👾 Boolean",
|
|
"BooleanInvert": "👾 Boolean Invert",
|
|
"BooleanSwitchValueOutput": "👾 Boolean Switch Value Output",
|
|
"BooleanInputValueSwitch": "👾 Boolean Input Value Switch",
|
|
"BooleanMasterSwitch": "👾 Boolean Master Switch",
|
|
"SeedLock": "👾 Seed Lock",
|
|
"TextNotes": "👾 Text Notes",
|
|
"ShowText": "👾 Show Text",
|
|
"TextString": "👾 Text String",
|
|
"ShowValue": "👾 Show Value",
|
|
"MegaSliderMasterValue": "👾 Mega Slider Master Value",
|
|
"MegaSliderX1": "👾 Mega Slider X1",
|
|
"MegaSliderX3": "👾 Mega Slider X3",
|
|
"MegaSliderX6": "👾 Mega Slider X6",
|
|
"MegaSliderX12": "👾 Mega Slider X12",
|
|
"DynamicValueRange": "👾 Dynamic Value Range",
|
|
"ZImageEmptyLatentImage": "👾 Z-Image Empty Latent Image",
|
|
# Filters
|
|
"BlurPro": "👾 Blur Pro",
|
|
# Utilities (continued)
|
|
"MP_ImageMaskSwitch": "👾 Image <> Mask Switch",
|
|
# Frequency Separation
|
|
"FrequencySeparate": "👾 Frequency Separate",
|
|
"FrequencyCombine": "👾 Frequency Combine",
|
|
"NoiseGrainPro": "👾 Noise Grain Pro",
|
|
# Inpainting
|
|
"InpaintMaskPro": "👾 Inpaint Mask Pro",
|
|
"MaskCompositePro2X": "👾 Mask Composite Pro 2X",
|
|
"MaskCompositePro6X": "👾 Mask Composite Pro 6X",
|
|
# Transform
|
|
"MP_ImageTransform": "👾 Transform & Rotate Pro",
|
|
}
|
|
|
|
WEB_DIRECTORY = "./js"
|
|
__all__ = ["NODE_CLASS_MAPPINGS", "NODE_DISPLAY_NAME_MAPPINGS", "WEB_DIRECTORY"]
|
|
|
|
print("ComfyUI-MachinePaintingNodes v2.2.0: Loaded 41 nodes")
|