package com.yaoai.pipeline.service;

import com.yaoai.domain.entity.Character;
import com.yaoai.domain.entity.Scene;

import java.io.InputStream;
import java.util.List;

public interface AssetGenPipelineService {

    List<Character> extractCharacters(Long projectId, Long tenantId);

    List<Scene> extractScenes(Long projectId, Long tenantId);

    /** Generate three standardized character turnaround views: front, side, and back. */
    Character generateCharacterImage(Long characterId, Long tenantId);

    Scene generateSceneImage(Long sceneId, Long tenantId);

    List<Character> listCharacters(Long projectId, Long tenantId);

    List<Scene> listScenes(Long projectId, Long tenantId);

    Character saveCharacter(Character character);

    Scene saveScene(Scene scene);

    void deleteCharacter(Long id, Long tenantId);

    void deleteScene(Long id, Long tenantId);

    Character uploadCharacterImage(Long characterId, Long tenantId, String viewType,
                                   InputStream stream, long size, String contentType, String ext);

    Scene uploadSceneImage(Long sceneId, Long tenantId, InputStream stream, long size, String contentType, String ext);
}
