"""
Dagster project for pickleball ball tracking with 3D coordinates
"""

from dagster import Definitions
from dagster_project.assets import (
    extract_video_frames,
    detect_court_keypoints,
    detect_ball_positions,
    visualize_ball_on_court,
    detect_net,
    calibrate_camera_3d,
    compute_ball_3d_coordinates,
    create_interactive_viewer
)
from dagster_project.io_managers.json_io_manager import json_io_manager

defs = Definitions(
    assets=[
        extract_video_frames,
        detect_court_keypoints,
        detect_ball_positions,
        visualize_ball_on_court,
        detect_net,
        calibrate_camera_3d,
        compute_ball_3d_coordinates,
        create_interactive_viewer
    ],
    resources={
        "json_io_manager": json_io_manager
    }
)
