"use client"; import { useCallback, useState } from "react"; import { Sparkles } from "lucide-react"; import { Button } from "@/components/ui/Button"; import { Field } from "@/components/ui/Field"; import { SectionHeader } from "@/components/ui/SectionHeader"; import { TextArea } from "@/components/ui/TextArea"; import { worldEntityRules } from "@/lib/generation/cards"; import { useWorldGen } from "@/lib/generation/useWorldGen"; interface WorldGeneratorProps { projectId: string; } // 世界观设计器(UX §6.5):一句话需求 → 预览实体卡(type/name/rules)。 // 本期世界观入库端点未建(仅预览);预览结果供作者参考/复制。 export function WorldGenerator({ projectId }: WorldGeneratorProps) { const gen = useWorldGen(); const [brief, setBrief] = useState(""); const onGenerate = useCallback(async () => { await gen.generate(projectId, brief); }, [gen, projectId, brief]); const generating = gen.status === "generating"; return (