Commit Graph

13666 Commits

Author SHA1 Message Date
Vladimir Mandic d1ba7eceea Merge pull request #4910 from QualiaRain/fix/parser-metadata-keys
Fix compel prompt guard duplicate clause and PObject infotext key mismatches
2026-06-12 10:38:36 +02:00
Vladimir Mandic 79e7976522 Merge pull request #4908 from QualiaRain/fix/processing-helpers-fixes
Fix four small logic errors in modules/processing_helpers.py
2026-06-12 10:37:31 +02:00
Vladimir Mandic b31efdb75b Merge pull request #4909 from QualiaRain/fix/xyz-grid-state-fixes
Fix XYZ grid state leaks and sub-grid gallery leak
2026-06-12 10:35:59 +02:00
Vladimir Mandic 8d1ec67c4a Merge pull request #4907 from QualiaRain/fix/prompts-from-file-batch-save
Fix prompts-from-file batch save metadata misalignment
2026-06-12 10:34:39 +02:00
QualiaRain 58386c657d Fix XYZ grid state.end leak on invalid axis values in xyz_grid_on
Same except-path as the previous commit: jobid is begun before the
try block but never ended on the error return, mirroring the
xyz_grid.py fix.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-12 02:42:15 -04:00
Claude 1fdb9ecfdb Fix XYZ grid sub-grid count ignoring sub-grids created with the main grid
draw_xyz_grid inserts one sub-grid per Z value whenever the main grid
or sub-grids are enabled, but have_subgrids only counted them when
'Include sub grids' was checked. With main grid on and sub grids off,
the Z sub-grids leaked into the results as ordinary images (shown in
the gallery, fed into video creation, misaligning infotexts) and the
removal branch was unreachable since its condition contradicted itself.
Count sub-grids based on the same condition that inserts them.

https: //claude.ai/code/session_014QWKWgKvMevcuvfCnsYoT2
Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-12 02:41:29 -04:00
Claude 16145a5bdd Fix XYZ grid state leaks on invalid axis values
The always-on variant returned from its parse-error handler without
resetting the module-level active flag, silently disabling the XYZ grid
for every later generation until restart. The selectable variant
likewise returned without ending the job state it had begun.

https: //claude.ai/code/session_014QWKWgKvMevcuvfCnsYoT2
Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-12 02:41:29 -04:00
Claude e6c13aab37 Fix PObject metadata keys that never match parsed infotext
Infotext parsing produces 'Negative prompt' and 'Variation seed', but
the save-image PObject looked up 'Negative_prompt' and 'Subseed', so
images saved from restored metadata always lost their negative prompt
and variation seed. Use the keys the parser actually emits, matching
the sibling lookups like 'CFG scale'.

https: //claude.ai/code/session_014QWKWgKvMevcuvfCnsYoT2
Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-12 02:41:25 -04:00
Claude 077a82e99e Fix duplicated clause in compel prompt guard
The guard repeated 'conjunction.prompts is None' twice; the second copy
was meant to check for an empty list, so an empty (non-None) prompts
list raised IndexError inside the guard instead of returning the empty
fallback.

https: //claude.ai/code/session_014QWKWgKvMevcuvfCnsYoT2
Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-12 02:41:25 -04:00
QualiaRain 0002062367 Fix inverted lerp weights in slerp_alt near-parallel shortcut
Same inversion as the slerp() near-parallel shortcut: at val=0 the
expression returned hi instead of lo, opposite to both the
near-orthogonal shortcut and the general slerp path in the same
function.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-12 02:28:42 -04:00
Claude ace616d287 Fix inverted lerp weights in slerp near-parallel shortcut
The nearly-parallel fast path interpolated in the wrong direction:
at val=0 it returned hi instead of lo, opposite to both the general
slerp formula below and the sibling near-orthogonal shortcut. Affects
subseed/variation strength when base and subseed noise are nearly
parallel.

https: //claude.ai/code/session_014QWKWgKvMevcuvfCnsYoT2
Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-12 02:27:51 -04:00
Claude 26a58b46fb Fix seed 0 being dropped from generator seeds
The truthiness filter removed valid seed 0 from p.seeds, causing an
unseeded generator for single images and a generator/batch length
mismatch for batches. Filter only None entries; 0 is a legitimate seed
per get_fixed_seed.

https: //claude.ai/code/session_014QWKWgKvMevcuvfCnsYoT2
Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-12 02:27:51 -04:00
Claude e7d7e699e1 Fix latent concatenation running inside the loop in resize_hires
torch.cat was indented into the per-item loop, so with two or more
latents the first iteration replaced the list with a tensor and the
next iteration concatenated its dim-0 slices, destroying the batch
dimension. Concatenate once after the loop.

