| """Materialize all LTX 2.3 model files for every mode by walking each template.""" |
|
|
| from __future__ import annotations |
|
|
| import pathlib |
| import sys |
|
|
| |
| |
| _PROJECT_ROOT = pathlib.Path(__file__).resolve().parent.parent |
| if str(_PROJECT_ROOT) not in sys.path: |
| sys.path.insert(0, str(_PROJECT_ROOT)) |
|
|
| import models |
| from workflow import VALID_MODES, load_template |
|
|
|
|
| def main() -> int: |
| needed: set[str] = set() |
| for mode in VALID_MODES: |
| try: |
| wf = load_template(mode) |
| needed.update(models.walk_workflow_for_models(wf)) |
| except FileNotFoundError: |
| print(f" WARNING: workflows/{mode}.json missing — run tools/extract_modes.py first") |
| if not needed: |
| print("Nothing to do.") |
| return 0 |
| print(f"Materializing {len(needed)} model files...") |
| for event in models.ensure_models(needed): |
| marker = "OK" if event.mb_done >= event.mb_total else "DL" |
| print(f" [{marker}] {event.filename} {event.mb_done:.1f}/{event.mb_total:.1f} MB") |
| print("Done.") |
| return 0 |
|
|
|
|
| if __name__ == "__main__": |
| sys.exit(main()) |
|
|