v0.1.5 — STRING output path + custom save prefix + optional auto-save
Three additive widget upgrades on `Pixal3DImageToMesh`. Purely wrapper-layer; the underlying `pipeline.run()` integration is byte-identical to v0.1.4 and remains live-validated. Defaults preserve existing behavior.
New widgets
- `save_to_output_dir` (BOOLEAN, default `True`) — when `False`, skip the auto-save of the GLB to `ComfyUI/output/`. Useful for chained workflows that export downstream via `Trellis2ExportTrimesh` / `SaveGLB`.
- `output_filename_prefix` (STRING, default `"pixal3d"`) — customize the saved GLB's filename prefix. Final name: `<unix_ns>.glb`. Sanitized to ASCII alnum + `_-` so no path traversal.
- `keep_warm` (from v0.1.4) unchanged.
New output port
`RETURN_TYPES` extended 4-tuple → 5-tuple:
- `glb_path` (STRING) — absolute path of the saved GLB. Connect directly into `Preview3D`'s `model_file` slot to skip the explicit `Trellis2ExportTrimesh` hop. Empty string when `save_to_output_dir=False`.
Diagnostic logging
`Pixal3DLoadPipeline` now logs per-stage timing (pipeline load, MoGe load, total). When a cold-load takes 8+ minutes, users can see which phase is the bottleneck instead of staring at silence.
What we deliberately didn't add
Investigated and ruled out:
- `use_tiled_decoder` widget (TRELLIS2's 1536_cascade fix) — lives in their wrapper layer that calls Pixal3D sub-methods directly. Adopting it = rewriting our single-node design into a multi-node graph. See README's Upstream Roadmap.
- `pipeline_type` modes `"512"` and `"1024"` (non-cascade) — Tencent's `pipeline.run()` raises `ValueError("Invalid pipeline type for Pixal3D proj mode")` for those values. They only exist in TRELLIS2's per-stage architecture.
- Pixal3D-T model variant — separate Tencent model marked "not compatible with all nodes" upstream. Defer.
Backward compatibility
Every existing workflow JSON keeps loading. The new widgets have defaults that produce the v0.1.4 behavior. The new STRING return port is the 5th slot — existing workflows wired to ports 0-3 keep working unchanged.
Full diff: v0.1.4...v0.1.5