package com.yaoai.domain.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.time.LocalDateTime;

@Data
@TableName("storyboards")
public class Storyboard {

    @TableId(type = IdType.ASSIGN_ID)
    private Long id;

    private Long projectId;
    private Long episodeId;
    private Long tenantId;

    private Integer sequenceNum;
    private String sceneNumber;
    private String shortDescription;
    private String detailedDescription;

    /** JSON 数组：[{id, name}] */
    private String characters;
    /** JSON 数组：[{character, text, emotion}] */
    private String dialogues;

    private String cameraDirection;
    private String compositionGuide;
    private Integer durationSeconds;
    private String motionScript;
    private String startFramePrompt;
    private String endFramePrompt;
    private String sceneRef;
    private String videoPrompt;
    private String notes;

    /** V16：分镜上落地的素材选择（编辑态记忆） */
    private String characterImageKeys;
    private String sceneImageKey;
    private String propImageKeys;
    private String styleImageKey;
    private String firstFrameImageKey;
    private String firstFrameImageUrl;
    private String lastFrameImageKey;
    private String lastFrameImageUrl;

    /** draft / review / approved / generating / generated / failed */
    private String status;

    private LocalDateTime createdAt;
    private LocalDateTime updatedAt;
}
