[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>