Move the LTX-2 family's PipelineConfig and the four LTX-2-specific
stage modules into fastvideo/pipelines/basic/ltx2/ so each model family
directory is self-contained (pipeline implementation + presets +
stage_overrides + pipeline_configs + stages in one place). See the
"Pipeline Package Structure" section in PR plan.md and the per-model
colocation plan in apirefactor.md Phase 8.
File moves (git mv preserves history):
fastvideo/configs/pipelines/ltx2.py
-> fastvideo/pipelines/basic/ltx2/pipeline_configs.py
fastvideo/pipelines/stages/ltx2_audio_decoding.py
-> fastvideo/pipelines/basic/ltx2/stages/ltx2_audio_decoding.py
fastvideo/pipelines/stages/ltx2_denoising.py
-> fastvideo/pipelines/basic/ltx2/stages/ltx2_denoising.py
fastvideo/pipelines/stages/ltx2_latent_preparation.py
-> fastvideo/pipelines/basic/ltx2/stages/ltx2_latent_preparation.py
fastvideo/pipelines/stages/ltx2_text_encoding.py
-> fastvideo/pipelines/basic/ltx2/stages/ltx2_text_encoding.py
Import/export updates:
- fastvideo/registry.py and tests/local_tests/test_ltx2_registry.py
now import LTX2T2VConfig from the new colocated path directly.
- fastvideo/configs/pipelines/__init__.py keeps the legacy
`fastvideo.configs.pipelines.LTX2T2VConfig` export by re-exporting
from the new location — external users of the old path keep working.
- fastvideo/pipelines/stages/__init__.py does the same for the four
LTX-2 stage classes, re-exporting from the new
pipelines/basic/ltx2/stages/ subpackage.
- new fastvideo/pipelines/basic/ltx2/stages/__init__.py is the
canonical home for the stage exports.
Parity-inventory walker (fastvideo/tests/api/test_schema_parity_inventory.py):
_get_extra_dataclass_fields now accepts a tuple of package roots and
descends recursively via pkgutil.walk_packages, so it discovers
PipelineConfig subclasses that have moved out of
fastvideo.configs.pipelines into fastvideo.pipelines.basic.<family>.
The pipeline_config_extensions classification test now walks both
roots so the LTX-2 fields (vocoder_config, audio_decoder_config,
vocoder_precision, audio_decoder_precision) stay accounted for.
Nothing else changes: no behavior change; no test changes beyond the
walker; all 210 API+entrypoints tests still pass.
tests/local_tests/ are local-only tests that require a checked-out LTX-2/
directory under the repo root (FastVideo/LTX-2). Without that repo, they
will skip or fail.
The CI-backed test suite still lives in fastvideo/tests/.