"use client"; import { Box, Globe2, Loader2, RefreshCw, Zap } from "lucide-react"; import { Button } from "@/components/ui/button"; import { Dialog, DialogContent, DialogFooter, DialogHeader, DialogTitle, } from "@/components/ui/dialog"; import { Label } from "@/components/ui/label"; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from "@/components/ui/select"; import { Textarea } from "@/components/ui/textarea"; interface ThreeDModelOption { id: string; displayName: string; description?: string | null; } type ThreeDGenerationDialogMode = "model" | "world" | null; interface PromptRegenerateDialogProps { isProcessing: boolean; nodeId: string; onConfirm: () => void; onOpenChange: (open: boolean) => void; onPromptChange: (value: string) => void; open: boolean; prompt: string; } interface ThreeDGenerationDialogProps { costLabel?: string; costShortLabel?: string | null; isProcessing: boolean; mode: ThreeDGenerationDialogMode; onConfirm: () => void; onModeChange: (mode: ThreeDGenerationDialogMode) => void; onTripoModelChange: (value: string) => void; onWorldModelChange: (value: string) => void; selectedTripoModelEntry?: ThreeDModelOption | null; selectedTripoModelVersion: string; selectedWorldModelEntry?: ThreeDModelOption | null; selectedWorldModelVersion: string; tripoModelOptions: ThreeDModelOption[]; worldModelOptions: ThreeDModelOption[]; } export function PromptRegenerateDialog({ isProcessing, nodeId, onConfirm, onOpenChange, onPromptChange, open, prompt, }: PromptRegenerateDialogProps) { return ( 提示词重绘

在保留当前图片主体的基础上,用新提示词生成一张新图。原图不会被覆盖。