From 6daff74c851dfc504e4a2564f844a34609328fb3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=BE=B7=E5=AE=87?= Date: Sat, 5 Sep 2026 15:22:26 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=B9=B6=E7=AE=80=E5=8C=96?= =?UTF-8?q?=20UI=20=E8=AF=86=E5=88=AB=E4=B8=8E=E7=BB=91=E5=AE=9A=E7=B3=BB?= =?UTF-8?q?=E7=BB=9F=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../commands/recognition_and_binding.rs | 34 ++++++------------- 1 file changed, 10 insertions(+), 24 deletions(-) diff --git a/apps/ai-game-creator-shell/src-tauri/src/ui_editor/commands/recognition_and_binding.rs b/apps/ai-game-creator-shell/src-tauri/src/ui_editor/commands/recognition_and_binding.rs index 9f39bb140..6da86bc4c 100644 --- a/apps/ai-game-creator-shell/src-tauri/src/ui_editor/commands/recognition_and_binding.rs +++ b/apps/ai-game-creator-shell/src-tauri/src/ui_editor/commands/recognition_and_binding.rs @@ -28,41 +28,27 @@ const MAX_REFERENCES: usize = 4; const MAX_SPRITE_ASSETS: usize = 128; const MAX_RECOGNITION_TREE_NODES: usize = 512; const MAX_RECOGNITION_TREE_DEPTH: usize = 32; -const LEGACY_RECOGNITION_SYSTEM_PROMPT: &str = r#" -角色: -你是游戏 UI 多图结构识别器。 - -任务: -同时分析同一 UI 系统的全部参考图,建立UI树 - +const SYSTEM_PROMPT: &str = "\ 用户会给你一些UI截图(它们从属于同一个UI系统)和对应的元数据, 请用给定的工具描述UI结构 识别规则: * 只识别 UI,不识别场景人物、地形、建筑、光影和背景装饰。 * 无法确定类型、层级、关系时,在 UnSure 中写明原因。 -* 返回的 trees 必须与输入图片一一对应,每张输入图片只能有一棵树,不能合并多张图片的树。 每棵树的 src_ui_design_image_id 必须等于对应输入图片标注的 id。 -* 每棵树必须使用自己的输入图片原始像素坐标系(0,0 as left top)输出 +* 返回的 trees 必须与UI参考图一一对应,每张输入图片只能有一棵树,不能合并多张图片的树。 每棵树的 src_ui_design_image_id 必须等于对应输入图片标注的 id。 +* 每棵树必须使用自己的UI参考图原始像素坐标系(0,0 as left top)输出 global_pos_x_px、global_pos_y_px、width_px、height_px; * 为了响应式布局, 我们提供了类似godot的Anchor参数, 可以使用语义化的预设或者可custom的直接操作min max, 请准确地根据父子布局的关系使用 * 面向用户的字段如名称描述等请用中文 * 由于每个截图未必是完整的, 可能是局部的, 每棵树描述清楚每个截图上UI的层次结构即可 * 不同树的共用框架/层次/...请使用使用相同的名称描述. 不同状态/变体名称使用相同的前缀, 用后缀区别 -* 粒度要求: 尽可能细致, 最小单元举例: 进度条的底槽、填充和外框; slider的底槽, dragger等 - -"#; - -const RECOGNITION_AND_BINDING_SYSTEM_PROMPT: &str = ""; - -const LEGACY_BINDING_SYSTEM_PROMPT: &str = r#" -你是游戏 UI 组件绑定器。你会看到全部 UI 参考图、可编辑节点说明,以及本批独立素材的真实像素。 - -* 只对视觉上确实需要改变组件的节点返回 changes; -* 每个 change 的 components 是该节点完整的新渲染栈,空数组表示明确清空。数组顺序从底到顶渲染。 +* 严格按照树结构描述UI层次 +* 粒度要求: 以额外提供的sprite为最小单元. +* 组件说明: 数组顺序从底到顶渲染。 * 对每个 Component,直接完整返回其全部参数. -* 有任何困难或者不确定把状态设为 NeedReview,说明中文原因。 -* 纯结构节点可以返回空数组并标为 NoProblem。 -* 面向用户的 reason 使用中文。 -"#; +* 纯结构节点可以返回空数组. +* 对于全局的背景可以直接作为根节点的图片组件, 不用另起节点 + +"; #[derive(Clone, Debug, Deserialize, PartialEq, Serialize, JsonSchema)] #[schemars(deny_unknown_fields)]