https: //claude.ai/code/session_014QWKWgKvMevcuvfCnsYoT2
Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-12 02:27:50 -04:00
QualiaRain d361705280 fix prompts-from-file batch save metadata misalignment
The script concatenated each per-line result's images and infotexts INCLUDING the per-line grid, while all_seeds/all_prompts hold only real images and the final Processed gets index_of_first_image=0. With batch count > 1 the interleaved grids shift every index, so the manual save button writes neighboring images' metadata and filenames (and indexes past the end of infotexts for the last image). Slice each per-line result from proc.index_of_first_image so grids never enter the combined result and all lists stay 1:1 with the gallery. Fixes #2385.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-12 01:58:37 -04:00
Vladimir Mandic df568f9d4b update changelog
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-06-11 14:30:55 +02:00
Vladimir Mandic d38feefebd Merge pull request #4905 from QualiaRain/fix/infotext-padding
Fix batch list padding in create_infotext corrupting infotext indices
2026-06-11 08:22:24 +02:00
Vladimir Mandic 745ccae962 Merge pull request #4904 from QualiaRain/fix/assorted-typos
Fix assorted small typos: dead __str__, unformatted messages, preview min-height
2026-06-11 08:20:07 +02:00
Vladimir Mandic 639f3c9a3e Merge pull request #4903 from QualiaRain/fix/mixture-tiling-dimensions
Fix transposed tile dimensions in mixture tiling script
2026-06-11 08:12:58 +02:00
QualiaRain 2b9a387670 fix transposed tile dimensions in mixture tiling script
tile_width/tile_height and tile_col_overlap/tile_row_overlap were cross-assigned from p.height/p.width, transposing output geometry for every non-square tile size. Fixes #4902.
2026-06-11 02:04:14 -04:00
Claude 7d1ba849e1 fix batch list padding in create_infotext corrupting infotext indices
padding loops used insert(0) which shifts existing prompt/seed entries
to higher indices, so subsequent index lookups - including the caller's
own p.prompts[i]/p.seeds[i] reads on the same aliased lists - return
values belonging to a different image; append preserves existing
index-to-entry mapping and pads missing slots at the end

https://claude.ai/code/session_01UZT4ypkGQH5fzJ89dXPFYp
2026-06-11 01:42:42 -04:00
QualiaRain 148a7883a2 Fix assorted small typos: dead __str__, unformatted messages, preview min-height, tooltip
- processing.py: __str___ misspelled dunder never dispatched; rename to __str__
- demofusion.py: missing f-prefix printed literal {width}x{height} in user-facing error
- sparse_backend.py: missing f-prefix printed literal {size} in ValueError
- generation_parameters_copypaste.py: debug message typo 'Not not registered'
- progressBar.ts: live-preview gallery minHeight computed from naturalWidth; mirrors the adjacent maxHeight line (naturalHeight)
- settings.ts: stray } in settings-tab tooltip
2026-06-11 01:42:29 -04:00
Vladimir Mandic e10b45d815 Merge pull request #4901 from liutyi/dev
Ideogram 4 two reference images
2026-06-10 13:22:39 +02:00
Oleksandr Liutyi 7eb3676ff8 Ideogram 4 two reference images 2026-06-10 10:28:27 +00:00
Vladimir Mandic a8b0f66ef9 downgrade diffusers
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-06-10 11:57:34 +02:00
Vladimir Mandic e53c8ef1da bump transformers and diffusers
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-06-10 08:30:44 +02:00
Vladimir Mandic ee3a466ad9 patch getexif
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-06-10 08:20:25 +02:00
Vladimir Mandic 72b2f0d7be bump compel
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-06-10 08:09:00 +02:00
Vladimir Mandic f4a03d4510 Merge pull request #4900 from vladmandic/fix/sampler-fallback-paths
Fix/sampler fallback paths
2026-06-10 07:24:12 +02:00
CalamitousFelicitousness a3407efa81 test: add sampler differential API tester
Drives txt2img/img2img with the full per-sampler scheduler-option matrix
(sigma method, prediction type, timestep spacing, beta schedule, solver
order, shift, low order, thresholding, dynamic shift, rescale betas), one
option at a time over a pinned baseline, and measures every case against
the default: applied, inert, marginal, rejected, or fallback. Detects
silent fallback via the infotext Scheduler class and annotates every saved
image with its full requested configuration. --sweep runs a reduced matrix
per sampler and emits an empirical capability report.
2026-06-10 03:08:20 +01:00
CalamitousFelicitousness 47aa9a2c93 fix(samplers): report validation failures without backtrace
Sampler capability gates raised plain ValueError when schedulers_fallback is
disabled, so the API middleware and the gradio call wrapper printed a full
backtrace for an expected outcome. Add errors.ValidationError, raise it from
the gates, and report it message-only in errors.display; the UI error box and
the API error response already carry the message.
2026-06-10 03:08:20 +01:00
CalamitousFelicitousness 1d5fbc60e5 feat(samplers): wire sigma transforms into ER-SDE FlowMatch presets
The ER-SDE FlowMatch presets carried only use_flow_sigmas, so the sigma
method selector could not drive karras/beta/exponential for the FlowMatch
variants. Add use_karras_sigmas/use_exponential_sigmas/use_beta_sigmas to
match the plain ER-SDE presets and the Euler/UniPC/Flash FlowMatch presets,
which use the same boolean-flag mechanism.
2026-06-10 03:08:20 +01:00
CalamitousFelicitousness e783981f3d fix(samplers): honor fallback setting in remaining sampler fallback paths
create_sampler restored the model default scheduler on a prediction-type
mismatch, on an unknown sampler config, and on any scheduler-constructor
exception regardless of schedulers_fallback; only SD_SAMPLER_DEBUG could turn
the prediction mismatch into an error. Raise like the other capability gates
when the fallback setting is disabled.

