6 Commits
Author SHA1 Message Date
EnragedAntelope c385f389ee v2.4.1: queue-time validation, absolute pixel ceiling, CI hardening
- Reject invalid configs in validate_inputs instead of mid-execution:
  Strict-mode multiple_of above max_res, out-of-range min_res/max_res/
  multiple_of, and unknown constraint modes
- Share the resolution and multiple_of bounds between define_schema() and
  validate_inputs() so the widget and the queue-time check cannot drift
- Cap the min-res pixel budget at an absolute 64 MP, floored at max_res
  squared; the multiplier alone permitted ~12 GB outputs at max_res=8192
- Warn on large upscales in Strict mode as well as min-res mode
- Pin GitHub Actions by commit SHA on node24-native majors; drop issues:write
  from the publish workflow and set contents:read on both
- Pin Comfy-Org/publish-node-action to the commit @v1 resolves to; the 1.0.1
  tag calls `comfy tracking disable`, removed from comfy-cli
- Add requirements-ci.txt with pip caching; add ruff config and a CI lint step
- Add schema-contract, tooltip, budget, crop-guard and validation tests
- Replace typing.Tuple with tuple
- Bump version to 2.4.1
2026-08-24 14:11:51 -04:00
EnragedAntelope 2bc791c5d5 v2.4.0: fix memory exhaustion, silent no-ops, and disabled input validation
- Refuse extreme-aspect-ratio upscales that would exhaust memory (1x690 at
  default settings asked for 704x485760, ~4 GB per batch item)
- Raise instead of returning a zero dimension when multiple_of exceeds max_res
  in Strict mode, and when a thin strip truncates to zero at multiple_of=1
- Drop **kwargs from validate_inputs, which disabled ComfyUI's own range and
  combo-option checks for every input on the node
- Resize once on the crop path instead of computing and discarding a resize
- Compare exact aspect ratios rather than 4-decimal rounded ones when deciding
  whether to crop
- Reject unknown constraint modes rather than applying neither limit
- Log the reason when the pack fails to import
- Bump version to 2.4.0
2026-08-24 14:11:42 -04:00
Claude 4a45a53ec5 Add CI test workflow and harden execute() edge cases
- Add .github/workflows/test.yml: runs the pytest suite on push/PR
  across Python 3.10/3.11/3.12. comfy_api is mocked in conftest.py,
  so no ComfyUI install is required.
- execute(): pass a zero-dimension (malformed/empty) input tensor
  through unchanged instead of crashing the resizer.
- execute(): warn when "Prioritize Min Resolution" forces a large
  upscale (>4x) on an extreme aspect ratio, pointing at the strict
  mode as the size-capping alternative.
- Add regression tests for the zero-dim passthrough and the
  extreme-upscale warning.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SqaVwWKNn9bsmmhUkJXhZ2
2026-07-24 16:53:14 +00:00
EnragedAntelopeandClaude Fable 5 499e5a0078 Enforce min_res guarantee after nearest-multiple rounding
Nearest-multiple rounding could drop a dimension below min_res in
min-res mode (e.g. min_res=1100, multiple_of=256 -> 1024); bump such
dimensions to the next multiple instead.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 17:25:38 -04:00
EnragedAntelopeandClaude Fable 5 df2f96303a v2.3.0: resize method selection, crop fix, dependency cleanup
- Add resize_method input (lanczos default, bicubic, bilinear,
  nearest-exact, area) backed by comfy.utils.common_upscale, with
  F.interpolate fallback outside ComfyUI; clamp bicubic/lanczos
  overshoot to [0, 1]
- Fix rare off-by-one where the crop-path intermediate resize could
  truncate below the target dimension, yielding output 1px smaller
  than the reported width/height
- Replace StrEnum with (str, Enum) so the pack imports on Python 3.10
- Remove unused numpy dependency from requirements.txt and pyproject
- Switch print() to logging (crop notices at debug level)
- Bump version to 2.3.0, sync README (inputs, technical details,
  version history), add requires-python
- Stop tracking .claude/settings.local.json; expand tests to 36
  covering execute() output shapes, all resize methods, crop positions

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 14:15:28 -04:00
EnragedAntelope 3cc8c9e197 Refactor ConstrainResolution logic and add tests for dimension calculations 2026-04-18 15:58:07 -04:00