Commit Graph
6 Commits
Author SHA1 Message Date
Isulion c11c86dc20 fix(collage): port react-IsuCollage layout algorithm with native image sizes
- IsuCollageNode: faithful port of ImageProcessor.calculateLayout
  (float rects, per-row scaling factor) validated bit-exact against the
  TypeScript original over 63 cases; optional 'width' widget (default 1024)
- load_images_node: stop padding images to a uniform size (that destroyed
  aspect ratios and leaked black bands into tiles); output is now an
  OUTPUT_IS_LIST of native-size tensors, matching the React app behavior
- IsuCollageNode: INPUT_IS_LIST to receive the full list in one call;
  unwrap scalar widgets that ComfyUI also wraps in lists (seed/width)
- Rasterization snaps float rects via cumulative rounding so the <=1px
  error spreads across all tiles instead of the last one; rows always
  fill the canvas width exactly
2026-08-22 16:25:42 +02:00
Isulion fc903d4acf refactor!: v6.0.0 — seeding, sandbox FS, decorator registry, security
Breaking changes:
- Same seeds now yield different prompts than 5.x (reproducibility fixed)
- Civitai Trending: removed broken 'model' filter widget
- Shutdown node is a no-op unless ISULION_ENABLE_SHUTDOWN=1

Highlights:
- Seeding: all 109 theme handlers share the seeded ConfigManager PRNG
  (284 global random.* call sites migrated); same seed => same prompt
- Theme registry rewritten with @register_theme decorators; removed
  HANDLER_CLASS_NAMES_MAP, star-imports and globals() lookups
- Shared ThemeRegistry singleton: INPUT_TYPES no longer re-reads ~100
  JSON files per call (2.6ms -> 0.003ms cached)
- load_images_node: paths sandboxed to ComfyUI input dir, deterministic
  sha1 IS_CHANGED, PIL context managers, no bare excepts
- Overlay node: full batch support, base channel count preserved
  (RGB in -> RGB out), pass-through on internal errors
- QR node: vectorized module drawing (np.kron), logging instead of prints
- New net_utils.safe_download: http(s)-only scheme + 20MB cap for URL
  fetching nodes (SSRF/decompression-bomb hardening)
- Removed unused soft_empty_cache() calls, dead code (culinary_handler,
  IsulionCategorySelector, orphan Core_Nodes/config dir, dead js ext),
  invalid WEB_DIRECTORY; fixed display-name mappings
- s300 handler: fixed call to non-existent config method (latent crash)
- Added MIT LICENSE and requirements.txt (requests)
2026-08-22 15:16:55 +02:00
Isulion 0fd506b15f Fix Multiple Prompt Generator + Factorisations 2026-07-30 23:39:45 +02:00
Isulion 0685a94a65 Fix Multiple Prompt Generator 2026-07-29 20:21:57 +02:00
Isulion b4fdbeb66f Fix Multiple Prompt Generator 2026-07-29 20:10:42 +02:00
Isulion 38b88178a1 fix directory structure 2024-12-12 12:32:48 +01:00