An unresolved sampler name substituted UniPC before any of those gates could
run; pass the requested name through instead, so it falls back to the model
default (or raises when fallback is disabled) and the infotext records
Default rather than the unresolved name. find_sampler now also resolves an
unspecified sampler to Default instead of UniPC, matching the platform
default used everywhere else.
2026-06-10 03:08:20 +01:00
CalamitousFelicitousness 40cf818f72 feat(samplers): apply sigma transforms to ER-SDE flow sigmas
In flow mode ER-SDE only ran karras/beta/exponential on the VP path and
silently dropped them, unlike FlowMatchEuler and DPM FlowMatch which
redistribute the shifted flow sigmas. Apply the same transform to the
flow sigmas in _setup_flow so the sigma method works in flow mode and
the ER-SDE FlowMatch variants gain karras/beta/exponential. Default flow
schedule is unchanged.
2026-06-10 03:08:20 +01:00
CalamitousFelicitousness 7084ac2c81 fix(samplers): warn or raise when sampler lacks selected sigma method
The sigma-method override silently fell back to the sampler's default
schedule when the selected method has no matching config key. Now warns and
uses the default schedule with schedulers_fallback enabled, or raises like
the other capability gates when it is disabled.
2026-06-10 03:08:20 +01:00
CalamitousFelicitousness f59e32ff17 feat(samplers): add sigma-schedule parity to ER-SDE
ERSDEScheduler now accepts use_karras_sigmas, use_exponential_sigmas,
use_beta_sigmas, and use_flow_sigmas, matching the other flow schedulers.
The VP path derives alpha/sigma/lambda from the k-diffusion sigma so the
karras/beta/exponential transforms can use fractional timesteps; the
default schedule is numerically unchanged. use_flow_sigmas triggers flow
mode and add_noise tolerates fractional timesteps.

Wire the new keys into the ER-SDE presets so the sigma method selector
drives them, and cover ER-SDE in the scheduler stability test.
2026-06-10 03:08:20 +01:00
Disty0 d1ed1f7c93 SDNQ add Ideogram4Transformer2DModel keys 2026-06-10 03:20:57 +03:00
Vladimir Mandic deaff7f16e update changelog
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-06-09 19:37:02 +02:00
Vladimir Mandic efe9a1f348 two-way image resize ui/kanvas
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-06-09 19:33:44 +02:00
Vladimir Mandic 2313da729e Merge pull request #4899 from liutyi/dev
Ideogram 4 reference image
2026-06-08 23:03:01 +02:00
Vladimir Mandic af0ccf1b63 add ideogram prequant and set default schedule
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-06-08 17:20:12 +02:00
Vladimir Mandic 84228f1657 update sampler behavior and user definable fallback
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-06-08 17:00:00 +02:00
Oleksandr Liutyi ac8734dcb2 Ideogram 4 reference image 2026-06-08 13:34:49 +00:00
Vladimir Mandic 8a85178f93 logical-vs-physical param count
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-06-08 12:03:37 +02:00
Vladimir Mandic d710b7d766 fix ideogram tokens device placement
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-06-08 10:21:48 +02:00
Vladimir Mandic f27c8584ee fix xpu generator
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-06-08 10:18:12 +02:00
Vladimir Mandic fefa1f210d fix sdnq svd
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-06-08 10:12:17 +02:00
Vladimir Mandic 98195a16b9 schedulers remove false positives
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-06-08 09:14:48 +02:00
Vladimir Mandic 191bd93011 implement missing params in some schedulers
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-06-08 09:08:07 +02:00
Vladimir Mandic cad27637b4 schedulers validate ui sections
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-06-08 08:58:13 +02:00
Vladimir Mandic 0834ea41e9 update skills
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-06-08 08:35:47 +02:00