diffusers
57d04b4b - [LTX-2.5] inline the decode pipeline's thin wrapper methods into `__call__`

Commit
43 days ago
[LTX-2.5] inline the decode pipeline's thin wrapper methods into `__call__` `get_sigmas`, `tiled_decode` and `decode` were 2, 5 and 4 lines of delegation to the module-level functions that do the work, and none of them had a reason to be public. No `DiffusionPipeline` in the library exposes `decode` or `tiled_decode` — those live on autoencoders, seventeen of which have `tiled_decode` — and `get_sigmas` was the only one anywhere. Nothing outside our own tests called them; the docs use `decode_pipe(...)` throughout. They also offered half of an API rather than a whole one: `pipe.decode` returned a bare tensor and took `sigmas`, where `vae.decode` returns `DecoderOutput` and takes `timestep`. A surface that resembles the autoencoder's without matching it is worse than not having one. So `__call__` resolves the sigmas and routes on the size gate itself, which is where a reader of a pipeline looks for it. It lands at 29 lines — still short, because denormalize/decode/postprocess really is the whole job, but the tiling gate is now visible in it. The routing test moves with the gate: it drives `__call__` and patches the module's `_tiled_decode`, which tests the dispatch that exists rather than an instance attribute standing in for it. The other tiling tests name the path they want instead of routing, so the gate is asserted in exactly one place and not reimplemented in the helper that would make that assertion circular. Bit-exact against the pre-move decode on all six cases; the gate is mutation-checked in both directions. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Author
Parents
Loading