Commit Graph
15 Commits
Author SHA1 Message Date
Jason HokuandClaude Opus 4.7 4fb4fea5ed fix: lock Compare Strengths to single-bracket form (no Cartesian)
When the user types '0.5, 1.0' they want 2 outputs (lora at 0.5, lora
at 1.0 — both model and clip mirroring), not 4 outputs (Cartesian
m×c). The bug was that we wrote both _model AND _clip side-channel
arrays, so Python emitted 'name:[m]:[c]' which the orchestrator
correctly interpreted as Cartesian.

JS: collapse the two-input compare section to a single 'Strengths:'
input. Never write _clip to lora_weight_arrays.

Python: process_lora_array now emits 'name:[m_arr]' (no clip part)
when only _model array is present. The generator's existing
parse_lora_definition defaults clip=model when the third segment
is missing, giving N configs with locked semantics.

Drops the Cartesian path entirely. Backward compat retained: if a
saved workflow has both arrays (legacy), the dual-bracket form is
still emitted so the orchestrator can Cartesian-expand as before.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-07 11:27:39 -07:00
Jason HokuandClaude Opus 4.7 3e9f9316c9 test: add 6 golden regression tests for state_to_configs_json
Covers single-lora pass-through, multi-lora combine with ' + ',
folder ref un-expansion, folder+brackets excluded from combine,
bypassed lora exclusion, and ltx_video model_type propagation.
Also tightens the existing bracket-array test from substring match
to exact string equality and removes the unused pytest import.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-07 09:54:12 -07:00
Jason HokuandClaude Opus 4.7 d07657c85b refactor: extract state_to_configs_json as single transformer
Eliminates the JS<->Python drift bug class by making one Python function
the source of truth for state -> configs_json. Both the runtime
(generate_config) and the new preview endpoint (next commit) call it.
Adds golden test for the lora-strength-arrays bracket case that just
broke (regression guard).

Also loads the real config_builder_node module in conftest.py (instead
of a bare stub) so that tests against UltimateConfigBuilder methods work
correctly. Stubs network_utils before loading to satisfy the relative
import.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-07 09:44:12 -07:00
Jason Hoku 0f8c25a588 feat: input_image folder expansion for ltx i2v sweeps 2026-04-25 20:23:11 -07:00
Jason Hoku 16b792601e test: update manifest entry test for image_path mirror 2026-04-25 20:13:39 -07:00
Jason Hoku d58f00a4d0 feat: ltx manifest entry builder, video media_type (manifest_utils.py untouched) 2026-04-25 17:53:30 -07:00
Jason Hoku 166ca832b2 feat: ltx-aware sort order for cache locality 2026-04-25 17:51:42 -07:00
Jason Hoku 2ccef19837 feat: ltx two-stage video generation pipeline (t2v, audio always-on) 2026-04-25 16:59:39 -07:00
Jason Hoku b90aa1b893 feat: ltx dual-clip prompt encoding with LTXVConditioning wrapping 2026-04-25 16:57:27 -07:00
Jason Hoku 94694ec07a feat: ltx model loading with per-file caching 2026-04-25 16:56:15 -07:00
Jason Hoku 6afd31602f feat: ltx preflight validation (nodes, ffmpeg, model files, sigmas) 2026-04-25 16:52:04 -07:00
Jason Hoku dca70cb90f feat: cache key for ltx_video model_type 2026-04-25 16:48:32 -07:00
Jason Hoku ef866b50db feat: cartesian expansion for ltx fields with audio_mode 'both' normalization 2026-04-25 16:43:08 -07:00
Jason Hoku 69830a3aef fix: parse_sigmas rejects trailing/leading/double commas 2026-04-25 16:39:34 -07:00
Jason Hoku 1ea4d7892d feat: ltx sigma string parser with tests 2026-04-25 16:34:19 -07:00