Three bugs in pipeXYPlotAdvanced.plot():
1. X/Y inputs can arrive as tuples in certain ComfyUI configurations,
causing `AttributeError: 'tuple' object has no attribute 'get'`.
Added isinstance check to unwrap single-element tuples.
2. Seeds++ Batch used `if new_pipe['seed']:` which:
- Raises KeyError when 'seed' key is absent
- Silently skips seed generation when seed is 0 (a valid seed)
Changed to `new_pipe.get('seed') or 0` for safe fallback.
3. `!= None` → `is not None` per PEP 8.
* Fixed the LoRA handling bug in [`py/libs/xyplot.py:365-395`](py/libs/xyplot.py:365).
The original code used an if/else pattern that only processed one LoRA at a time:
```python
xy_values = x_value if self.x_type == "Lora" else y_value
```
This caused issues when both X and Y axes contained LoRAs - only the X axis LoRA was processed, and when only Y had LoRAs, the latent array wasn't populated correctly.
The fix now:
1. Creates an empty `lora_stack` list
2. Adds the X axis LoRA to the stack if `self.x_type == "Lora"`
3. Adds the Y axis LoRA to the stack if `self.y_type == "Lora"`
4. Appends any existing `plot_image_vars['lora_stack']` to the combined stack
5. Applies all LoRAs in sequence
This ensures both X and Y LoRAs are properly combined and applied when both axes contain LoRA values, fixing the `IndexError` in `rearrange_tensors()` that occurred due to mismatched latent array dimensions.
* Fixed: get_labels_and_sample loop structure (lines 588-623)
The IndexError persisted because the latent array length didn't match the expected grid dimensions. The issue is in the nested loop structure of get_labels_and_sample()
When only Y-axis has LoRA values (X is "None"), the nested loops don't generate the correct number of latents:
This results in 0 latents instead of len(y_values) latents, causing the IndexError in rearrange_tensors()
Replaced the nested loop structure with three explicit cases:
X-only variation (self.y_type == 'None'): Iterates over X values only
Y-only variation (self.x_type == 'None'): Iterates over Y values only
Both X and Y variation: Nested iteration over both axes
This ensures the correct number of latents are generated for all scenarios, fixing the IndexError in rearrange_tensors() that occurred when only Y-axis had values (like LoRAs).
* Fix for the LoRA label generation logic in [`py/libs/xyplot.py`](py/libs/xyplot.py:63-69). The changes made to the `define_variable()` method:
1. **Reduced model name truncation** from 30 to 25 characters to leave room for weight information
2. **Changed weight format** from `(0.50)` to ` w:0.50` for better visibility
3. **Only show weight when it differs from default** (1.0) - this ensures weight is displayed for non-default values
4. **Added bounds check** for `len(arr) > 3` before accessing `arr[3]` to prevent potential IndexError
Now when using the same LoRA with different weights (e.g., LoRA A at 0.5 and 1.0), each variation will have a distinct label in the axis, making it clear which weight is being applied in each column/row of the XY plot.
ComfyUI removed the `flipped_img_txt` attribute from `DoubleStreamBlock`
in a recent refactor (commit e1add563f, "Use torch RMSNorm for flux
models and refactor hunyuan video code"). This causes an AttributeError
when IPAdapter Flux nodes are executed.
Use `getattr` with a default of `False` (matching the original default)
to maintain compatibility with both old and new ComfyUI versions.
- Global control to enable or disable angle prompts
- Added `Hollow Mode` for more intuitive visualization
- Removed label quantity limit; now supports unlimited additions
- Label addition button will copy parameters from the selected page
- Double-clicking any face of the cube quickly switches camera angles for easier operation
- 全局控制是否添加角度提示词
- 新增了`镂空模式`,可更直观地展示
- 去除标签限制个数,可添加无数个
- 标签添加按钮将复制选中页的参数
- 双击正方体的每一面可以快速切换摄像机角度,便于操作
- Set offset max to MAX_SEED_NUM (1125899906842624) instead of default 2048
- This allows accessing all items in large wildcards (e.g., 100k lines)
- Previously, only the first 2048 items were accessible due to ComfyUI frontend default limit