16 Commits
Author SHA1 Message Date
MachinePainting ea2a2021f8 v2.2.0 - Add Image Rotate node and rotation controls for Remove Background Pro
Image Rotate (new node): rotate, zoom and reposition an image inside a
definable canvas. Free or fixed (45 degree snap) rotation, centre-zero
angle slider (CCW left, CW right), exponential centre-zero zoom
(-100 = 0.25x, +100 = 4x), percent-based XY placement, and
transparent/black/white background fill. An optional mask input rides
the identical matrix so it stays registered to the image. Canvas W/H
inputs default to 0, meaning "match the incoming image".

Remove Background Pro: rotation block added at the bottom of the
settings (enable toggle, free/fixed method, angle slider, XY
placement). Applied after removal so rembg always segments the upright
image; the canvas stays at the original size and image, mask,
masked_image, mask_bw and passthrough are all warped by the same
matrix.

New transform_utils module keeps the rotate/zoom/offset math identical
across both nodes. js/image_transform.js snaps the angle slider to 45
degree steps in fixed mode and hides the rotation widgets until the
toggle is on; Python snaps too, so the result is correct regardless of
frontend version.
2026-09-03 02:26:27 -07:00
MachinePainting 2c2df98f0a v2.1.4 - Clear registry Icon metadata to fix broken avatar 2026-05-07 20:30:51 -07:00
MachinePainting de42b75641 Clear registry Icon metadata (registry expects URL not emoji) [skip ci] 2026-05-07 19:31:16 -07:00
MachinePainting 271b24849c v2.1.3 - Compat fixes: align OpenCV deps, Pillow Resampling, JS absolute imports, registry icon
- Aligned pyproject.toml and requirements.txt to opencv-python-headless (resolves install conflicts on headless servers)
- Replaced deprecated Image.LANCZOS with Image.Resampling.LANCZOS for Pillow 11+ compatibility
- Pinned numpy<3 to avoid breakage when NumPy 3 ships
- Standardized JS frontend imports to absolute /scripts/app.js paths
- Added emoji icon to [tool.comfy] registry metadata
2026-05-07 19:10:03 -07:00
MachinePainting c864dcf0f7 v2.1.2 - Fix frequency separation to match Photoshop, simplify Blur Pro and Inpaint Mask Pro
Fixes:
- Frequency Separate: locked to Photoshop Apply Image formula (Scale 2, Offset 128, Subtract), removed mode/epsilon
- Frequency Combine: locked to Linear Light blend, added opacity slider, removed mode/epsilon

Updates:
- Blur Pro: removed distance and iterations params, motion blur uses radius, box blur single pass
- Inpaint Mask Pro: removed SEGS support, inpaint_mask now required
2026-03-28 10:03:40 -07:00
MachinePainting 60e977c682 v2.1.1 - Add Mask Composite Pro 2X/6X, update Inpaint Mask Pro and Blur Pro
New Nodes:
- Mask Composite Pro 2X: combine 2 masks with per-mask blur/grow-shrink/opacity, screen blend, output selector, invert
- Mask Composite Pro 6X: combine up to 6 masks with same features

Updates:
- Inpaint Mask Pro: added expand/shrink, removed SEGS (simplified to image + mask), inpaint_mask now required, multi-color overlay
- Blur Pro: type-specific sliders marked as advanced for cleaner default view
- Widget visibility uses Python "advanced" flag for new ComfyUI frontend compatibility
- Added CLAUDE.md with versioning and registration rules
- Bump to v2.1.1, 40 nodes total
2026-03-28 06:43:19 -07:00
MachinePainting 95e4b9e2ce v2.1.0 - Add 6 new nodes: Blur Pro, Noise Grain Pro, Frequency Separate/Combine, Inpaint Mask Pro, Image <> Mask Switch
New Nodes:
- Blur Pro: 5 blur types (Gaussian, Surface, Box, Median, Motion) with dynamic UI, mask support, large radius optimization, preview
- Noise Grain Pro: Film grain with size, sharpness, color/mono, 6 blend modes, seed, mask support
- Frequency Separate: Split image into high/low frequency layers for retouching (subtract/divide modes)
- Frequency Combine: Recombine edited frequency layers
- Inpaint Mask Pro: Inpaint mask management with mask cropping, SEGS support, multi-color overlay preview
- Image <> Mask Switch: Toggle conversion between IMAGE and MASK types

Also: updated README, version bump to 2.1.0, added .claude/ and .codex/ to .gitignore
2026-03-27 22:41:06 -07:00
MachinePainting 2f6f72bb37 Bump version to 2.0.7 to republish updated description 2026-03-26 01:24:19 -07:00
MachinePainting fa17f5e7ba Update project description in pyproject.toml 2026-03-26 01:22:13 -07:00
MachinePainting aebc98af0a fix: add opencv-python-headless to requirements.txt
The requirements.txt was missing opencv-python-headless, which is
imported by 7 node files at the top level. When cv2 is not installed,
the entire module fails to load silently, causing KeyError for all
nodes including SeedLock.
2026-03-09 03:11:16 -07:00
MachinePainting 8c28fb25e8 v2.0.5 - Fix pyproject.toml version and correct node count 2026-03-08 11:16:57 -07:00
MachinePainting 40b9642eac v2.0.3 - Add Show Value, Mega Sliders X1/X3/X6/X12, Dynamic Value Range 2026-02-12 04:10:14 -08:00
MachinePainting dfb528694a v2.0.2 - Add Text Notes and Show Text nodes 2026-02-12 00:41:15 -08:00
MachinePainting 8d85dbd88d v2.0.1 - Improved curve smoothness with weighted tangent averaging 2026-02-02 04:17:17 -08:00
MachinePainting 3576ea3465 v2.0.0 - Added Curves, Remove Background, LUTs, Selective Color, Channel Masks, consolidated files 2026-02-02 01:22:59 -08:00
MachinePainting 24c55ec447 Add pyproject.toml for project configuration 2026-01-29 04:03:12 -08:00