SIGN IN SIGN UP

fix(comfyui): 4 ComfyUI integration gaps blocking 0.0.12 ship goals

#397 QwenImageLayered RGBA ref + multi-layer output:
  - Generate stages an RGBA ref as a real PNG (not the RGB-only QFRAW01
    blob) for QwenImageLayered, whose VAE encoder loads at channels=4 →
    engine takes cv::imread(IMREAD_UNCHANGED); a raw QFRAW blob there
    failed "Failed to load image: /dev/shm/*.qfraw".
  - worker reads N RGBA layers via quantfunc_image_count/_channels/
    _float_data (hasattr-guarded for older .so), emits layers_f32; node
    _read_image splits [N,H,W,C] → IMAGE [N,H,W,3] + MASK [N,H,W].
  - new nodes QuantFuncLayeredConfig (per-gen layer count) +
    QuantFuncLayerViewer (web/qf_layer_viewer.js) + MASK output port.

#398 text_precision dropdown: add "bf16" (Klein-base text encoder is
  BF16; node rejected it with HTTP 400 value_not_in_list).
#399 vae_precision dropdown: add "bf16" (same, Klein-base VAE).

#408 SVDQ staging VAE "post_quant_conv.bias not found":
  - nunchaku_svdq: detect ZImage arch (was hardcoded QwenImage even for
    ZImageTransformer2DModel → wrong VAE/TE/tokenizer config).
  - only set vae_comfyui_alias for an actually ComfyUI-FLAT VAE; a
    diffusers-native VAE (diffusion_pytorch_model.safetensors with
    post_quant_conv.*) is read directly — aliasing it remapped
    post_quant_conv.bias → conv2.bias → not found.
  - bundle the per-arch text_encoder/transformer/scheduler configs the
    staging path reads (parallel to the already-tracked vae_configs).

Engine .so (0.0.12) unchanged.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Y
yejianhui committed
049c5dc2ad4c001349a25e3e332d74840d6f0dd5
Parent: c46476d