diff --git a/components/canvas/RealtimeCanvasDialog.tsx b/components/canvas/RealtimeCanvasDialog.tsx index dc3c1eb28..0d3278395 100644 --- a/components/canvas/RealtimeCanvasDialog.tsx +++ b/components/canvas/RealtimeCanvasDialog.tsx @@ -2253,65 +2253,300 @@ export function RealtimeCanvasDialog({ 左侧绘制草图,右侧实时预览。 )} - {standalone ? ( - - ) : null} - {/* Top Header - Minimal */} -
-
- Realtime Canvas -
- -
- {statusBadge.label} - -
- - - +
+
+
+
+ Realtime Canvas + + + {statusBadge.label} + + + 延迟 {adaptiveThrottleMs}ms + +
+ +
+ + + + {standalone ? ( + + ) : null} +
+ +
+ + + + + +
+ +
+ + setBrushColor(event.target.value)} + className="sr-only" + title="自定义颜色" + /> + + {brushColor} + +
+ + 粗细 {brushSize} + + setBrushSize(val)} + className="min-w-[140px] flex-1 [&>span:first-child]:h-2.5 [&>span:first-child]:bg-zinc-200 [&>span:first-child]:shadow-inner [&>span:first-child>span]:bg-sky-500 [&>span:last-child]:h-5 [&>span:last-child]:w-5 [&>span:last-child]:border-2 [&>span:last-child]:border-sky-500 [&>span:last-child]:bg-white" + /> +
+
+ {CANVAS_BACKGROUND_PRESETS.map((color) => ( +
+
+ +
+ + + + + + +
+ +
+
+ +
+ setPrompt(e.target.value)} + onBlur={() => scheduleFlush(true, false)} + placeholder="输入指令,基于当前画布实时生成" + className="h-10 min-w-[180px] flex-1 border-0 bg-transparent px-2 text-sm shadow-none focus-visible:ring-0" + /> + + + + {statusMessage} + +
+
{projectPanelOpen ? ( -
+
项目列表
@@ -2450,7 +2685,7 @@ export function RealtimeCanvasDialog({ />
-
+
@@ -2597,6 +2832,7 @@ export function RealtimeCanvasDialog({ scheduleFlush(true); } }} + className="flex-1 [&>span:first-child]:h-2.5 [&>span:first-child]:bg-zinc-200 [&>span:first-child]:shadow-inner [&>span:first-child>span]:bg-sky-500 [&>span:last-child]:h-5 [&>span:last-child]:w-5 [&>span:last-child]:border-2 [&>span:last-child]:border-sky-500 [&>span:last-child]:bg-white" />
- {/* Floating Toolbar - Top (Lovart-like) */} -
-
- - - - - - -
- -
- - setBrushColor(event.target.value)} - className="sr-only" - title="自定义颜色" - /> - - {brushColor} - -
- -
- -
- - 粗细 {brushSize} - - setBrushSize(val)} - /> -
- -
- -
- {CANVAS_BACKGROUND_PRESETS.map((color) => ( -
- -
- - - - - - - - -
- -
- - {/* Floating Toolbar - Bottom (Prompt) */} -
-
-
-
- -
- setPrompt(e.target.value)} - onBlur={() => scheduleFlush(true, false)} - placeholder="Describe what you want to create..." - className="flex-1 h-10 border-0 bg-transparent focus-visible:ring-0 px-2 text-base shadow-none" - /> - - -
-
-
- - {statusMessage} • Latency: {adaptiveThrottleMs}ms - -
-
+ );