# ruff: noqa: T201
"""Kalman tracker visualization for several motion models.

Run with:
    python -m gri_sandbox.kalman_tracker_demo.main

Runs all four demo modules in sequence. Each can also be run
independently -- see docstrings in each demo file.
"""

from __future__ import annotations

from gri_sandbox.kalman_tracker_demo.demo_imm import main as imm_main
from gri_sandbox.kalman_tracker_demo.demo_segmented_imm import (
    main as segmented_imm_main,
)
from gri_sandbox.kalman_tracker_demo.demo_smart_imm import main as smart_imm_main
from gri_sandbox.kalman_tracker_demo.demo_smart_segmented_imm import (
    main as smart_segmented_imm_main,
)


def main() -> None:
    """Run all kalman tracker demos."""
    imm_main()
    smart_imm_main()
    segmented_imm_main()
    smart_segmented_imm_main()

    print("\nAll demos done.")


if __name__ == "__main__":
    main()
