from core.models import Project, PipelineStep, CgiAsset

def run():
    # Clear existing data
    PipelineStep.objects.all().delete()
    CgiAsset.objects.all().delete()
    Project.objects.all().delete()

    # Create a Movie Project
    p1 = Project.objects.create(
        title="O Último Guardião",
        project_type="MOVIE",
        status="PROD",
        description="Um épico de ficção científica sobre o último protetor de uma civilização esquecida. Foco em CGI fotorrealista e ambientes vastos."
    )

    steps = [
        ('SCRIPT', 100, True),
        ('CONCEPT', 100, True),
        ('ANIMATIC', 100, True),
        ('MODELING', 85, False),
        ('TEXTURING', 60, False),
        ('RIGGING', 40, False),
        ('ANIMATION', 20, False),
        ('LIGHTING', 10, False),
        ('FX', 5, False),
    ]

    for name, progress, completed in steps:
        PipelineStep.objects.create(
            project=p1,
            name=name,
            progress=progress,
            is_completed=completed
        )

    CgiAsset.objects.create(project=p1, name="Kaelen (Herói)", asset_type="CHAR", is_realistic=True, current_stage="Rigging")
    CgiAsset.objects.create(project=p1, name="Cidade Flutuante", asset_type="ENV", is_realistic=True, current_stage="Texturing")

    # Create a Series Project
    p2 = Project.objects.create(
        title="Crônicas de Cyber-Rio",
        project_type="SERIES",
        status="PRE",
        description="Série de animação estilizada ambientada em um Rio de Janeiro futurista. Mistura de 2D e 3D."
    )

    PipelineStep.objects.create(project=p2, name="SCRIPT", progress=100, is_completed=True)
    PipelineStep.objects.create(project=p2, name="CONCEPT", progress=40, is_completed=False)

    print("Demo data created successfully!")

if __name__ == "__main__":
    run()
