@yugoo-design/dsh-design-studio-dsh 0.2.8 → 0.2.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -10951,7 +10951,7 @@
10951
10951
  "sharedStandards": {
10952
10952
  "file": "docs/panel-uiux-standard.md",
10953
10953
  "line": 1,
10954
- "content": "# Panel UIUX 规范\n\n面向 Bundle 作者、A2UI/DSL 作者、共享组件开发者和审阅 Agent。目标是让用户更容易理解、判断和修改设计,而不是让每个面板长成同一个表单。本文是视觉与交互的统一作者入口,不新增 DSL 字段、业务数据、权限、评分或审批流程。\n\n## 规范如何生效\n\n- **表达规则**:本文定义信息表达、层级和交互质量。作者按场景选择,不复制 Web App 的业务字段和工作流程。\n- **能力契约**:[DSL](dsl-spec.md)、[组件目录](../packages/core/src/panel-component-catalog.ts)及实际校验器决定能声明什么;规范中的推荐不授予尚未实现的能力。静态声明和自动生成子集不同,不声称任意 A2UI 消息互操作。\n- **默认实现**:共享 Panel 组件及样式负责控件、布局、主题、状态和编辑行为;Bundle 只声明绑定、领域标签、分组和已有配置,不注入 JSX、CSS 或事件脚本。\n- **证据**:规范成立不等于所有组件已经达标。下文区分默认建议、已确认的场景基线和待补项;验收仍要看实际渲染与操作。\n\n适用的是设计工具本身的界面。用户设计出的 HTML、品牌和视觉风格由其 Design Style/产物契约决定,不能被工具的紫色强调色覆盖。原生参考保留语义与交互,不将旧实现的每个尺寸固化为全局规则。\n\n### 唯一共享基础\n\n共享基础覆盖侧栏与树、内容页框架、基础控件、文字层次、间距、状态反馈,以及\n阅读、编辑、新增、删除、展开收起和同源视图切换。所有 Kit 复用相同组件及\n`packages/panel/src/visual-components.css` 这一基础样式维护入口,不各自复制\n样式、追加覆盖文件或重新拼装常见操作。交互行为由组件实现,不能只靠 CSS 或\n文档约定保证一致。主题资源、宿主壳和专业图形资源不构成另一套 Kit 基础样式。\n独立预览入口须带齐组件所需的基础与画布样式,不能依赖宿主先加载;实际检查画布定位和控件图标,不能只核对节点存在。\n\nBundle 作者决定业务信息的归属、关系、次序和合适的已支持形态,组件自动承担\n共同的视觉与交互默认值。信息组织是否帮助人理解和改写仍须审视,但作者无需\n逐字段选择字号、留白和按钮样式。基础能力有缺口时改进共享组件和原规则,清理\n被替代定义;不把同一问题留给每个 Bundle 重新处理。规范和创建技能指向同一\n实现,代表性页面核对其效果,不将“一份样式文件”本身视作体验已达标的证明。\n\n迁移 Kit 或升级共享基础时,以主线已确认的完整版本为基准,检查实际加载的\n组件、样式与 Bundle 来源。源码、构建产物和测试服务必须对应;旧工作树里存在\n同名文件,或只移植几个修复提交,都不能证明已经对齐。新增共享能力按固定提交\n交回主线,不能让迁移工作树长期成为另一套基础。沿用同一版本的普通内容修改\n不因此新增版本审计或重复安装验证。\n\n## 1. 先确定用户任务,再选择表达\n\n### 共享形态是组件库的组织基础\n\n从“UI 形态 → 信息绑定 → 交互”组合界面:形态负责一致的排版和状态;绑定说明\n这些元素代表什么;交互沿已有选择、编辑、验证和保存通道。基础控件、组合形态、\n完整工作区是不同抽象层,不因为都出现在 catalog 中就把它们当作同级的视觉原语。\n现有工作区继续复用这些形态,不另建一套 A2UI 运行时或扩大生成器权限。\n\n| 共享形态 | 信息表达与现有入口 | 不随 Bundle 改变的默认交互 |\n| --- | --- | --- |\n| 结构导航 | 记录、章节、真实层级;`PanelWorkspaceTree` 系列,含无层级列表 | 标签换行、选中、独立展开、集合尾部添加;可附加真实状态 |\n| 卡片导航 | 标题 + 次要上下文;`PanelWorkspaceNavigation`,目前用于问题轮次 | 两层文字及卡片选中态;不因“没有树”就使用卡片 |\n| 字段组与重复集合 | 标签/控件/说明;已有 field/group、`record_map`、related editor | 一组只管理一次间距,添加留在集合末尾,折叠不改变数据 |\n| 画布与同源详情 | 关系、流程、导航地图配合 inspector | 同一选择与 canonical 数据,切换不丢未提交编辑 |\n\n新增组件前先判断:是绑定不同、现有形态缺一个通用可选能力,还是确有新的信息\n表达方式。前两者复用或增强共享层;最后一种才增加形态,并给出真实用例、适用边界\n和状态/交互约定。不能为一个 Bundle 在共享层硬编码名称或复制整套导航、输入样式。\n\n结构导航与卡片导航的顶层条目表面共用16px基础左右留白;标题图标与工具栏沿同一16px基线。结构导航统一采用 14px / 20px 行高、最小36px行高、8px内边距;无图标平项的文字因此距栏边24px。有独立展开列时,文字按钮仍保留自身的左右8px留白,真实层级继续缩进,不用空图标强凑文字列。长标题自然增高,\n不固定高度后让文字溢出。工作区导航标题14px常规字重,分组与选中项500,普通项400。\n结构导航和卡片导航共用这套文字角色,紧凑密度都随所在容器降为13px;内层标签\n继承按钮状态,不再独立声明字重。“两层卡片”表示内容组织不同,不表示全部项目加粗。\n工具栏内的分段视图切换使用紧凑导航字号13px / 20px行高,普通项400、选中项500;\n不随正文密度放大为14px,层级通过位置与选中底色表达。\n宿主底部的「设计面板/场景体验/关联图谱」(Panels / Scenarios / Relationships)视图切换共用最小52px高的底栏,右侧操作保留完整按钮与上下留白。\n选中项对应的2px品牌色亮条贴着整个底栏与内容区相接的上边界,不浮在文字上方;导航占满底栏高度,\n窄屏可将右侧操作移至下一行,但视图导航保留第一行。三种视图复用同一布局,不继承专业画布的按钮造型。\n可选状态/注记独占不压缩的行尾位置,对齐首行;无状态时不占空位,也不虚构状态。\n真实层级保留缩进和展开;Function Module、Flow、Research、业务对象、角色等使用\n同一结构样式。问题轮次保留“两层卡片”,不强行归并成树。\n\n对支持新增的导航集合,新增入口统一放在所属集合末尾,使用共享 `PanelWorkspaceTreeAdd`;\n筛选使用侧栏标题旁的图标入口,保留当前筛选的可访问名称与悬停提示,非默认筛选保持高亮;\n不为单一筛选保留一整行空工具栏。移动入口时保留原有新增行为:\n本地新增仍写同一份草稿,已有宿主 Agent 请求仍走原对话;不为只读产物虚构可用的新建操作。\n分组若只是记录的派生标签,不因补一个“添加分组”按钮而变成新的业务实体。\n\n宿主内 Panel 变窄时,仍保持左侧导航和右侧内容的方向;不自动把树或问题轮次移到\n顶部、改排成横向菜单。沿用现有的导航分隔条调整宽度,保留选中、展开和滚动位置。\n\n多 Panel 的顶部标签栏用轻微对比区分背景;选中标签与下方工作区使用同一底色,\n底边直接相接,悬停时也保持连接。详情章节标题栏延续工作区底色,以文字和细分隔线\n建立层级;正文卡片、输入框保留各自的表面边界。普通阅读和编辑内容统一铺满工作区分配的正文宽度,扣除既有公共边距;问答、连续卡片、详情表单和公共规格不各设最大宽度或居中规则。可用宽度由工作区及其分隔条管理,不由 Bundle 或内容块决定。表单内的属性表随所属正文布局,宽列保留局部滚动;专业画布和预览保留自身布局。内容卡片与分组遵循下述表面层级。明暗主题均需能看出选中的标签,\n不能只依赖文字颜色,或因宿主将多个背景层映射为同色而失去轮廓。\n\n专业组件可保留领域行为(如流程节点联动画布),但导航条目、分组、展开和新增入口\n必须复用已有工作区公共组件,不能在专业分支内重新实现这些基础交互。零子项不显示\n空展开箭头。应用配色等选择动作保留 `aria-pressed` 与只读保护,复用公共侧栏及选择\n控件,不伪装成记录导航。审查应覆盖含子项、空子项、上下文新增和未归属内容的真实\n入口;仅共享一个 CSS 文件或在截图中看似接近,不代表已复用同一基础实现。\n\n这一分工与 [A2UI catalog](https://a2ui.org/concepts/catalogs/) 和\n[theming](https://a2ui.org/guides/theming/) 的思路一致:可用组件/绑定是声明契约,\n客户端设计系统负责呈现。这里复用本项目已有 DSL,不等同于声称完整协议互操作。\n\n写 DSL 前,用已有提案或普通语言回答五件事,无须新建强制文档:用户要理解或决定什么;核心对象和关系是什么;首屏看什么;选择后如何修改;在哪里看出修改结果。\n\n从 Skill 扩展交互式 Bundle 时,围绕这些问题寻找贴合任务的表达。提问、对话或后台执行不决定其交互价值;例如问题卡片可帮助比较与回答,变更视图可帮助理解影响。保留原专业方法,让人的判断能够保存、修订并继续供 Agent 使用,不以补齐配置或展示聊天记录代替这条交互路径。\n\n### 内容卡片与分组\n\n卡片用于分隔完整的内容单元,不能由各 Panel 各自决定基础边框、圆角与留白。\n功能章节承托功能记录、问题题干承托回答、主要语义分区承托字段,是“柔和承托面→基础内容面”组合,\n这些组合使用同一底色方向。标题本身不决定底色;先判断用户在浏览集合、编辑一个对象、\n回答问题还是比较属性,再选表达。未分组的普通记录直接使用基础内容卡片。\n页面、章节与内容应能通过底色对比、留白和轻边界\n辨认,不能把完整记录扁平为同色文字列表。不同表面表达不同的信息层级,不是为了\n装饰而逐字段叠框。\n不为视觉效果创建虚假分组,也不在整个工作区外再套装饰性卡片。\n\n这里借鉴 [Apple HIG 的动态背景层级与一致语义](https://developer.apple.com/design/human-interface-guidelines/color)\n和 [Material 的 surface/container 角色](https://m3.material.io/styles/color/the-color-system):底色帮助表达内容归属,\n与标题、留白和结构一起工作,而非单靠颜色识别信息。具体色阶由本系统的实际宿主主题验证,\n不照搬原平台的色值、材质或控件外观,也不要求每一层嵌套都增加一种颜色。\n[Apple 的容器指导](https://developer.apple.com/design/human-interface-guidelines/boxes)\n也提醒:已有容器内的关系可以通过留白和对齐表达,连续嵌套边框会增加视觉负担。\n\n公共界面语言按用户可感知的承载关系分配,不按 Panel 名称、存储类型或 DOM 深度分配:\n\n| 职责 | 表达与适用边界 |\n| --- | --- |\n| 工作区 | 安静的阅读背景,不代表选中、完成或业务分组 |\n| 结构承托 | 功能章节、题干和对象内有明确任务含义的主要分区使用 muted,所属独立记录、答案和完整字段正文使用 base;字段正文包含标签、说明与控件,不能只把输入框底色当成内容分层;普通布局行或嵌套小标题不因此新增表面 |\n| 普通记录 | 卡片形态统一 base 表面与普通边界;整页详情不为一致而额外套外卡 |\n| 阅读条目 | 需要逐项辨认的已存答案使用 base 内容面与正文色;普通段落与密集表格保留原组织 |\n| 编辑控件 | 真实输入边界、焦点、选择状态与原操作共同表达可编辑;静态阅读项不伪造这些反馈 |\n\n功能模块与智能提问均为“柔和标题容器→基础内容面”。问题组在题目容器之外用章节标题和\n间距组织,不再叠加第二层柔和外框。阅读与编辑维持这个方向,用实际输入边界、焦点与操作\n区分交互状态;不靠反转底色区分。深色模式沿用相同表面职责,不规定内容必须比外层更亮。\n判断可迁移性时同时检查卡片列表、详情表单与表格,而非把一种页面形态复制给所有面板。\n\n| 内容场景 | 共享表达 |\n| --- | --- |\n| 智能提问 | 题干与说明使用柔和容器,真实答案使用基础内容面;已声明的问题组保留标题、顺序和结构,避免重复承托框 |\n| 功能模块 | 真实功能分组使用章节底色,组内各功能保留独立卡片;未分组时直接排列记录卡片 |\n| 业务对象、AI 能力等完整子对象编辑 | 有名称的完整子记录集合以柔和承托面包含集合标题、按需帮助、独立的基础记录卡和末尾添加操作;单条卡片内部沿用真实输入。已有章节负责同一集合时复用其承托,不重复套框。整页当前对象不额外套集合框 |\n| 一个对象内部的字段分组 | 主要语义组用柔和章节承托与完整基础正文形成层级,常显或折叠不改变配色;连续字段共用正文面。组内布局行和小组靠间距组织;已有独立记录卡的集合直接沿用原卡片,不再增加同色外卡 |\n| 具名结构化阅读 | 顶层业务段落沿用同一章节与正文组合,完整对象列表复用记录卡片;内部标签与值按普通字段纵向排列,不因只读改用递归两列表格或独立卡片样式。同级顶层章节(包括引用和未知内容)使用同一容器,默认折叠只决定开闭;嵌套字段不另造章节,未知键和值仍可阅读 |\n| 简单条目与属性比较 | 一条语句用列表,同列属性用表格;存储为 `record_map`、列数或紧凑布局标志都不是新增卡片层级的理由 |\n| 离散值选择 | 选项、已选值与移除操作表达选择状态;简短标签可用 chips,真实图标/说明可用 cards,不把选择值当作子对象 |\n\n普通记录表面统一由 `dsh-panel-content-card` 在共享基础中维护:普通边界语义(`--ds-border-default`)的1px边框、\n8px圆角、16px内边距与卡片间距;紧凑密度沿用12px组间距。章节和问题容器使用共享\n`dsh-panel-content-group` 的12px内边距、12px圆角和柔和底色,与记录的基础表面区分。\n深色模式同样保留可辨认的表面明度差,不照搬白色。分组和记录标题使用\n14px / 500;当前打开对象或工作区的主标题使用600,同页内容分组与重复记录标题使用500,普通字段标签、说明和输入值使用400。\n同排纯文字的标签与值按首行文字基线对齐,保留说明与正文各自的字号;值换行时标签仍对齐首行,\n不用顶部对齐、像素偏移或统一字号掩盖差异。纵向字段、图标、徽标和输入控件保留各自的布局规则。\n记录标题到直接正文、字段标签到控件使用共享8px间距,紧凑时6px;记录标题到一组具名字段、独立卡片、字段或章节之间使用16px,紧凑时12px。父容器按这两种关系管理一次间距,不能用同一个等距布局\n把标题与首张卡片也当成两个独立记录。详情页优先按用户任务组织少量主要分区,\n由既有顶层具名 `form.group` 表达;内部布局组不重复套框,分组标题仍用500。操作性“功能详情”保持400,不因可以展开\n就变成章节标题。\n记录下半部的补充详情开关统一由 `PanelDetailDisclosure` 承担:收起时显示详情名称。紧凑字段表单展开后,收起箭头与首字段标题同排并位于最右侧,给箭头保留独立热区,不留下隐藏名称后的空白行;保留可访问名称、键盘操作和正文挂载。未提供首字段标题的完整表单保留有名称的开关,不将箭头覆盖在未知内容上。此规则不隐藏业务分组或记录标题。\n独立记录与预设分区按内容职责区分,不按当前是否显示“添加”按钮、是否只读或由谁生成判色。\n可独立管理的记录保持基础表面与描边;主要分区使用同一 `dsh-panel-content-group` 承托,默认展开并支持整体折叠,\n整条标题栏按“标题 → 帮助/数量/操作 → 最右折叠箭头”排列;箭头位于整条标题栏最右侧,不能停在题干后、操作之前。展开前后位置稳定,并提供悬停与键盘焦点反馈。\n收起时标题命中区覆盖可见承托面内的留白;展开后仅标题区负责收起,正文编辑不会触发展开操作。\n正文沿用所属8px(紧凑6px)间距,连续的普通字段连同标签、说明、表格和添加操作共用完整基础内容面;\n自带独立记录卡的集合保留其边界,不套第二层同色卡片,关联预览也保留自己的布局边界。\n普通字段中的卡片集合与关联子记录编辑器遵循同一归属关系;固定章节、是否允许新增、只读或达到数量上限均不改变集合和条目的表面职责。\n集合的补充填写说明放在标题旁的共享帮助入口,可悬停、聚焦或点击查看,Escape 关闭;不在集合末尾重复占一行。\n当前对象的背景、实际校验错误和完成操作所必需的信息仍在相关位置直接显示,不因采用按需帮助而隐藏。\n同一详情正文中的普通分组、关联集合和继承集合共用正文区的左右边界,随容器伸缩,不逐组限宽或居中。权限等集合表格使用所属正文区的完整可用宽度,宽列在表内滚动;不因采用表格而越过同级分组右边界。标题栏、独立比较表与画布保留各自框架;表格与chips本身不各添一层承托框。\n是否有添加按钮或能否折叠不决定主要分区的表面。\n所有已有语义灰色内容组统一支持整体折叠,默认展开,允许多个组同时展开。\n折叠能力不取决于条目、字段、控件或选项数量,不为普通字段、chips 或选项另添容器。\n用户手动收起后,轮询、语言或只读状态变化不强制重开;正文保持挂载,增删内容与折叠均保留草稿和内部状态。\n同页同级内容统一采用分组承托或连续表单,不能只给备注增加灰色强调。\n当前条目的具体背景放在公共条目标题栏内,不用固定通用写作指令占据该位置;分组与字段说明放对应标题/标签后的共享帮助入口,\n悬停、聚焦或点击查看,不另占一行。真实业务描述、用户输入与即时错误不当作帮助隐藏。\n不要用填值数量代替内容概览或完成状态。当组只含一个字段且标题完全同名时,保留分组标题,\n内层字段标签仅作无障碍关联,必填提示显示一次。不同名、多字段及带关联预览的组保留各自标签。\n选项卡片根据真实标签、图标和说明自然增高;空的添加入口不预留说明高度。\n\n公共不变量是信息归属、字阶、关系间距、可辨的状态和可用操作;以上组合允许有意义的表面与密度差异。\n共享组件负责这些默认组合,Bundle 负责真实对象、关系和内容。新增变体先说明它帮助哪个判断或操作,\n并与现有模式对照;不因局部截图不同就新增样式,也不按组件名反过来合理化已出现的问题。\n统一 token 只是基础:实际组合还须由父布局管理所属间距,避免子控件 margin、祖先选择器和后置覆盖叠加。\n这里参考 [Fluent 的值与语义用途分层](https://fluent2.microsoft.design/design-tokens) 和\n[Carbon 的关系间距与父布局职责](https://www.carbondesignsystem.com/building-blocks/foundations/spacing/overview),\n沿用本项目已有尺寸与组件,不另建主题系统。\n\n题干和可交互的章节标题使用同一文字盒节奏:20px文字行高,上下各4px由文字块或标题按钮\n管理一次,单行28px,多行自然增高。标题外行不重复加内边距;次要操作在首行28px槽内对齐,\n隐藏、悬停或聚焦不改变排版,也不缩小按钮命中区。动作同排时,最后一行文字盒到下方内容边界\n为12px(紧凑10px),包含标题下留白和8px(紧凑6px)内容间距。窄栏动作另占一行时保留该行\n及其间距,不为了凑同一数值而挤占题干。可编辑名称沿用自身输入控件高度,不重复添加文字盒\n留白;功能卡名称行到描述正文或其编辑框同样由一处8px(紧凑6px)间距管理。\n嵌套子表单保留已有32px操作命中区,标题行随按钮或长标题自然增高;标题行到表单同样为8px\n(紧凑6px)。单行文字到底部内容的实际距离还包含行内居中留白,不能只比较CSS gap就宣称\n像素相同,也不能缩小操作按钮或使用负间距凑齐。\n\n完整记录的边界不能降为宿主最淡的分隔线;未分组的卡片也必须在页面底色上可辨,\n不能依赖外层章节底色才能看清。一层正文容器负责页面留白,内部列表不重复增加左右内缩。\n柔和容器内部,需要独立辨认的已存答案使用共享 `dsh-panel-reading-item` 基础阅读表面:\n与承托面有可辨明度差,8px圆角、上下8px(紧凑6px)、左右12px内边距,\n正文14px(紧凑13px)/400/1.6。条目容器的外沿与所属标题对齐,内部留白表达其归属;\n这不等于重复叠加页面 gutter,也不把每个说明、标量字段或表格单元格都变成卡片。\n阅读项不添加输入边框、悬停编辑或可勾选外观;编辑态保留真实输入、焦点和原有操作。\n智能提问的一道题及回答仍是一个完整内容单元:多选答案按实际已存值逐条显示,单选为一条,\n自由文本为一个完整回答并保留换行,不按标点或换行制造多个答案。未答/跳过是状态,不伪造内容条目。\n题目的灰色外层默认展开,可由用户手动收起;`always_expanded` 只控制答案区域的阅读/编辑呈现,\n不禁止外层折叠。外层开关与编辑、完成、跳过等动作独立,收起不清空回答或取消编辑。\n只读或单列本身不是增加阅读表面的理由;集合须先验证逐项辨认的真实需求,不能按存储形状自动铺色。\n多属性表格沿用表头、行列与原编辑控件,\n记录摘要和普通字段帮助不机械套框。附件和专业附加内容保留自身布局,不用后代通配规则将其压平。\n题目优先获得可读宽度。紧凑内容槽内,题干和原操作可在标题栏内自然换行并保持可见,折叠箭头始终占整条标题栏最右侧,操作不排在箭头之后,\n不为隐藏按钮预留题干右侧空列,也不在悬停时改变卡片高度;空操作组不占行。宽栏保留原有同排及悬停/焦点入口。\n\n审查信息层级时,以实际呈现回答“属于哪一组、哪个是完整记录、在哪里修改”,\n不要以减少边框或加粗数量本身作为目标。并排比较相同宽度下的题干→答案、章节→记录,\n核对宿主解析后的承托/内容底色对:只有色差而方向相反,同样不算一致;不能用代码角色名\n合理化相反的阅读层次。详情内的字段分组保持500,不应\n重于外层记录标题;主题、窄容器与长内容下均复核这一层级。操作入口沿现有\n导航和工具区,不为了恢复内容表面而搬回旧按钮或重新增加工具栏。\n\n保留输入框、回答区、错误、继承与来源等有意义的边界和反馈,不使用后代选择器\n清除所有边框。紧凑表格、专业画布和用户生成的文档\n保留各自表达,不强行卡片化。复验应比较智能提问、功能模块和嵌套记录的实际组合,\n同时检查阅读、编辑、展开和滚动,不能只检查孤立卡片的类名。\n\n连续卡片用于需要对照相邻记录的阅读任务,例如功能列表和验收标准。验收卡片按既有字段\n直接展示条件与通过标准,有内容的验证方式紧随其后,不能拼成无标签摘要或另造执行状态。\n空必填项仍保留标签和原地编辑入口。普通字段用标签、段落和间距组织,不再套一层卡片。\n卡片标题到直接描述使用控件间距(通常8px,紧凑内容槽6px);到结构化字段组使用组间距16px/12px。字段标签到值或输入框仍为8px/6px,不能把两层标题压成与一段正文相同的节奏。字段标签读编同为主文字色,不降成附注。添加、删除、顺序与未展示的来源信息保持原语义。\n分组卡片的上下移动作用于本组可见的相邻记录,保持其他组和被筛掉记录的位置;首尾动作\n按当前组判断。不能让“下移条目”意外变成整组换序,修改所属组仍通过原有分组字段完成。\n复杂对象仍可使用列表与详情,不能仅为整齐把所有工作区改成同一种导航。\n\n#### 阅读、编辑与动作\n\n普通记录卡片、已选对象详情与内部属性、状态和权限采用直接编辑。已有名称、描述、\n优先级及字段的每次修改统一进入面板草稿,不再设置卡片内“编辑/保存/取消”或保存后\n切换阅读外观。底部“取消/保存并继续”是整份面板的撤回和持久保存入口;普通导航、\n过滤和展开不能丢失输入。真正只读的记录仍用完整可读文本,不伪造禁用输入框。\n专业图形与公式编辑器保留其预览/编辑表达,不能以普通卡片规则改变专业内容语义。\n问答保留已回答后的反馈,不给自由文字题新增补充输入框或局部保存层。\n\n具有管理能力的白色记录卡片,编号在名称左边,上移、下移、删除按此顺序位于标题右侧,\n始终可见,不依赖hover;已有折叠箭头保持最右侧。管理动作操作当前记录,不能意外触发\n折叠;没有声明排序或删除能力的静态内容不虚构按钮,表格在行末操作列沿用同一几何。\n长标题使用剩余空间,普通文本允许换行;可直接改名的原生单行输入保留完整值。\n紧凑内容槽的卡片标题与管理动作分两行,动作行靠右,避免常驻按钮挤掉常见标题的关键文字,\n也不能缩小操作目标。新增保留在所属集合末尾。\n记录排序沿既有稳定身份和顺序绑定;受筛选分组仅与本组可见相邻记录交换,其他记录不动。\n拒绝状态不是删除:保留已拒绝记录的查看、过滤与恢复,但不另留一个悬停出现的删除入口。\n分组名直接编辑时只暂时稳定当前卡片的显示位置,离开后再归位,不延迟草稿更新或引入局部保存。\n\n可变尺寸的普通多行输入复用公共控件,空值和单行内容默认只占一行,按实际可用宽度与\n文本换行自动增高,默认最多5行(已声明的自动行数预算限制在3–5行)。更长内容在框内滚动,\n不截断内容;长placeholder不是实际内容,不能撑高空框。用户仍可原生拖高,手动高度不受\n自动5行上限限制,后续输入、外部重绘、容器变宽和折叠重开不将其压回默认高度。\n尺寸是字段自身的界面状态,不写入设计文件、不触发保存或Agent;不同字段不共用一次拖动尺寸。\n普通只读段落保持自然高度,第三方原生画布/专业编辑器及宿主对话框不被全局扫描改写。\n\n连续阅读区的侧栏表示当前阅读位置:点击定位条目标题,手动滚动同步高亮;收起的导航组\n仍能标明当前记录所在组。滚动仅发生在所属内容区,过滤、折叠和尺寸变化后重新判断实际\n可见条目,不跳回旧选中项、不抢焦点、不写设计数据。已拒绝但保留的记录仍可阅读,\n用状态与恢复操作区分;正文不按禁用控件降低透明度。\n同理,历史或只读问答里的已存选项仍是阅读内容:保留正常文字对比和选择标记,\n只锁定修改操作,不能把整条答案套成禁用按钮的淡色。\n\n### 面板自查\n\nStudio 连续呈现同一请求的修改建议时,干净编辑器同步最新候选与诊断,并保留当前\n文件及视图。人工改过原始文件、标题或挂载后,保留当前提案与全部输入;“审阅最新\n建议”沿用共享编辑器的放弃修改确认。保存中或结果待核对时禁止替换。候选展示、\n原生执行结束和已验证保存回执仍是不同状态,不因刷新而自动保存。\n\n语构设计系统(Yugoo Design)的面板本身应帮助人理解、思考、表达,并与 AI 对齐。\n新建、修订或迁移面板时,作者与审阅者必须结合目标用户、实际信息量和操作过程回答:\n\n1. **这个面板的信息表达方式,能帮助人理解和思考吗?** 用户能否先把握整体,再理解细节之间的关系;在需要判断的位置,能否看到相关条件、选择、后果、例外与未知,而不必跨页记忆和拼凑?\n2. **这个面板的交互方便,符合人的操作习惯吗?** 查看、定位、选择、修改和返回是否连贯,操作结果是否清楚;用户是否需要先学习底层字段、技术标识或特殊操作才能完成业务上的判断?\n3. **这个面板的信息量和组织形式,方便人工改写内容、表达诉求和想法吗?** 主次、密度和编辑空间是否合适;相关内容是否能在同一上下文中查看与修改;用户能否直接表达自己的决定,而不只是浏览 AI 的结果,或因普通编辑入口缺失而被迫再次请求 AI?\n4. **人的改写能否清楚地反馈到方案,并与 AI 保持对齐?** 用户能否区分 AI 建议、已表达的决定和待确认事项,看出修改结果及其相关影响;保存与后续 Agent 消费的实际边界是否说明清楚,而非暗示尚未实现的同步?\n\n**面板原则上不推荐多个内部 Tab。** 不按底层数据集合、schema section 或字段类别\n机械拆页;同一对象或同一次判断需要的信息应就近呈现,优先用对象导航、同源详情和\n按需展开组织。Tab 只在确有独立任务或有价值的视图切换时采用,并说明为什么这种\n切换有帮助、如何保留所选对象、未提交内容和阅读位置;需放在一起比较的信息不应\n被拆到互斥页。此原则不设固定 Tab 数量,也不要求所有面板采用同一种布局。\n\n自查用与改动相关的代表性非空内容,沿一条实际阅读、判断和人工改写路径回答,\n在现有任务或交付记录中说明依据、发现的问题和未验证范围,不只写“符合规范”。\n迁移还须对照原有主视图、选择与编辑操作;字段齐全不等于体验保留。\n需要的表达或交互能力缺失时,应明确缺口,不能把机械堆叠表单当作等价完成。\n这是作者与审阅者的工作要求,不新增用户表单、评分、审批或每次全量测试。\n\n#### 独立填写字段的价值\n\n所有显露给用户的独立填写字段,都必须有具体的意义和使用价值。作者需能说明:\n谁提供或确认它;它帮助用户作出什么判断,或被后续哪个环节使用;为什么已有字段\n不能表达同一事实。仅仅因为 schema 有这个字段,或笼统地说“方便 AI 理解”,\n不足以成为独立输入的理由;没有自动化消费者,但确实帮助人比较和决策的信息同样有价值。\n\n- **适用于所有 Kit 的所有 Bundle**:一般性的待确认事项、假设、设计依据、来源说明和补充说明,统一写入所属对象的可选“备注”。不逐记录铺设“待确认与依据”等通用区域,不将备注再拆成数个输入;仅改标题为“备注”而保留原字段组也不算落实。没有补充需求时不强加备注内容。\n- 备注中用清楚的文字区分“尚未决定”“暂作假设”和已确认事实;保留未知不等于保留独立的待确认填写字段。直接影响业务设计的规则、适用条件、约束继续使用有实际用途的业务字段。以提问回答、研究证据或校验记录为核心内容的专用 Bundle 保留相应结构,不把这些核心产物误当普通附注,也不以“后续可能有用”为由复制通用字段组。\n- 名称、描述等已有清晰编辑入口时不再重复输入。可推导的信息由现有机制展示;技术 ID、版本与溯源元数据通常由系统或 Agent 维护,需要核对时提供可读上下文或来源入口,不要求业务用户重复手填。不具备推导机制时不得假称已自动维护。\n- 修订时说明被合并或移出常用编辑区的内容如何保留、后续如何读取与必要时纠正。沿用同一 canonical 事实与保存通道;若改变数据语义,同步 schema、方法、输出契约和必要迁移。不得静默丢弃用户内容、来源引用或精确版本。\n\n在现有面板自查中结合实际阅读与改写验证上述判断,不新增字段打分表或单独审批。\n\n| 需要理解的信息 | 优先表达 | 现有能力入口与限制 |\n| --- | --- | --- |\n| 独立对象的取舍、分组和摘要 | 分组卡片、列表、按需展开详情 | `record_board`;分组不是新增业务实体 |\n| 真实父子结构 | 树、层级脑图 | `record_workspace` 的结构导航、`mind_map`;不把普通引用画成包含 |\n| 对象之间的关联、约束或依赖 | 有名称的关系图 + 选中对象/边详情 | `relation_graph` 配合 `record_workspace`;显式绑定端点与关系字段 |\n| 页面导航及其产物 | 导航地图 + 选中页面/连线详情与预览 | `navigation_workspace`;布局分组不隐含业务关系 |\n| 顺序、分支、责任或状态转换 | 流程/泳道、生命周期图 | `diagram_workspace` / BPMN,或受限的 `lifecycle_canvas`;分别核对可读、可编辑边界 |\n| 多条记录的同维度比较 | 共享表头的轻量表格或只读矩阵 | 多列 `record_map`、`record_matrix`、`relation_matrix`;不省略条件、例外或引用 |\n| 提问、回答及尚未知信息 | 问题卡、选项、补充说明 | `question_workspace`;选项不是答案,跳过不是确认 |\n| 调整参数后的直接效果 | 控件 + 同源效果预览 | `preview_workspace` / `record_preview`;预览不等于执行或发布 |\n| 理由、来源、报告和整体交付 | 可阅读正文、来源定位、章节导航 | `document_workspace` / `artifact_workspace`;日志不冒充研究结论 |\n| 未结构化想法 | 白板、草图、批注 | `canvas_workspace`;手绘线不自动成为 canonical 关系 |\n\n自由输入答案的问答题只有一个答案区域;编辑态、阅读态和展开/收起时都不显示额外补充输入框或补充说明,不保留旧数据的只读兼容区域。选择题可以提供“补充说明”,阅读和编辑态使用同一个标签,不追加可选后缀。该规则由共享问题组件实现,Bundle 不重建第二个输入区;渲染不会把旧补充值自动拼进答案或改写已保存事实。\n\n普通表单与卡片详情中的多列简单 `record_map.columns` 复用共享表头的编号表格,不再每条重复集合标题。单列保留其所在场景的标题语义;带 `item_fields` 或折叠交互的复杂子表单保留卡片表达。窄容器由表格内部横向滚动,文本域按内容增高并可手动调整;变化只影响呈现,不改变稳定键、添加删除或保存语义。\n\n关联记录表格的详情开关放在该行的操作列,与删除按钮分开。展开后在当前行下方显示通栏详情,收起时不单独占行;保留编辑器状态与键盘可达性。只读模式仍可展开详情,展开和收起不写设计数据。此行为由共享表格组件提供,Bundle 不单独编写开关或叠加样式。\n\n图形应帮助读者发现文本难以直接表达的关系。单个事实、短列表或理由正文可以只用文字和表单;不要为“可视化”而添加无意义节点。缺失能力先明确说明,用已支持的安全阅读方式保留全部事实,不把降级表单宣称为完整专业图形体验。\n\n## 2. 图形与表单必须同源\n\n画布方法的文件归属与内容覆盖遵循 [Bundle 画布创作规范](../.agents/skills/design-bundle-creator/references/canvas-authoring.md):\n每个含画布的 Bundle 用自身 `reference/canvas-guide.md` 作为统一入口,索引\n原有专项资料,并从普通方法与还原契约均可达。统一的是生成规范的记录方式,\n不是图形类型、领域风格或布局算法。下述共享控件约定只作用于其适用组件,\n不能将关系图端口规则强加给 BPMN、Excalidraw 等专用格式。\n\n节点、卡片、连线和详情都绑定同一 canonical 身份。修改名称应更新相同对象的所有视图,不能生成第二份图形专属事实。连线标签说明关系;箭头不自动表示执行顺序,空间相邻不代表依赖,颜色不单独承载关键意义。\n\n需要用户引用编号的分组卡片可用 `board.id_field`,在标题旁用次级文字显示已有只读 ID;展开的内联详情沿用同一卡片标题,覆盖式详情在顶部保留编号。编号不是可编辑名称,不增加编号生成、回填或保存通道。\n\n记录标题按实际可用宽度分配空间:名称与其编辑图标组成一个整体,图标留在标题区域内;短编号保留自身宽度,名称在剩余空间内收缩。超长编号可在限定宽度内换行,不能与编辑入口重叠。沿用原单行名称输入和完整值,不靠隐藏操作、缩小点击目标或新增编辑流程处理窄栏;验收须检查相邻元素的实际边界,页面没有横向溢出并不足以证明没有重叠。\n\n总览用于定位和比较,详情用于精确编辑。只在需要时展示低频细节,但影响判断的冲突、权限、异常和未知不得隐藏。大图提供已支持的导航、筛选或相关邻域;不能把字号不断缩小来塞进所有节点。只读图明确只读;专业编辑器的文件格式、布局与保存屏障沿原契约处理。\n\n视图选择、展开和滚动属于界面状态;显式保存的画布坐标属于布局数据;对象和关系属于设计事实。不要互相推断。排序仅在契约已有顺序字段和实际操作时提供;引用编号只是定位,不自动生成 order 字段或上下移动按钮。\n\n对象导航只呈现对象及其真实层级,不将关系重复做成导航树。关系在画布中选择,仍由同源详情编辑。单一对象集合不套同名分类根节点;这同样适用于没有画布的树形表单工作区,不按“是否有图”区别处理。直接呈现真实记录,保留其从属记录和上下文新增;多类真实对象保留必要分组。画布入口复用 `PanelWorkspaceCanvasToggle`:侧栏右沿、24×48px、16px 线性箭头,与功能模块一致;切回详情保留选择和未提交输入,不能因简化导航丢掉关系编辑能力。\n\n从属记录尚未指定父对象,或父对象引用失效时,须保留可点击的提示入口,允许查看并修正原记录;不能因无法挂入树而隐藏,也不自动猜测归属或制造占位父对象。多父记录仍有有效归属时在该处访问,其余失效引用由详情提示。\n\n在 `workspace_view: switch` 工作区中,已由选中记录的 `record_related_editor`\n完整覆盖的上下文集合,不再重复列在对象树中;普通树形工作区保留原有上下文导航。\n根级标签页全部承载完整工作区时沿用全幅工作区布局;混合普通文档的标签页不自动\n取消文档边距。集合与结构等独立信息仍须有明确入口,不能随导航简化一并隐藏。\n\n记录工作区的正文只有一组非空标签页时,外壳统一管理页签条和可用空间,不依赖\n其他页签是否也是表单。普通详情、矩阵和产物阅读各保留一层16px正文边距,\n不叠加工作区、标签页和表单的外边距。普通表单节奏只应用到页签的直接详情区,\n不将整个混合页签标为表单而影响图形或嵌套工作区。页签条与正文对齐,长表格和\n详情在各自内容区滚动;图形与多栏布局保留其已有尺寸约定。\n\n表单与画布互相覆盖时,隐藏但保留挂载的视图不得撑大可见视图的滚动区域。\n焦点切换和恢复不滚动外层工作区;窄屏缩放后也须保留画布顶部工具栏与完整入口,\n详情长内容在自己的区域滚动,不将整幅画布卷出视口。\n\n保留挂载的受控画布须保留框架测得的节点尺寸与连接点;更新投影不能丢掉测量\n状态,使同尺寸的重入等待一次不会发生的重新测量。这些都是暂态呈现状态,不进入\ncanonical 数据或保存;验收覆盖从详情返回画布及退出后新实例重新打开。\n\n共享 `relation_graph` 节点在上、下、左、右各有一个可双向使用的连接点;\n方向由实际起点与终点决定,不由端口所在侧决定。手选端口与自动路由一致,\n是当前视图几何,不写成业务字段;重开视图仍按默认右出左入自动布局。\n只读模式禁止连线,单父、循环等领域限制仍走原记录创建与保存校验。\n自动取景(初始、恢复显示、自动布局、适应画布)最高100%,手动可继续放大;\n图的节点与完整标签共同参与布局;关系图的长链按可用画布比例折行,不能为了\n显示全图把少量对象压成难以阅读的细横线。折行只改变视图几何,不改变关系、\n端口方向或设计数据。若布局库的折行造成文字重叠,保留完整标注的原布局与缩放操作,\n不能以压缩面积为由牺牲关系含义。画布工具栏与内容区域保持16px两侧留白,\n标题与按钮对齐,不能在全幅画布里让标题贴边。\n\n关系图、页面导航图、功能分组思维图复用 `PanelCanvasHandles` 与\n`PanelCanvasToolbar` 的连接点/计数呈现,和同一自动取景上限。\n标题14px/500、数量12px/400次级色,不混用胶囊计数与裸文字。\n数量由 owning 投影明确提供:关系图显示真实对象与合法边;页面地图\n显示页面/导航连接,分组 frame 不是页面;功能思维图显示条目/分组,\n不把合成根节点当业务对象计数。只有已有可编辑关系契约的画布允许连线;\n派生思维图的端口只用于路由,不新增关系写入。页面地图既有布局坐标、\nframe 尺寸保存规则保持不变,不因复用控件而改成暂态数据。\n页面地图与公共规范通过现有画布工具栏右侧、添加操作旁的双按钮分段开关在同一区域切换,\n不为切换另占一行或重复标题栏;左侧页面地图图标、标题和数量代表工作区上下文,切换时保持不变。\n右侧开关位置不变,仅显示当前视图适用的操作。\n切换过程中,暂不适用的已有操作保留自然宽度占位、不可见且不可聚焦/触发,避免窄窗口跳行;\n不为本就没有添加能力的工作区虚构占位。动作组换行后仍右对齐。复用公共 Tabs 的\n选中状态、键盘操作和常驻内容,不新增弹窗或独立返回流程。右侧边缘开关只负责地图与\n具体页面详情,不承担公共规范的返回。切换保留地图视口、所选页面、预览与未提交内容,\n外层横向面板导航始终不变;具体页面详情沿用自己的标题栏和返回地图入口,不叠加地图工具栏。\n不把长规范正文挤在地图上方。\n\nKAG 的只读关联图谱沿用当前共享工作区的导航、搜索、筛选和详情基础,\n节点数量在底部状态区显示,布局说明放在视图设置中;画布顶部不重复显示数量提示或实现说明。\nCanvas 内采用已确认的来源配色、细点细线和来源密度星云。星云只解释来源分布,\n不是新的业务分组或知识事实。Graph 与按 Bundle 排列端点的圆形关联视图读同一份图,\n保留每条关系的原始端点、依据、方向和候选状态。候选线使用虚线;聚焦时突出邻域与\n两端渐变,降低无关线和星云的强度。明暗切换只改变画布,不重排节点、不切换宿主主题;\n切换视图保留各自的缩放和平移。展开与收起继续由原记录投影负责,图中选择沿用\n同源详情。无 WebGL 时保留可读的密度底色与完整 SVG 交互。\n常规画布保留已确认的点线尺寸;更大的可用画布按容器尺寸有限放大点线,最多1.4倍,\n保持记录与字段、普通与聚焦关系的层次。尺寸适配不依赖设备像素比,不放大宿主控件、\n不重排图谱;标签避让和点击区域须容纳放大后的节点。\n浅色画布使用柔和的来源色;深色画布保持相同来源色相,提高节点、关系渐变和来源弧线的\n亮度与饱和度,并提高普通连线的可见度。星云仍居背景,选中关系优先于普通关系。\n星云层以90%不透明度呈现,轻微降低存在感,保留原有纹理与层次,不连带淡化前景点线。\n2D 与 3D Stress 共用来源配色、明暗状态和右下角画布工具栏,保留缩放、适应画布、\n明暗切换与重新布局的顺序和样式。3D 专属投影、聚焦主体和暂停操作放入「3D 选项」。\n3D 的星云复用来源密度渲染,随相机旋转、平移和缩放更新屏幕投影,不表示新的空间关系;\n三维前景透明叠加,切走视图时同时释放前景和星云资源。\n2D 是默认阅读视图,3D 保留为可选探索视图。文字分层呈现:优先显示记录短标题及\n真实内容数量;展开后,每个记录默认提供一条字段短标签,放大时逐步增加至三条。\n优先选取参与明确关联的简短字段,作为阅读入口,不表示业务重要性或置信度。\n悬停、键盘聚焦、选中或搜索命中时,聚焦对象和关联邻域不受普通字段数量限制,\n标签按实际屏幕空间避让。已有选中对象时,悬停其他节点不替换选中的关联邻域。\n记录与字段节点继续保留;完整名称、正文、来源与证据通过原有提示和同源详情查看,\n展开/收起入口显示真实内容数量。画布短标签不改写 canonical 名称或正文。\n\n图谱的右侧详情是普通只读阅读界面,复用公共标题、分组、正文、辅助文字和控件;\n专用样式只负责画布内的位置和响应式尺寸,不另设小字号表或固定窄标签列。\n首屏先呈现选中对象、关系含义、实际状态与已有操作;业务端点分段呈现,长句不与箭头、\n来源和状态挤在同一行。固定解释使用共享提示图标,不重复占据正文;来源、方向、分数、\n模型和 JSON 等诊断信息不作日常阅读内容,保留在默认收起的技术详情中。聚合关系只有在含义、类型、来源、方向和状态全部相同时\n才共用一次解释;候选、未知和采纳状态保持可见,差异状态按原关系分别展示。\n有真实文字依据时按正文展示,不能把结构化来源 JSON 当作业务解释,也不从分数编造结论。\n每条原关系的端点、原始标签和证据完整保留,技术定位与原始依据默认按需展开。\n来源面板使用已知友好名称,原文件、位置和类型仍可在来源详情查到。\n折叠和语言切换不重建图谱或清除选择、搜索、相机、固定位置,滚动应能到达原文末尾。\n\n连线标签表达关系含义,不重复节点已经展示的“A → B”端点名称。\n共享关系图仅对精确匹配两端名称的自动端点串作展示去重,保留关系类型、\n端点数量等说明及用户自定义的关系文字;无关系含义时不绘制空标签或占位框。\n详情和可访问名称仍提供完整端点,canonical 关系记录不因展示简化而改写。\n\n继承来源使用共享 `RecordInspector` 的轻量关联区,而不是数量徽标或通栏表单按钮:声明的说明与可导航的父类型名称左对齐,父类型可为多个,长名称和窄容器自然换行;详细说明为12px次级正文,关联区与对象详情间距16px。名称旁的方向图标表达“查看来源”,悬停/键盘焦点和可访问名称明确目的;只读时仍可导航。图中摘要与表单详情复用同一呈现,不复制父类型字段,也不把点击查看变成保存或修改继承关系。\n\n单父领域可显式声明 `graph.hierarchy.max_parents: 1`,共享表单提供来源选择,\n画布与表单修改同一条边,不另存 parent_ref。祖先的关联记录可由\n`record_related_editor.inherit_from_graph: true` 按来源只读展示,自己的记录仍\n在原编辑区维护;不要复制父记录、隐藏来源条件或猜测权限覆盖规则。\n此场景的左侧树只呈现对象层级,不重复列出已由完整编辑器覆盖的关联集合。\n来源选择、清除与子节点创建复用同一保存事务;UI 阻止循环/多父并不替代\nBundle 的保存校验。未声明单父的业务对象多父关系保持原行为。\n\n端点缺失、暂不能绘制的关系必须在画布内提供局部提示和原记录详情入口;两端都缺失也不能丢失入口。只读仍可查看、不可修复,不补造对象或自动清理关系。组件自己的样式高于工作区/记录容器的低权重默认,不能让父级全后代 `button` 或 `label` 规则覆盖嵌套组件的排版。\n\n用户需要一起理解对象与其集合、结构时,优先在同一画布呈现其联系,避免仅按数据类型拆成互不相见的页签。业务关系与引用连线必须有可读的名称与类别,不能只靠颜色区分。显式声明的关联节点可点选进入原记录详情;引用由原字段编辑,不提供会误建业务关系的拖线入口。只在选中对象详情中完整覆盖的从属记录可以省略重复导航;有独立含义和编辑需要的集合仍保留入口。运筹对象面板采用这一组合;不要求所有领域使用同一图型。\n\n显式采用有序参与方绑定的关系图保留二方连线与拖线创建;三方以上以原关系的名称、\n关系类型及逐角色参与线表达一个联合关系。关系中心只是同一 canonical 关系的投影,\n不计为业务对象,不成为新的连线端点;参与线无方向箭头,不能冒充独立的两两关系。\n同一对象承担不同角色时保留每一条参与线及角色文字,不按目标对象去重。选中中心或\n参与线进入原关系详情;参与方增删/排序和关系属性在共享表单编辑。此可选表达不改变\n其他 Bundle 已有二端点、继承或反向操作;真实参与方顺序与画面坐标仍是不同事实。\n\n## 3. 字体、层级与阅读/编辑\n\n条件表单按用户选择呈现适用的问题,而不是把多种语义塞进“位置或条件”等合并标题。\n先呈现主选择,再在其后就近呈现适用的二级字段;复用组间16px、组内8px,\n不为每个分支另套卡片或重复标题。选择后保持焦点,不自动跳页或提交。\n同一数据字段可用共享声明 `label_when` 切换可见标题和可访问名称;不适用项用\n`visible_when` 隐藏。两者均不改写用户内容,切回时应恢复已填值。只有明确授权的\n数据清理契约才允许清空隐藏字段,不为了 UI 简洁增加三份重复数据或隐式迁移。\n例如入口位置随触发方式改称“对话入口位置/操作入口/触发时机”;按钮可不要求\n额外输入,后台不显示人工输入方式。“自动带入的信息”与用户输入、通用资料库分开表达。\n条件必填必须与实际 schema/validation 的适用条件和阶段对应,不能隐藏仍要求用户\n填写的控件,也不能仅凭隐藏就跳过领域校验。若实际约束尚不能表达该分支,先补齐\n契约或保留可理解的入口,不用视觉掩盖。验收至少覆盖各分支、切回保留、只读、双语、\n键盘焦点,以及保存重开;简单可选说明不必为此新增必填规则。\n\n共用系统/CJK 字体栈;文件名、代码和原始 YAML 才用代码字体。复用 [现有 token](../packages/panel/src/client/ported/token.css)。所有 Kit 共用 `packages/panel` 的基础控件、排版和间距规则;Bundle 只声明内容、组织和交互,不拥有另一套字体、留白或 CSS 补丁。共享规则在原定义处维护,不通过重复选择器、Kit 名称或加载顺序逐层覆盖。宿主负责窗口布局,专业画布负责图形布局;它们不重新定义表单基础样式。下表按信息角色区分样式,不按 Kit 区分。\n\n| 信息角色 | 默认字号/字重 | 使用规则 |\n| --- | --- | --- |\n| 独立页面主标题 | 18px / 500 | 一次显示主要标题;不要重复产品名、页面名和 Bundle 名占满首屏 |\n| 当前打开对象或工作区的主标题、详情名称 | 14px / 600,行高20px | 使用共享标题字重 token 和主文字色,突出当前查看的对象或范围;折叠前后保持一致。轮次、阅读产物工具栏及通用节点标题不能落回浏览器默认字号 |\n| 内容分组、重复记录卡片、集合标题、图中记录名称 | 14px / 500,行高20px | 下属关联集合及继承来源集合与普通分组同级,不因来源不同提升字重;树导航普通项仍按导航状态使用400/500;功能卡片“功能详情”保持400 |\n| 普通字段标签、主要正文、常规表单值、长文本编辑 | 14px / 400 | 标签靠位置与间距识别,不普遍加粗;默认阅读和编辑保持字号与文本起点一致,正文行高约 1.5–1.7 |\n| 摘要、辅助说明、密集次级字段 | 12px / 400 | 清楚但次要,不把主要说明、错误或所有字段机械缩为小字 |\n| 表格、行内编辑 | 按该内容角色 | 阅读/编辑同列对齐;避免切换导致列宽、行高和阅读位置突然变化 |\n\n普通排版角色统一由 `visual-components.css` 的共享排版区定义;组件只映射角色,\n不在各自布局规则中重复字号、字重和行高。当前 Web App Kit 的普通导航与表单均\n使用这套公共基础。背景色、表格结构、`strong`/标题标签和阅读/编辑状态不改变角色:\n当前对象标题与重复记录标题不同,重复记录不会因为沿用详情标题框架而升级为主标题。\n内层文本与编辑控件继承其角色,修改公共角色时移除旧声明及会重置字体的 shorthand。\n富文本强调和数学记法保留其专业语义;专业画布中的普通标题、分组与表单仍复用公共角色。\n中英文复核须检查同一宿主环境的实际字体回退和实屏效果,CSS 数值相同不能证明感知字重相同。\n\n字段标签不因使用表格、`rows`、紧凑 `record_map` 或选择器而提升字重;例如功能详情中的使用场景、核心行为、输入和异常处理均为同级普通字段。只有实际承载\n独立条目的集合标题使用分组层级;同一章节中的普通字段标签保持400。横向复核需\n比较不同控件的同级标签,不能仅检查章节标题与卡片标题。\n展开后的自定义填写标题、来源片段标题仍按分组角色使用14px/500/20px,\n不可继承 `strong` 的浏览器默认粗体。折叠正文与常显正文共用同一排版;\n结构化只读字段由列表统一管理字段间距,标题、正文容器和首行不得重复叠加留白。\n标量与对象的展开正文使用相同的组内间距。复核须真正打开自定义输入、来源和嵌套折叠项。\n\n次要卡片摘要可保留**阅读 12px、编辑 14px**的已确认模式;承担比较、取舍和业务理解的主要记录说明按正文呈现,不能仅因放在卡片中就降成辅助小字。编辑是在更易输入的明确区域进行,而非每次聚焦都放大所有文字。标题不会因进入输入框降为正文;长篇正文不自动缩为摘要。默认规则若与已确认的原生/场景基线不同,应记录适用范围并在对应任务中迁移,不静默改写。\n\n工具自身的标签、控件和状态跟随宿主界面语言;Bundle 双语标题必须随该语言更新,\n切换语言不重置所选记录或草稿。用户设计内容保持其保存的语言,不在渲染时自动翻译。\n双语 UI 审阅使用分开的中英文项目,并为展示选择配套界面语言;生成产物内的固定结构\n文案跟随产物已有语言声明,业务编号、路径和身份标识不翻译。\n\n共享 Panel 以实际容器宽度自动选择紧凑密度,不按显示器型号或整个浏览器视口\n推断。内容宽度不超过560 CSS px时,常规正文/字段与共享选择控件采用13px、\n详情组间12px/组内6px;次要文字保留12px下限,输入框与点击热区不随文字机械\n缩小。宽容器仍使用14px与16/8px。阅读产物按自己的实际阅读区域宽度适配,\nMarkdown标题按正文比例呈现:一级约1.43倍、二级1.29倍、三级1.14倍,\n不继承浏览器默认的大标题;段落与列表保持统一节奏。不得用全页zoom、transform、\n文字缩放禁用规则或改写用户HTML/iframe实现紧凑模式,保留浏览器放大能力。\n此默认针对工具自有阅读/编辑控件,不替代专业画布的视图缩放或用户页面设计。\n\n普通声明式表单、结果阅读页与嵌套字段复用上述标题层次。章节标题提供范围,\n字段标题标识具体内容,正文与输入保持常规字重;不靠缩小全部正文或把整块内容\n加粗制造区分。问答、数学阅读等不同形态的普通导航、标题与字段都遵守公共角色;\n已确认的次要卡片摘要、常规字重的操作性展开入口和专业公式记法保留相应语义,\n不因此形成某个组件的排版豁免,也不改宿主界面或生成产物的品牌字体。\n\n长文保留完整换行,不能用省略号隐藏关键事实。导航用精简名称,允许换行;详情在内容区显示。中英文混排、长名称和浏览器文本放大都需保持可读与可操作。\n\n详情的顶部可编辑标题是该记录唯一的名称入口:正文不重复渲染同一个\n`form.header.title.field`,只读时也只在顶部显示。按当前记录的实际绑定去重,\n不按“标题/名称”的文案匹配,不隐藏嵌套记录自己的名称,也不删除 schema 或保存字段。\n没有顶部编辑入口或采用常量标题的表单仍保留正文的名称输入。\n\n同一记录组合多个表单投影时,详情容器只承担一次左右留白;仅标题的投影不产生空正文和额外段间距。工作区已有对象导航时,不根据任意关联字段自动增加“返回父级”文字链;真正的继承来源或跨对象追溯保留明确的查看入口。\n\n真实可编辑的记录名称复用共享标题输入与铅笔标记;铅笔只聚焦并选中原输入,\n不新增改名弹窗或保存通道。名称后不显示 `*` 来暗示可编辑,原 `aria-required`、\nschema 与完成校验仍保留;普通必填字段仍使用原必填提示。只读、派生标题、\n身份字段或缺少实际更新回调时不显示可编辑铅笔。\n详情标题栏最小高度44px,内部输入与操作控件保持32px并垂直居中;多行只读名称可自然\n增高。标题栏作为详情首项时紧接上方提示条或工作区边界,外侧不再叠加顶部留白;\n没有标题栏的普通内容保留自身阅读内边距。标题文字与下方分组标题使用同一左起点;聚焦以轮廓和背景反馈,不增加\n内边距或占位边框。记录标题到正文的间距由唯一父容器管理,不能再叠加空投影。\n标题栏保留共享浅灰背景和下分隔线,以区分对象名称与正文分组;组合详情只调整容器留白,不将标题表面重置为透明。背景延伸到内容容器两侧,标题文字仍与正文左对齐。\n\n字段标题是最小信息单元的唯一可见标题。不要为了“分组”再给它套一层\n“实现方式/底座选择”“工作说明/AI 应该怎样完成任务”这样的近义标题。\n`form.body.group` 可以不写 `title`,仍保留字段顺序、条件、说明和共享间距。\n多字段组只有在组名提供明确的额外语义范围时才使用标题,不把泛化的阶段名\n放在每一组输入上;说明文字不能因去标题而删除。\n\n长记录可用声明式 `form.body` 页签按用户任务分开,而不是增加第二份记录或\n把每个字段变成页签。共用顶部名称,页内不重复页签标题;默认页呈现用途和体验,\n完整指令与资源、行为约定按真实信息归属组织。已有语义灰组统一支持折叠、默认展开,\n不按内容数量或填写频率另做判断。折叠或切页不清空内容,不作为权限隔离。组内16/8px节奏、键盘页签交互与只读\n约束一致;未解决的重要约束须在交接中明确,不能靠折叠伪装已经确认。\n收起时保留可辨认的标题和原有必要状态;不为决定折叠再统计字段或记录数量。\n折叠和填写状态均不代表校验通过、完整或已确认。\n\n灰色分组标题与内容左边界对齐;帮助、数量和操作位于折叠箭头之前,箭头始终在整条标题栏最右侧。\n同类内容组不保留箭头紧跟标题、落在其余内容中间的例外;普通树导航仍使用原有左侧层级箭头。展开不额外增加正文缩进。\n长标题自然换行,箭头不挤压文字;标题到其直接统领的首个内容块遵循组内8px/紧凑6px,\n后续独立内容组之间使用16px/紧凑12px,折叠不改变这两种关系。\n分组标题使用14px/20px/500,文字行高、点击热区与外部间距分别管理:\n分组折叠按钮与原生字段组summary的标题行均保留上下4px留白和最小28px热区;长标题自然增高,\n不靠放大行高撑热区、不用固定高度裁切,也不靠负间距抵消多处留白。\n重复记录标题保留500字重,\n功能卡片的“功能详情”保留已确认的400字重。此规则适用于共享字段组、重复记录\n和卡片详情,不改变结构树的前置层级箭头或节点缩进。\n\n共享解释器对**单个直属字段、可见标签、与组名精确相同且无 sidecar**的声明\n只保留一个可见标题:真实语义分组保留组标题、内部标签仅供无障碍使用;纯布局组保留字段标签。\n两种组合都保留必填标记、可访问名及原编辑通道。不同名称的语义范围、\n多字段组及有预览的组不靠文字猜测自动删除;近义冗余由作者按上述规范清理。\n`label: visually_hidden` 且由组名担当唯一标题的情况保留组名和必填提示,\n不一刀切隐藏首字段,也不修改字段名、schema 或用户内容。\n\n## 4. 间距、对齐与空间利用\n\nStudio 嵌入宿主时,窄屏菜单按钮与导航抽屉锚定 Studio 工作区自身,不固定在浏览器窗口上。\n工作区旁边或上方的宿主对话及标题不被覆盖,展开过渡也不越过该边界;抽屉关闭时,其导航控件也不进入键盘焦点或可访问树。\n\nDSH Web 与桌面版的「Yugoo设计」(英文「Yugoo Design」)入口统一放在宿主顶部工具栏、文件打开动作左侧,\n通过公开 utilities slot 排序,不依赖轨迹页签是否存在,不再降到输入框上方。\n首次打开设计面板时沿用自动收起宿主导航与70/30初始分栏;用户随后可直接展开\n左侧导航,与设计面板共存,重排仅按实际可用空间限制面板宽度。后续设计活动只聚焦\n对应页签,不重置人工分栏或重新收导航;切回会话、客户端重挂载也只适配当前布局。\n关闭面板只恢复本次打开所收起、且未被后续宿主或用户动作接管的导航状态。\n展开后的项目头正常为两行:构思完成度,以及项目名称和克制的打开文件夹图标。\n图标调用宿主已验证的原生打开能力,进入当前项目目录;不单列路径,也不把路径\n改成悬浮提示。没有原生能力时不提供伪按钮;打开失败就近提示,支持键盘重试。\nDSH 侧栏从桌面菜单/标题栏下方开始,两侧信息栏以**下分割线**为对齐基准:\n测量公开 `conversation.header` 中实际 header 的顶部与完整 border-box 高度,\n相对 overlay 定位原点换算;不能量 display-contents 包装或内部标题行,也不能\n只加顶空白而继续固定64px。随宿主页签、缩放、全屏、窗口大小和头部重挂载同步,\n菜单栏仍归宿主。DSH 两行头中的图标为24px,其余独立头保留28px;打开失败的\n就近提示不撑高这条分割线,也不挤占菜单栏。无可见宿主信息栏时分别推导顶部安全区\n与可读的两行回退高度,不声称缺少左栏时仍可严格对齐。长项目名在本行省略但保留\n完整名称提示;评分理由和过期状态仍可访问。原有明确启用的单行嵌入模式保留,\n不改设计数据、保存屏障或宿主界面。\n\n用现有 4/8/12/16/20/24px 间距梯度:图标和文字 4–8,容器内边距通常 12–16。\n间距表达内容关系:标题与所属内容、标签与控件使用组内8px/紧凑6px;完整内容组、\n字段或记录之间使用组间16px/紧凑12px。独立工作区、对话等大容器可采用24px,\n不将后者套入每一组字段。同一角色的默认规则不因是否可折叠、所在Panel或语言不同\n而改变;具体场景的已确认例外应明确说明。复验实际组合的最终距离与归属感,\n包括文字行盒、热区内边距和容器间距,不能仅确认各处都引用了token。\n\nStudio 详情页的顶部标题区采用同一紧凑基线:标题/图标/操作的内容行32px,\n上下各8px,正常单行整体48px;标题18px/24px、500字重,图标和普通操作按钮32px。\nKit、Bundle 与本地副本不再分别设置垂直尺寸。窄屏、长标题及操作折行可自然增高,\n不用固定高度裁切内容。Kit 与 Bundle 的版本选择器复用28px紧凑触发器,在内容行内居中;\n展开列表同样使用 Studio 主题的背景、边框、圆角、间距、悬停和当前版本勾选,不只装饰\n收起时的外框。列表独立于正文裁切区,并在视口内限高、滚动和避让。方向键、Home/End\n及输入前缀只移动候选;Enter/Space确认,Escape取消,Tab或外部交互关闭,保留焦点提示。\n选择仍经过原有离开草稿确认和精确版本路由,展开、移动候选、取消均不切换版本。\n这是 Studio 标题区的已确认场景规则,不覆盖 Panel 内的章节或记录标题。\n\nStudio 的设计套件(Kit)与设计技能包(Bundle)卡片列表共用目录工具栏,不重复侧栏和\n面包屑已经表达的页面标题与副标题。搜索靠左,与卡片网格起点对齐;桌面搜索框宽300px、\n高32px,旁边显示有文案的总数(如“共23个技能包”),查询时显示匹配数与总数。\n数量按实际卡片身份计算,包含本地副本,同一已安装内容的多个版本只算一个。\n工具栏上方16px、下方到卡片24px;窄屏自然折行,不强行延长搜索框填满桌面。\n实际筛选需求可加入这一工具栏,不提前放置无功能的筛选入口。\n\nStudio 在 Kit、Bundle 列表分别提供紧邻新建动作的导入入口,直接选文件,旁边菜单\n可选文件夹。Bundle 接受普通 ZIP、文件夹或裸 `SKILL.md`,核心只要求 `SKILL.md`;\nKit 核心要求 `mindset.md` 和 `kit.yaml`。其他缺项保留为可编辑副本并提示待完善,\n让用户选择「AI 补齐」或「暂不补齐」;后者在卡片显示可点击的「待完善」提示。\n补齐接入原有宿主创作、差异和保存,不增设独立向导。原始文件树支持人工新建文件;\n人工和 Agent 新增文件都进入同一文件树、差异、预览、全局保存和还原流程。\n当前 Kit/Bundle 就是创作范围,不要求用户逐文件授权,也不以内容完整、已有面板预览\n或入口时列出的文件作为开始编辑的条件。没有 `panel.yaml` 时先打开原始文件。\n重名自动命名,不覆盖已有对象。\n成功提示并刷新当前列表;取消选择不改变内容。不要增加归档页、JSON 编辑或审核流程。\n导出沿对象「…」菜单直接下载 ZIP,不要求填写来源或许可证,导入也不做许可证检查。\nBundle 卡片的 Kit 数量标签本身就是查看挂载入口,不另放重复按钮。\n下载文件名保留对象的中文及其他 Unicode 名称,只替换操作系统不允许的文件名字符;\n保留修订号或版本号及 `.zip` 扩展名,不能用 ASCII 白名单把用户名称变成下划线。\n\nStudio 的设计套件列表用工具栏右侧的次要外链提供官方套件清单与获取指引,\n不增加市场页或把未安装的套件混入已安装目录。外链明确新标签页打开,并保留键盘焦点;\n查看清单不安装、升级或修改项目引用。公开文档可访问性与界面渲染分别验收。\n\n- 工作区类组件占满可用内容区域,不再套文档卡片、重复页头或大段说明。DSH 与 Companion 的完整设计标签页及场景体验沿用无装饰外框的共享 viewport,不添加整页圆角边框或不对称外留白;侧栏分隔、记录卡片、表格和控件仍保留各自有意义的边界。正文留白归可见内容表面所有,不能靠移除边框掩盖宽度溢出。明确导航、内容和底栏的空间及滚动所有者,避免多重整页滚动。\n- 布局外层裁切只用于由子视图管理滚动或平移的区域;普通长内容必须有可到达末尾的滚动区。Bundle 不声明 CSS 溢出策略。组件目录、创作示例和实际实现同步收口;公开示例须验证点击导航后的内容变化及长内容滚动,不能用包含组件 class 的静态渲染断言代替交互验收。\n- 记录工作区外框不添加正文留白;详情和预览各管理一次16px内边距,单详情、画布切换和多栏详情使用相同规则。不能因组合子组件数量改变,就额外叠加18px或24px外层留白;窄容器调整排列与滚动,不重新制造两层内边距。\n- 侧栏按工作区分配的高度收缩,不用内容的最小高度撑大网格行。普通侧栏自身滚动;有侧栏边缘画布入口时,由内部导航独立滚动,保留入口在滚动区外的可见性。长列表的最后一项必须可通过滚轮和键盘到达,右侧详情滚动不带动导航;窄容器保持左侧导航,不用固定像素高度或裁切条目解决溢出。\n- 侧栏标题工具栏保持单行;可选筛选操作放不下时隐藏,不挤到下一行。按当前语言标题与控件的实际宽度判断,侧栏变宽后恢复,并保留筛选值。标题过长可省略,导航条目仍保留自然换行;普通添加入口留在集合尾部,不属于可隐藏的标题操作。\n- 可选行动指引以面板左下角的轻量提示图标呈现,悬停、键盘聚焦或点击查看,Escape 或移到外部关闭。入口锚定面板自身,不依赖侧栏,不占标题或工具栏的一行;未声明 `ui.guidance` 就不显示,不用简介或空状态文案代替。浮层避让视口,用户可移入阅读;长内容末项仍可滚动到达。局部字段说明仍跟随字段,错误与运行状态不收进指引。\n- `ui.guidance` 用一到两句帮助人审阅眼前的结果:应核对哪些事实和判断、哪里可能遗漏或需要调整。沿用现有 locale,不复用 Skill 能力简介或 `bundleDescription`。Agent 交付面板时在对话中简明引导用户,有声明指引时沿用并结合本次结果,没有时自行给出贴合任务的简短引导;左下角提示只供重复查看,不增加工具、步骤、门禁或强制提示。指引不写设计数据或用户偏好,也不是专业规则或约束的唯一载体。\n- 流程图已正常显示时,不重复显示「可阅读」;加载、失败和缺失反馈仍保留。详情入口使用简短名称,不能拼接所有有值字段的标签作为按钮文案。\n- 主内容壳、标签页(tabs)和组合容器(stack)不叠加页面内边距。可见内容表面负责一层共享 `--ygd-panel-content-gutter`(16px)。卡片内缩与画布原生工具不是第二层页面留白。画布与多栏按实际范围布局,不写死宽度、不用 Bundle 专属补偿,也不预留空列模拟滚动条。\n- 表单节奏归属于 inspector 自己的内容槽,不能依赖完整父级选择器或“只有一个孩子”的偶然形状;加入辅助内容、用单子 stack 包裹表单、在 tabs 中组合视图,不改变这一表面的边距、字段节奏、标题绑定与编辑权限。真实嵌套工作区、画布、多 inspector 和卡片各自保留布局所有权;透明组合不能跨过这些边界提升标题或给内层控件套用外层样式。\n- 普通记录标题栏统一由 `PanelRecordHeader` 管理:默认44px高度、14px/20px文字;数学阅读沿用这一标题栏,不另设字号。已确认的卡片标题默认40px。多行内容自然增高,不裁切文字或挤压控件。共享样式变更须检查实际 Kit 表达,同时覆盖辅助正文、透明 stack、tabs 包装、长内容、窄容器,以及真实嵌套工作区、多 inspector、卡片等所有权边界;JSDOM不能替代实际滚动与几何检查。\n- 当前对象的简短范围导读或辅助背景,可通过 `PanelRecordHeader.context` 显示在标题下、正文前;有实际内容才出现,无值不留空行、不补默认文案,也不要求其他面板新增说明。标题、背景和正文共享文字起点;背景用辅助文字12px、400字重、1.6行高与 secondary 语义色,保持低于14px(紧凑13px)正文的层级,标题到背景复用组内8px(紧凑6px)间距,不另套提示卡或“背景信息”标题。长背景保留换行并与正文共用可到达的阅读滚动路径,不能固定在滚动区外挤掉正文。计数与操作仍在标题行;背景不替代左下角行动指引、字段旁帮助或错误/状态反馈。必要业务条件、决定与约束仍在正文清楚呈现,不因位置靠近标题就降为辅助说明。标题组件管理呈现,工作区管理导航与滚动。\n- 有 owning 侧栏标题的 workspace 用有限 `sidebar_icon` 显式选择语义图标:16px、文字前间距8px、次要文字色、不收缩、aria-hidden。省略保留原中性图标或无图标;不得从标题/Bundle名猜图标,不给记录增加装饰图标,无侧栏表单不强加导航。具体支持以 [DSL](dsl-spec.md#sidebar_icon--authored-sidebar-title-icons) 和 catalog 为准,生成式面板不开放此 authored-only 字段。同级父节点与叶节点保留相同展开列宽,子节点按真实层级缩进,展开操作与选择操作分开。\n- 关系图自动布局使用实际节点和全部关系文字尺寸,包括多行标题与端点说明;文字不得被节点或其他文字遮挡。布局和缩放只改变视图,不改写对象、端点、数量或保存顺序。\n- 一组字段以共同文字起点对齐;同一工具栏按钮高度、内边距、图标基线一致。状态不要插在操作组中间;返回靠左,主要操作靠右。\n- 新轮次采用独立的 `title` 和 `description`:标题是短主题,说明是整轮目的或背景,逐题 `prompt` 仍只属于该问题。左侧固定两层:上层次要“第x轮”(12px常规字重),下层主要标题(14px),随可拖拽侧栏宽度自动换行、不截断;不附带整段说明或状态小字。主内容以轮次标题为标题,已有轮次说明传给公共标题区的可选背景位置,不另建 QA 专用说明样式。中文标题建议12字以内,英文用短语;这是生成指导,不是截断或长度校验门槛。\n- 声明式工作区使用可选 `rounds_source` 绑定独立的已声明 section,记录为 `title`/`description` 字符串,map key 对应保存的数值轮号(不是界面“第x轮”的显示序号)。轮次仍只由真实问题推导,独立介绍不能制造待答轮次或改变固定题、历史只读、回答进度。绑定后缺少介绍时显示通用轮次标签,不从首题编造介绍;查看、切语言和编辑答案不补写元数据。未声明独立介绍的旧显示调用仍保留“标题:说明”/首行标题投影,不改保存原文。\n- 单列适合长说明、核心行为和异常处理;只有便于比较的短字段才并列。窄容器按内容区宽度折行/堆叠,不只看整个浏览器宽度。\n- 编号在自己的窄列内水平居中,正文左对齐。新增按钮的 **+ 实际图标起点**对齐前一输入框外沿,而不只是按钮盒子。\n- 多字段重复记录共用表头;单字段用轻量列表,专业图、来源控件和可折叠复杂表单不强行表格化。需要横向滚动时仅表格 wrapper 滚动。\n- 同父对象的权限等可比较记录优先复用共享可编辑表格:同一行保留条件与前置要求,\n 自定义条件就近展开,新增/删除仍作用于原记录。继承内容按来源分组只读,不能\n 为凑表格复制父记录或省略未知值。单父来源选择可与原详情标题同排,窄容器自然\n 换行;不要在表单外另占一整行,也不增加第二份父引用。\n- 产物阅读的刷新操作放在当前记录顶部标题工具栏,与可阅读/执行状态并列;不在\n 日志和正文之间单独留一行。日志折叠条与正文保持8px边界,刷新不清空仍有效的\n 内容,失败与晚响应仍按原精确文件/运行身份处理,不以排版修改弱化日志关联。\n- 优先用层级、分组和间距区分模块,不为每个模块添加分割线、嵌套卡片或大圆角边框。\n\n### 详情表单的垂直节奏\n\n先按信息归属划分完整内容组,再决定间距。一个组包括它的标题、输入框或集合,以及集合自己的添加按钮;不能将添加按钮算作下一组,也不能只计算两个标题之间的距离。文字的 `line-height` 控制行内阅读,不承担模块间距。\n\n| 边界 | 共享详情表单默认值 | 间距所有者 |\n| --- | --- | --- |\n| 记录卡片标题 → 结构化字段组 | `--ygd-panel-detail-section-gap`,16px,紧凑12px | 卡片直接字段容器;读编相同 |\n| 独立展开标题行 → 第一个内容组 | `--ygd-panel-detail-control-gap`,8px;与首字段同排的补充详情不另占标题行 | 详情容器的直接内容块 |\n| 上一个完整内容组 → 下一个内容组 | `--ygd-panel-detail-section-gap`,16px | 内容组的父级布局;跨渲染块也使用同一值 |\n| 组内标题 → 输入框或集合 | `--ygd-panel-detail-control-gap`,8px | 该组的标题 header |\n| 同一集合的相邻输入行、最后一行 → 添加按钮 | 8px | 集合组件,不再额外增加模块间距 |\n| 控件 → 所属字段的辅助说明 | 同一个 `--ygd-panel-detail-control-gap`,8px | 字段说明只持有段前间距,段后为0 |\n\n间距按布局盒子的边界测量,组间从上一组最后一个控件/添加按钮所在的盒子底部算起,而非上一个标题的基线。只由一个层级负责每一道间距,不同时叠加上一块的段后 margin、下一块的段前 margin 和父级 gap。文本换行、输入框增长或添加条目只改变组高,不改变组间距离。\n\n共享详情组件使用语义间距token,而非直接依赖宿主的编号token:实测 Studio 的 `--ds-space-6` 为32px,Panel 根样式则为24px。不能把两个编号体系当成同一个尺度;共享内容密度所有者提供宽态16/8px、窄态12/6px,详情叶节点继承这些值,避免相同声明在不同宿主里意外变密或变疏,不改写宿主自身的布局token。\n\n因此“使用场景 + 输入框”“核心行为 + 输入集合 + 添加”“异常处理 + 表格 + 添加”“备注 + 输入框”之间采用16px组间距;展开标题到其统领的第一组采用8px组内距。紧凑密度分别为12px与6px。标题字号和常规字重保持已有约定,不增加分割线。本规则从共享 Record Board 内联详情扩展到普通 `record_form`、单 inspector 和声明式 form group;不要求对话、导航或图形工具栏机械使用16px。显式声明的 separator 仍可表达真实分组边界,不能由共享样式默默删除;图与结果预览的 sidecar 保留其意义。\n\n原则来源:[Atlassian Spacing](https://atlassian.design/foundations/spacing) 的相似性、邻近性及视觉节奏,以及 [Carbon Spacing](https://www.carbondesignsystem.com/building-blocks/foundations/spacing/overview) 的父级 Stack 统一控制间距。16/8px是本产品结合现有token与用户确认的分组方式选定的默认值,不是这些设计系统要求所有产品使用的数值。\n\n## 5. 输入、按钮和编辑状态\n\n输入框、textarea、select 与按钮复用共享控件;常规控件圆角采用已有 `--ds-radius-4`(8px),继承颜色、边框与字体语义。卡片采用对应容器 token,不把所有容器设为相同圆角。已有控件尺寸先复用;同一操作行不能混用不等高按钮。\n\n| 控件场景 | 共享默认 | 保留的例外 |\n| --- | --- | --- |\n| 常规单行文本和选择框 | 高36px、文字14px、圆角8px、横向内边距12px | checkbox/radio 不套文本框尺寸 |\n| 常规长文本 | 文字14px、圆角8px、内边距8/12px、最小高度88px | 保留多行与拉伸;不把所有内容挤为单行 |\n| 参数调节 inspector | 紧凑单行高32px、文字14px、圆角8px | 色块与其文字输入同高;标题/说明按各自信息角色定字号 |\n| 卡片内展开详情 | 主要业务正文与表格值14px/400,正文容器≤560px时13px;同一输入边界 | 摘要、编号等按各自信息角色;文本可随内容增长 |\n| 问题答案组合框 | 外壳持有边界及唯一焦点环 | 内部 textarea 不再叠加第二套紫色边框/outline |\n\n以上约束作用于工具自身的共享控件,不侵入 iframe 内用户设计的页面,也不重置宿主控件。`--ygd-panel-control-focus` 统一取共享品牌语义色;普通灰边框与焦点环分工明确,不在控件自身再堆同色阴影。紧凑工具栏、图标动作和专业画布控件保留任务相关尺寸。\n\n可选颜色未填写时明确显示“未设置”,不能把原生取色器的黑色默认值显示成已配置内容。色块与文字输入共用原字段,保留用户填写的 CSS 颜色;仅明确选择颜色才改变字段。专用控件的点击区域与可见边界一致,不被外层普通输入框的尺寸覆盖。\n\n标签列表的添加沿用32px紧凑动作,不继承卡片的80px添加区域;其选项菜单保持可读宽度,\n选项行不继承普通按钮的边框和填充背景,保留主题高亮、已选禁用和取消后返回触发按钮。\n共享单值选择器的触发框与展开菜单使用同一主题:普通字段36px,卡片优先级与文字筛选\n保留28px紧凑尺度,侧栏筛选图标使用32px点击区域;菜单提供边框、圆角、阴影、当前值勾选及键盘高亮。弹出层离开\n工作区滚动/裁切容器时继承实际触发控件的语义token和字体,不依赖原容器的祖先选择器,\n也不改写宿主页面主题。选择仍使用原编辑通道,空值、失效引用、只读与禁用保持原语义。\n这条规则先落实于普通单选字段和卡片优先级/筛选,不表示所有历史原生select已迁移。\n\n宿主侧栏的项目目录、评审设置与建议浮层也要继承当前明暗模式,独立于设计面板是否打开。\n底色、悬停、当前项和边框使用宿主当前的背景层级与边框语义 token,并提供随明暗变化的默认值;\n旧颜色别名不得优先覆盖当前语义值,也不能在深色模式回退为固定白底或亮边框。\n\nStudio 的版本、工作副本及预览 Bundle 选择器通过可选的中性控件渲染口复用同一菜单,\n保留32px触发框;未注入该能力的宿主保留原生控件。原生模态对话框中的菜单留在最近的\n已打开对话框内,不能靠提高 body 弹出层的层级绕过模态隔离或焦点约束。\n\nGRA 建议收件箱在各宿主复用同一标题与操作行:设置是带图标、边框和焦点反馈的28px紧凑按钮,关闭复用共享关闭控件,不额外占一行或退回浏览器默认按钮。收件箱可以在设计面板未打开时独立存在,也可以弹出到页面根节点;它的公共样式随收件箱入口加载,不能依赖设计面板或对话区域的挂载、祖先选择器及工具类。核查要区分资源未加载、规则未命中、主题未继承和已生效但表达不清,不能仅凭外观把它们都称为“CSS缺失”。\n\n简短、同级的单选项默认采用横向自然换行,声明 `choice_layout: row_wrap`,\n复用共享选项行(行间8px、列间20px),左对齐、不平均拉伸、不为普通选项增加\n横向滚动。按实际内容区宽度换行,不缩小字号或截断选项。带较长说明、需要逐项\n阅读比较的选项采用纵向;已有明确确认的场景例外保留。统一的是选择规则和共享\n样式,不把所有单选题、问答卡及历史省略声明一刀切改成横向。\n业务对象“什么时候必须填写?”与 AI 能力“触发方式”均遵循横向默认;布局变化\n不影响选择值、条件表单、键盘操作和校验。检查双语与窄内容区的完整可读性。\n\n输入必须有持久可识别的标签,placeholder 不替代标签。普通可见字段标签与对应控件使用原生关联,点击标签能够聚焦;重复表单不产生重复ID,复合选择保留自己的分组语义。边界在默认、聚焦、错误、只读和禁用时清楚;聚焦使用一套明确焦点反馈,避免叠加两层同色紫框。错误和链接保留语义色,不能为统一灰色层级而掩盖它们。\n\n编辑保留未修改字段、稳定 ID、引用和用户文本;支持契约已有的取消/撤销。不因隐藏字段、语言切换或查看预览而清空事实。中文输入法确认不触发提交;专门多行输入支持换行,不能把所有 Enter 都当保存。\n普通卡片直接编辑公共草稿,切换面板时保留未保存内容,不自动写盘,也不再另设局部保存/取消。\n底部保存/撤回能识别这些改动,全局撤回后导航不能重新带回。专业公式或画布编辑器若已有\n独立编辑边界,其局部取消只丢弃对应输入。真实冲突仍由公共草稿边界保留输入并说明,避免覆盖新内容。模态新建复用原生\ndialog:初始焦点进入输入,Tab留在窗口内,Escape取消并回到原入口;普通查看与\n展开不增加确认步骤。面板及导航分隔条同时支持指针与键盘调整。\n\n主要操作强调,次要操作中性,删除使用危险语义。改名在标题旁使用有可访问名称的铅笔入口;Studio 卡片的打开、复制、编辑分别提供明确动作,导出与删除收在最右侧的更多菜单中。禁用必须说明具体原因,不能以永久灰按钮冒充功能。只读原件与可编辑本地副本分清。Studio 本地 Kit/Bundle 的删除统一使用红色“移到回收站”动作,确认时说明系统回收站及实际引用影响,成功后再提示已移入。用户通过系统回收站恢复或重新导入;不增加应用内回收站或软删除机制。\n\nRuntime 暴露 `user_continue` 时,宿主复用共享续接栏:有可用对话输入框时放在其上方,无输入框或对话折叠时在宿主区域保留唯一入口。仅在能聚焦实际输入框时显示“调整”,并保留已有草稿;“稍后”只隐藏当前 invocation 的本地呈现,不消费续接权限。只读、未保存编辑、保存或通知未结算时说明禁用原因;点击后的送达状态沿用原生会话回执,不因轮询、切换视图或刷新自动重发。Kit 不添加同义按钮,Studio 试用面板不取得原会话执行入口。\n\n内容组标题已明确对象时,集合条目的添加按钮统一显示“+ 添加”(英文“+ Add”),不重复“行为”“输入”“异常”等对象名;完整动作名称保留在悬浮提示和无障碍标签中。没有明确分组上下文的外层新建入口保留对象名,以免混淆操作范围。简化文案不改变集合上限、只读保护、条目 ID 或增删语义。\n\n嵌套信息、业务状态及选中对象的从属清单,都使用集合尾部的同款轻量添加入口,不把添加挤在标题右侧。展开控件复用 `PanelDisclosureIcon` 的16px线性箭头、14px/500标题;状态使用 `aria-expanded` 与键盘按钮语义。卡片只负责直属字段的16/8px节奏,不能用后代 `label` 样式给 radio/checkbox 选项叠加外边距;选项保持24px最小行高、8px组内间距。\n\n简单重复记录卡片的记录标题采用14px/500,直属字段标签与嵌套表单、紧凑表格共用普通标签角色14px/400,随共享密度缩为13px;标签可用次要色,但控件形态不另定一套字号或字重。字段标题使用所选语言的自然表达,不为普通用户重复展示 `Name/Description/Prompt` 等内部概念。\n\n所有备注类字段均应可选,允许缺省或空字符串;真正必须表达的领域信息应以明确的业务字段和契约承载,不能用“备注”暗示可选却在保存时阻断。必填星号与 `aria-required` 来源于面板的 `required` 声明,并不自动生成持久化校验;真实保存和发布校验由 Core 的 schema 与 `validation.yaml` 执行。修改必填语义时必须核对两者,并同步 Bundle 可达的输出契约,不能只删星号。系统集成备注按用户确认改为可选,其他必要信息与安全约束不变。\n\n本轮授权纠正/保留映射:\n\n| 原内容 | 用户授权的现行规则与保留位置 | 检查 |\n| --- | --- | --- |\n| Integration `panel.yaml.business_rules.required: true` 与 `validation.yaml` 同字段非空规则;输出契约 Quality gates 把备注列为完成必需事实 | 用户明确“备注都不应该是必填”;面板声明可选,移除该字段非空规则,schema 字符串类型、字段名和已有值保持不变;普通设计 `SKILL.md` 与还原可达 `reference/artifact-contract.md` 同步为可选 | 实际 loader + state/completion 正负例;真实面板星号/aria 检查 |\n| 备注承载触发时机、成功、失败、重复预防、恢复的领域指导 | 原位保留输出契约 §7、Quality gates 与正文整条记录自检;只纠正强制填写说法,不删除领域内容,禁止为填表编造备注 | diff 保留核对;不以 UI 检查声称真实 Agent 生成已测 |\n\n## 6. 状态、等待、日志与提示\n\n### Studio 信息反馈\n\nStudio 统一按用户需要采取的动作选择反馈形态,复用 `packages/studio-ui` 的共享呈现及语义样式,宿主仅提供真实执行状态和操作能力。以下是实现与审查要求;文档存在不代表所有旧页面已符合,发现偏差须在当前工作记录中修复和验收。\n\n| 场景 | 呈现与操作 |\n| --- | --- |\n| 保存、导入等操作成功 | 轻量非阻塞浮动提示,不挤动页面、抢焦点;同时更新已保存状态或列表。导出仅取得下载回执时说明已开始下载,不虚称文件已落盘。 |\n| 用户触发的操作失败或保存被阻断 | 一般失败在对应操作区域显示共享错误卡片,包含可理解的标题和实际恢复动作,技术原因按需查看。点击保存但无法保存时使用共享错误对话框,说明保留的输入与候选,并提供继续编辑等下一步。同一结果不因轮询或重绘反复自动弹出。工具栏只放动作,不铺错误文案或常驻“查看问题”。 |\n| 文件、样例或其他内容缺失 | 在对应内容窗口内原地、居中呈现轻量共享缺失状态:小警告图标与短标题同行,次级文字说明具体缺项,必要时提供文字操作;不使用大卡片边框、整块底色或大量内边距,不弹窗、不作全局报错。内容正常不需要该能力时使用中性说明,例如纯对话技能无需面板,不暗示操作失败。 |\n| 输入值或局部内容有误 | 在对应输入或内容区域显示精简错误,关联可访问说明并保留输入;需要定位的文件、字段在详情中可访问。 |\n| 覆盖、丢弃修改等必须作出的选择 | 使用共享模态对话框,明确后果、确认与取消;关闭后恢复触发点焦点。普通成功、后台重试和中间校验不弹模态框。 |\n| AI 生成、校验和修复 | 在本次对话的任务状态内连续呈现,校验不自动弹窗,也不在标题、Tab 和内容之间插入报错段落。只有真实执行仍在继续时才能显示修复中。最终失败使用共享错误卡片,保留候选与人工修改,直接提供继续修复和按需查看详情的入口。 |\n| 宿主断连或能力不可用 | 在对话或受影响区域显示有样式的状态及可用的恢复入口,保留人工编辑,不用自动弹窗反复打断。 |\n| 页面或预览无法载入 | 在受影响内容区域复用共享内容状态,提供读取重试;不把载入失败说成创作失败或抹掉其他仍有效的内容。 |\n\n同一个事件保留一个主要反馈位置。候选校验未通过时保留可点击的保存动作,点击只打开共享错误对话框,不调用保存;处理中、已提交结果待核对或并发冲突等真正不可操作的状态仍禁用写入。工具栏不增加错误行、错误说明或常驻详情按钮。首层说明用户能理解的影响与下一步,解析器消息、堆栈、内部路径等放在对话框内按需展开的详情中;不把真实错误隐藏为成功。缺少恢复能力时明确该限制,不展示没有实际行为的修复按钮,也不强迫用户先丢弃全部修改才能请求 AI 修复。\n\n通知不遮挡输入框、保存/取消操作或键盘焦点,遵循 Studio 的边界和语义层级。普通状态更新使用非打断的可访问通告,重要失败按需告警;不得让逐条校验输出反复抢读。明暗主题、长错误、窄内容区和展开详情均须实际检查。`role=\"alert\"` 只提供语义,不提供样式或正确的布局;仅添加类名或统一红色不能证明符合本规范。\n\n读取待保存修改失败时,现有保存错误对话框提供“重试读取”,重新准备原样草稿;恢复后仍由用户明确保存。不能要求用户改一个字、丢弃草稿或重开页面才能解除旧网络错误,也不能借重试自动重发写入或对话。已提交但结果未确认的保存仍沿用原有核对流程。\n\nStudio 与 Companion 的宿主会话复用同一消息和工作记录组件。展示实际公开回复、\n工具动作及其结果;工作记录可折叠,用户主动收起后轮询不重新展开。工作中使用\n同一圆形等待指示,停止操作放在输入框的发送按钮位置,不增加估算进度条。\n结束或取消后停止动画;不能把无效候选显示为可保存结果。\n\n### 运行状态与局部内容\n\n区分载入、空数据、运行中、等待用户、完成、失败和不可用。共享组件提供有限状态及图标;用户只需看到当前状态、结果和必要的下一步,不同时堆满“等待交互”“可以重跑”“不会自动运行”等重复小字。\n\n载入使用共享动画指示,不用静态文字冒充 loading;未知进度不显示虚假百分比。阻塞内容载入时,将指示居中于**对应内容区域**,隐藏不再有效的旧 grid;局部更新保留仍有效的内容与输入。长时任务应显示真实阶段或原因,不能以 spinner 掩盖失败。\n\n内容区域复用 `PanelContentState` 的 loading / empty / unavailable / error 展示,不把读取状态误作执行成功或失败。文档、产物、页面缩略图与预览、流程和白板的缺失内容不再用左上角裸文字;缩略图使用紧凑尺寸,重试保留在 owning 组件。空白源文件须在注入 CSS/图片前判空,不能因 transport 生成了 markup 而显示空 iframe。样式通过现有 owned-styles 生命周期进入 DSH、Companion 和 HMR,不让 Bundle 自带第二套等待样式。\n\n执行状态使用共享 `artifact-status-icon` 的点/活动动画,同时提供名称或可访问文本,不能只看颜色判断。侧栏保留12px状态占位以对齐,静态圆点直径6px,不把占位区域填成大色块;排队与工作中的图标仍使用12px。状态是运行投影,不写 canonical。`execution_log` 复用宿主只读桥:绑定 owning Bundle/精确目标,按上限取尾部;在底部才跟随,用户向上阅读时保留位置,切 run/target 清旧行并忽略晚响应。没有精确关联时诚实不可用,不能拿整个主对话冒充该产物日志。细节以 [日志契约](dsl-spec.md#execution_log--embedded-host-logs-authored-panels) 为准。\n\n构思完成度(Clarity)的待评估、评估中、失败、失效和不可用是瞬态工作状态,不是第二份评分权威。状态复用共享图标及12px辅助文字,保留项目标题原有两行布局;详细原因按需展开并支持键盘访问。等待或未成功取得新评估时,保留的分数须标为“上次评估”,不能冒充本次结果;从未评估则保持未评估,不填零分或虚假进度。已保存不等于主对话已开始响应,后台结果已产生也不等于主 Agent 已消费;评估失败不撤销保存成功的提示。\n\n设计建议的小灯泡分别展示待处理建议数量与现有 GRA 调度器的真实活动:等待评审不冒充正在运行,零条建议不表示评审未运行。多项并发时保留仍在运行的反馈,同时说明已失败的项;结束或取消后不残留活动动画,状态同步中断时不将上次运行快照当作当前状态。宽栏提供12px辅助文字,图标栏保留可访问名称与悬停说明;复用共享执行状态图标,运行中的灯泡仅轻微明暗变化,并遵守减少动态效果设置。它不启动评审、不改变建议或评分,不将活动反馈当成耗时优化。\n\n宽侧栏与图标栏均沿用侧栏灯泡;仅当实际入口未挂载、被祖先隐藏或裁切到无法操作时,输入区左侧显示同一灯泡入口。恢复可操作的侧栏后移除输入区入口并保留键盘焦点,二者控制同一建议收件箱、待处理数量与评审状态。新建议的查看动作按实际未读状态出现在卡片现有标题行,窄容器可换行,普通与展开阅读共用;没有未读项不留占位,新到建议不切走当前阅读位置。\n\n建议详情沿原对话列向上展开,按内容高度增长,以历史区域为高度上限;较短建议不\n用空白撑满整列,较长建议的条目正文局部滚动,操作与翻页始终可达。展开和收起复用同一\n正文层级及卡片留白,移入 Portal 后不因离开对话容器改变字号或被通用消息样式覆盖。\n保留每条建议的完整问题、说明和依据,不以删减内容或放大窗口代替阅读层级。\n\n没有对话列的 Companion 内嵌视图以实际灯泡为锚点,在其旁边打开同一个建议收件箱;\n浮层按内容和窗口边界限高,不加铺满工作区的白底、遮罩或焦点锁。外点或 Escape\n可关闭,内部设置模态框先处理自己的 Escape;新建议自动展开不抢正在编辑的焦点。\n\n输入区灯泡与相邻权限入口沿用同一紧凑尺度:28px高、14px图标、13px文案和8px语义圆角。空间充足时显示“设计建议”,依所在 composer 工具行的实际容器宽度在窄布局隐藏文字,保留图标、数量角标、运行反馈及完整可访问名称;不按整个窗口宽度判断,也不改正常侧栏宽栏或图标栏的尺寸。\n\n普通说明靠近对应字段,复杂演示说明集中呈现,低频帮助按需展开。错误在受影响区域保留,给出可执行的修复/重试,不消失过快,也不把技术路径和字节清单铺在普通用户首屏。\n\n正式 Panel 等待用户修改时,沿用现有保存动作及必要的状态、错误反馈,不在底部重复显示“查看并修改草案,再点击保存”等固定操作说明,也不新增继续按钮。2026-10-17 用户明确取消该冗余提示条,本规则取代此前从 Runtime `must_edit` gate 投影固定引导的呈现要求。版本绑定、正式保存及 gate 消费仍归既有 Runtime 通道,预览和演示不冒充真实交接。\n\n待处理建议的数字角标只保留在灯泡入口,顶部「Yugoo设计」展开按钮不重复显示数量;原有新建议通知语义保留。输入区入口的运行图标与灯泡、文案同排居中,不继承图标侧栏的右下状态角标定位;正常图标侧栏仍保留该定位。\n\n独立样例预览未提供跨 Bundle 读取端口时,保留引用值并说明“引用来源未加载”,\n不标成目标已删除。现有同步 `panelData` 返回完整集合后,缺失目标才沿用失效提示;\n读取异常继续传播到原错误边界,不吞错并伪装成空集合。此规则不增加加载状态协议,\n也不把宿主暂以空集合表示加载中的行为视为已经修复。\n\n## 7. 保存、预览和真实执行不能混淆\n\n正式 Panel 沿既有编辑屏障、校验、原子保存和继续通道;失败保留输入并明确未保存。图形和表单不能各走一条持久化权威。保存按钮不能把尚未提交的本地编辑说成已发布,Agent 消费已经保存的 diff,不再重复应用用户修改。\n\n持久保存、接续消息排队和 Agent 评估是不同状态。必要的保存结算完成后及时提交普通接续消息;有宿主原生提交回显时复用其真实请求标识,不把消息排队说成 Agent 已开始或已完成。主动评估不能加入保存 RPC 或消息提交前的等待链;评估失败也不能把已经保存的数据说成未保存。性能排查分别记录保存、交接、入队和处理阶段,不用模型推理耗时解释尚未发出消息的等待。\n\nPanel 区域的固定底栏只覆盖 Panel,不能压住宿主导航或整个 Studio;给内容留足底部空间,最后一行和焦点不能被遮挡。常用动作位于右下,次要/撤销在主要动作旁;保存成功的反馈应体现在已保存 UI 状态,不仅弹一句文字。\n\n样例预览不生成 Design Files、不运行 Agent、不改变真实项目;试运行调用真实 Bundle,在隔离项目中生成结果。Studio 里的“撤销编辑 / 演示保存效果”只演示本浏览器保存状态,不发布或回传 Agent。实际保存与演示不可同名冒充。\n\n## 8. 语言、可访问性和主题\n\n宿主/Studio 集中选择语言;Bundle 标题、按钮和提示继承,不在每个试运行增加下拉。Bundle 标签走已有 locales,共享操作文案由 Panel 公共 locales 管理。ID、enum value、路径、引用、原始文件和用户设计文本不翻译。试运行记录其运行语言,切换 UI 不重跑也不悄悄翻译结果。\n\n英文系统文案按角色统一,不以字符串长度或控件标签决定大小写:\n\n| 角色 | 项目约定 | 示例 |\n| --- | --- | --- |\n| 界面名称、导航、页签、卡片与章节标题 | Title Case;主要词首字母大写,短冠词、连词和介词通常小写(首尾词除外) | Kit Files、Panel Preview、Roles and Access |\n| 操作按钮、状态、提示、说明、自然问句式字段标签 | sentence case;句首大写,其余按正常英文书写 | Open workspace、Save panel、Run again、Where does it appear? |\n\n品牌、专有名称和缩写(AI、MCP、API、YAML、JSON)保持正确拼写,用户写的标题和正文不改大小写。这是本项目的产品风格,不是行业唯一规则。同一 locale key 若确实同时承担命名和动作两种角色,先核对消费者再拆分;禁止对所有文案运行大小写转换或用 CSS text-transform 修饰原文。\n\n翻译按控件的实际含义写自然表达,不逐字对应中文。字段问句必须与可填写的答案对应(例如选择授予方式时用“How is this role assigned?”);按钮使用直接动词,数量关系用“Zero or one / Zero or more”等惯用表达。检查可见内容、展开区、悬浮提示、无障碍名称、空态与失败反馈,并沿真实入口验证语言传递;仅确认 locale 文件无中文,不能证明界面没有混杂。场景体验、关联图谱等辅助视图沿用同一语言上下文。原始依据、用户文本、技术标识不在渲染时翻译;独立的中英文示例在各自维护源修订,不用运行时替换掩盖内容错误。\n\n中文 Kit 统一称“设计套件”,Bundle 称“技能包”;原始文件、技术身份和代码引用保留 Kit/Bundle。设计套件的可选双语展示简介来自 mindset.md frontmatter 的 `display_description: {zh, en}`,原 `description` 及方法正文不变;技能包沿用既有 picker 简介。卡片显示当前界面语言的三行摘要,文件详情窄右栏显示完整简介;缺少翻译时回退原简介,不虚构翻译。标准文件用途由共享文件名/相对路径映射识别,在文件名后显示 12px 次要灰色说明,可自然换行;未知文件不显示用途提示,也不要求作者逐文件维护说明。\n\n所有主要操作支持键盘,可见焦点不被隐藏或底栏遮挡;纯图标操作有名称,选中/展开/只读状态可识别,标题有真实语义层级。普通文字以 WCAG AA 的 4.5:1 对比度为审查目标;大字、非文本控件分别按其准则检查,不把 token 名等同实际对比度合格。\n\n原生控件的激活键由当前控件拥有,不能被同页保留挂载的画布快捷键取消。公共 Panel 边界保留原生 `summary` 未修饰空格键的默认展开动作,仅阻止它继续冒泡到外部快捷键;不模拟点击、不吞掉按键释放,不改变嵌套输入、Enter 或带修饰键的宿主快捷键。复验应包含真实画布与表单共存,静态 HTML 无法发现全局监听冲突。\n\n桌面交互目标至少 24×24 CSS px 或满足相应间距/例外要求;触摸的重要目标宜更大。200% 文本放大不能丢失操作;颜色不独自表达关键意义,动画考虑 reduced motion。它们是验收要求,不是当前产品已通过 WCAG 认证的声明。图形所必需的二维画布/表格可以局部滚动,不能让整页被迫横滚。\n\n主题使用共享语义 token 和合理 fallback,不写死黑色主按钮或纯白所有背景;检查实际浅/暗主题。宿主已解析的 `color-scheme` 和语义颜色是普通 Panel、Studio 与弹出菜单的主题来源;宿主明确选择的浅色不能被系统暗色覆盖。当前宿主的语义层 token 优先于兼容别名,回归应覆盖新旧别名同时存在和旧宿主缺少当前 token 的情况。共享基础在 `visual-components.css` 维护,移植控件消费同一套 token,不在 dock 再固定浅色。专业画布保留领域配色和已有人工明暗选择,以宿主作为未选择时的默认值;画布文件自身的内容颜色不因界面主题而改写。工具品牌强调色不替代成功、失败、警告、只读和链接语义。\n\n## 9. 已确认的场景基线\n\n以下是保留映射,不推广为所有 Bundle 的强制布局。\n\n| 场景 | 保留的决定 |\n| --- | --- |\n| Function 详情 | 外层整宽单栏,直接编辑,不另设阅读/编辑模式;“使用场景”合并用户、情境和目的,“备注”承载设计理由及补充信息;固定可选输入,不做字段级增删,保留集合条目增删;没有重复“功能详情”标题;模块 14px/500,“功能详情”展开摘要使用常规字重 14px/400(按最新反馈取消粗体),主要正文与表格业务值14px/400,正文容器≤560px时13px;完整内容组间及展开标题到首组继承共享密度(宽16/8px、窄12/6px)(见§4);不新增模块分割线 |\n| Function 重复内容 | 核心行为轻量编号列表;“异常处理”共享表头:序号 / 发生条件 / 处理方式;24px 列表编号槽、48px 表格编号列居中;+ 起点分别沿 30px/48px 输入起点;不提供无领域依据的上下移动 |\n| Function 卡片 | 编号最左,名称14px/500,标题右侧常驻上移/下移/删除;描述与详情直接编辑同一面板草稿,正文14px/400(紧凑13px),不再有卡片局部保存或悬浮删除;描述按实际内容自动增高,优先级留在卡片下方。已有拒绝记录保留只读、筛选和恢复语义,删除仍走原删除确认,不把拒绝数据改写为删除 |\n| Smart Questions | 精简轮次说明在左侧并换行,详情在内容区;答案、选项、跳过和只读历史分清;统一输入边界与单层焦点反馈 |\n| Research | 真实方向/报告导航、语义状态点和 working 动画、精确关联的滚动日志;日志不作为研究报告,不假报未建立的宿主桥 |\n| 业务对象/角色权限 | 业务对象只导航对象及真实继承层级,关系通过画布选中/同源详情编辑,无重复分类根节点。信息卡、业务状态和角色自有权限的添加统一在尾部;组间16px、组内8px,嵌套选项不叠加外边距,展开箭头复用共享组件。画布入口与功能模块同一控件 |\n| 通知设计 | 同一层的触发时机、接收对象、通知方式、通知内容、后续操作,不再叠加“提醒谁/接收者”等重复标题;左侧编辑、右侧同源预览,窄容器堆叠;保留稳定 ID、原有字段、渠道及新增删除语义,不修改 Skill 正文与契约 |\n| Studio | 已确认 demo 的布局/交互 + Yugoo 工具样式;顶层 Kits/Bundles,宿主可选提供已确认的组件库入口;语言在左下;返回左、复制/删除右、标题旁改名;原件受保护 |\n| Studio 目录卡片 | Kit、Bundle、本地副本复用相同网格和紧凑卡片:15px 内边距、15px 标题、12px 介绍,介绍与内容间距 8/12px;不为 Kit 叠加大标题或空白。介绍摘要最多三行,完整能力/适用边界保留在原始文件中;目录不重复顶部路径已显示的标题;搜索框在左侧,宽300px(窄容器自适应),其后显示匹配/总数,新建在右侧;本地副本提供打开、复制、编辑三个独立动作,删除等低频动作收进右侧 …,按钮文案不附加箭头;所有「打开」使用同一普通次按钮样式,不用紫色区分原件与副本。打开和复制不激活对话,编辑才进入创作;已安装原件先复制后编辑 |\n| Studio 宿主源修改(R2 开发候选) | 宿主候选直接进入当前工作副本的原始文件(Source Files),在同一完整文件树内显示 inline diff,不另设“审阅修改建议”按钮或替换工作台。未改文件仍在原树,新文件原位加入;修改前后保留完整文本。Bundle 面板预览是同一候选的只读样例视图;无 Bundle pin 的 Kit 候选仅校验套件定义,不要求面板。候选校验、固定 digest、版本检查和显式保存通道不变。保存后仍是同一副本的新已保存版本,才能导出;人工未保存编辑不能被晚到候选覆盖,保存结果不确定时先重开核对,不自动重试 |\n| Studio 对话创作(R2 开发候选) | Studio 的列表、浏览、已安装只读详情保留原界面,不显示对话。仅新建或明确编辑 Kit/Bundle 时,在原有查看框架的内容区嵌入创作对话,保留最外层导航、顶部信息栏、对象标题及返回和内部文件树;内容区左侧桥接当前已绑定的宿主对话,仅展示本次创作开始后的内容,右侧编辑同一工作副本,编辑状态不显示简介侧栏。Kit 编辑以「原始文件」「挂载管理」两个 Tab 切换,挂载管理左侧为较窄的未挂载备选单列(已挂载项不重复出现)、右侧为更宽的已挂载主区,复用目录 Bundle 卡片及相同介绍内容;左列标题、数量、搜索同一行,与右列标题对齐;两列之间有明确分隔,搜索仅过滤左列。卡片添加/移除在两列间移动,并显示未保存的新增/移除数量;挂载修改纳入同一未保存/进行中保护,只有 Bundle 显示面板预览;普通打开状态可显示简介。简介由原有方法元数据提供,AI 可起草、人工可修改确认,不增加第二份描述权威。宿主不可达或送达状态未知时明确提示,并保留手工编辑、保存和导入导出;重新检查连接不重发消息、不丢草稿。空白新对象先显示创作/源码状态;源修改抵达时原位进入文件差异。Studio 统一在独立标签页或浏览器中打开;原宿主对话提出创作需求时,引导至同一对象的 Studio 编辑页,可先准备修改再打开。本轮不将 Studio 嵌入宿主。保存、还原与导航保留诉求草稿、当前对象和送达状态;对话与内容分别滚动,输入区在左侧底部,窄容器上下排列。多个同基线候选需要选择时,只提供含文件信息的修改版本选择,不新增审阅步骤。记录使用宿主实际投影,缺失时明确说明,不冒充执行或保存成功;每次编辑请求携带当前对象、版本、新建/编辑意图和选中文件,按需读取实际作者指引及组件规范;人工未保存内容仍走原保存/还原边界,不冒充已保存源码。不新增模型客户端、强制新会话或保存权威 |\n| Studio 组件库 | 侧栏底部「面板组件库」;真实同版本目录、可折叠分类树和共享渲染器的固定只读样例;目录、声明、预览分别局部滚动,不提供编辑、状态切换、重置或草稿;缺样例明确说明。可复制完整声明和随包 Skill 指引;不把 DSL 支持等同生成授权,不加载第三方可执行脚本 |\n| Studio 文件/挂载 | Kit 文件与 Bundle 原始文件复用真实递归文件树;Bundle 原始文件在面板预览之前;Kit mount 是独立 Bundle 的引用;搜索 + 勾选管理,不复制 Bundle 或隐藏落盘 mount XML。文件工作区直接铺满内容区域,保留列间分隔,不再套带圆角、边框和外侧留白的卡片 |\n| Studio 预览/试运行 | 预览左 `panel.yaml`、右样例 Panel;顶部唯一试运行入口先检查宿主连接,再按既有流程同轮准备输入并执行;试运行复用左右布局,左测试输入、右真实 Panel,之后修改输入手动再运行;不嵌套模态壳或增加第二行模式按钮、无意义“采用试填数据”按钮、历史入口;首改懒建本地副本,保存不改已安装原件;传输可达不等于执行成功 |\n\n这些决定来自本轮用户反馈及相应共享实现;Function 尺寸已在源码基线 `c8ca697` 的真实浏览器中核对。这里不声称每个场景、宿主、保存或安装包都通过本次验收。\n\nAI 角色画布采用已确认的原型表达:总览卡片将人物头像/角色职责、模型、技能与工具、\n产品位置分层;内部视图保留角色外框与角色身份,再表达左侧技能、中心模型和右侧工具。\n内部三列的标题在同一行,左右资源容器与模型按水平中心线对齐;技能在一个连接卡片中,\n工具/MCP 在另一个连接卡片中,各条真实资源作为内部可选小卡片(名称与短摘要)展示。\n容器内长列表局部滚动,不因资源数量增加连线卡片或无限增高整幅图;空侧不补造容器。\n内部小卡片选择各自原记录,聚合外壳不是第一个成员或新 canonical 对象;聚合连线保留\n所有原引用身份,不将展示聚合写回数据。上下资源带避让,不靠端口偏移掩盖错位。\n侧列标题直接使用技能、工具等真实栏目名称,不显示“左手/右手”隐喻标记(最新用户确认)。\n右侧是选中对象摘要,不是完整档案。身份之后、长说明之前直接放“展开角色内部/返回总览”\n和“记录详情”两个按钮;工具栏和双击是附加入口,不能替代侧栏内的动作。职责短摘要、\n模型选择、最多两个产品入口的名称/位置和资源数量即可,不再重复整套资源及交接表单。\n资源摘要可列少量实际引用者,更多条目留在总览/原表单中;长内容的完整值不能被删除。\n资料库与长期记忆用声明的类型文字及不同语义图标区分。该可选形态不是所有画布的默认:\n装饰头像只按稳定记录身份选取,在改名和视图切换后保持一致,不推断人格或用户身份,\n不为模型直调补造技能、工具或记忆。触发方式、自动信息、反馈及各条交接条件继续在\n同一原记录的完整详情表单中查看/修改,未知位置与缺引用诊断保留。最新用户反馈明确\n用精简摘要替代先前侧栏中的可折叠完整事实;这是授权的呈现收口,不裁剪正文或数据。\n此只读内部视图隐藏连接触点但保留框架测量,禁止拖拽、连线和删除;查看不产生写入。\n这些角色内部视图规则不强加给有真实关系编辑契约的其他画布。\n原型迁移验收必须逐项对照视觉层次与交互;仅关系数量或 schema 通过不代表视觉迁移完成。\n\nDSH 的 Design 停靠区与宿主原生右侧栏(文件、浏览器、终端等)同一时刻只显示一个,\n保留可读的对话区。用户打开原生右侧栏时隐藏 Design,保留其打开意图、未保存编辑、\n选中项和画布视口;普通内容刷新不抢回显示。明确点击「Yugoo设计」才通过宿主公开\n切换操作收起原生右侧栏。隐藏不等于关闭或销毁内容,局部订阅沿既有可见性入口暂停;\n重新显示保留用户拖动的宽度,不重复应用初始分栏比例。宿主原生标签、草稿和持久布局\n仍由宿主负责,不关闭其标签、不读取私有布局存储,也不另建恢复状态机。\n\n## 10. 所有人如何使用与维护\n\n### 结果阅读页的信息层级\n\n计算或生成结果按用户要理解的方案组织,不将存储集合名转换为平级标签页。\n主阅读面连续展示具体方案、结论/关键指标、重要诊断与适用限制;表达形式按真实\n数据选择,表格已经清楚时不强制生成图表。多次运行用导航定位历史,技术环境、\n版本与原始文件按需折叠;重要失败、未知与适用限制保持可见。\n同一运行的图表通过已有显式引用展示,不复制数据;需要大画布时可与结果解读\n使用一层两个同级视图,不再嵌套“解读/依据”等标签页。同一记录的名称与原有操作位于视图切换之前,切换时保持可见,不在每个视图再建标题入口。无图时解释当前状态,\n有记录但文件缺失或读取失败时保留局部状态与重试。该层级是结果阅读场景的\n作者建议,不要求其他 Bundle 采用相同字段或折叠结构。\n\n位于多个视图之前的记录标题使用共享标题组件的独立工作区布局:高度、内边距和\n对齐由组件自身负责,不把带内容内边距的记录表单外壳一起搬到顶部,也不依赖\n父容器的负边距。表单内的既有详情、卡片与数学阅读布局按原归属保留。代表性\n检查必须包含完整 Panel 外壳和实际样式,以及标题—视图切换—内容的相对位置;\n单独渲染子组件、只有 DOM 顺序或 CSS 文件存在不能证明组合布局一致。\n\n1. **仓库贡献者**从 `AGENTS.md` 进入本文;Bundle 作者从现有 `design-bundle-creator` 的 Panel 指南进入。领域方法留在各自 SKILL.md,不把 UI 手册塞进所有 Skill Body。\n2. **已安装 Companion 作者**先确认 `design_list_panel_components`,再以 `{ \"name\": \"record_form\", \"reference\": \"docs\" }` 读取相同包中的组件说明与 `sharedStandards`。新构建的作者材料包含本文;旧包不因 checkout 更新而自动获得规范,缺少该字段时报告版本缺口。\n3. **A2UI/DSL 作者**先确定表达意图,再查目标目录、类型和绑定;自动生成只用标为 generated 的能力。共享渲染器继承控件样式不等于自动生成模型已阅读整份规范,目前生成提示并未注入本文全文。\n4. **共享组件开发者**在 owning 组件及共享样式落实默认值,按 [组件扩展契约](a2ui-component-catalog-contract.md) 更新能力、文档和代表性用例。不要在 Core/Panel 分支匹配 Bundle 名来补一个页面。\n5. **审阅者**检查以下清单。新增决定直接维护对应章节和场景映射;旧规则被替代时保留原因、范围与 owning contract,不另起一份竞争标准。\n\n用现有 Studio 样例逐步形成少量代表性基准:问题、卡片详情、重复记录表格、关系图、流程、报告日志、参数预览。正常、空态、错误、长文和窄容器尽可能复用相同样例,不创建第二套样例权威,也不对每次文档修改全量重测。\n\n用户指出的差异是设计问题的线索,不是逐字改样式的答案。审阅者需要独立判断信息归属、\n阅读顺序和交互预期,再决定采用、拒绝或限定参考做法的范围。多人审阅时分别给出理由、\n潜在反效果及更小的替代,不以复述实现者或用户意见代替判断。学习成熟案例时阅读其官方\n方法与适用背景,并对照中英文、明暗主题下的实际呈现;既不因“简洁”压平必要的分区,\n也不因“有层次”给所有内容套框。分歧、最终取舍和横向检查记入现有工作记录,不新增审批阶段。\n\n## 11. 最小验收清单\n\n- **认知与改写**:回答[面板自查](#面板自查)的四个问题;说明内部 Tab 的必要性,结合实际内容检查阅读与人工改写路径。\n- **理解**:能识别主要对象,解释一条重要关系;图形没有编造事实,正文和图形分工清楚。\n- **层级**:标题、正文、辅助信息有区分,没有重复标题/大空白/过量小字;阅读与编辑的位置、字号策略明确。\n- **操作**:标签、增删改范围、只读/禁用原因清楚;同排按钮对齐,编号及 + 对齐;键盘、焦点和中文输入可用。\n- **空间**:真实窄容器、长内容与文本放大可操作;表格局部滚动,固定栏不覆盖内容;图形仍能找到对象和详情。\n- **状态**:载入不是静态占位或虚假进度;等待/失败/不可用诚实;日志关联、跟随和切目标不混线。\n- **事实**:图和表单同源,未编辑字段/引用保留;样例、演示、真实生成和正式保存没有混淆。\n- **语言/主题**:控件与标题继承语言,用户文本不改写;焦点、边框、颜色及关键状态在目标主题中可读。\n\n按改动风险验证并分别报告:结构/绑定、实际渲染与交互、保存重开、Agent 消费、安装包。截图不证明保存,fixture 不证明真实生成,编译不证明好用。纯规范/资料变更只验证引用、材料与入口;不要为此启动全产品回归。\n\nUI 改动先从用户入口走到完成结果,检查是否要求用户理解内部机制、作无必要的选择或跨页记忆。实现后在真实浏览器沿同一路径操作,覆盖受影响的成功、失败、取消和重试状态;结合截图检查布局和可读性,结合 DOM、计算样式检查控件及反馈是否实际接入共享样式。样式类存在或功能测试通过不能替代这一步。缺失样式、找不到入口、错误无法恢复及输入丢失应在交付前修复。外部 UX 审查技能可辅助发现问题,但以本项目已确认的交互和样式为准,发现与验证边界记入现有任务记录,不新增用户审批阶段。\n\n## 12. 当前实施边界与下一步\n\n已有组件目录、共享 token/渲染器、原子保存、按需作者材料和 Studio 样例,是执行规范的基础。本轮第一批将§4/5落入共享控件和详情布局,并统一§6内容区域状态;不改业务方法、数据结构、执行权限或持久化路径。\n\n共享表单验收覆盖普通 form、声明分组、问题答案、参数 inspector 和卡片紧凑详情:正常 Panel typecheck、源回归及 HMR Studio 实际渲染分别验证。普通 select 与 text 同高36px;参数色块与文本同高32px;详情组16px/组内8px;问题答案只有外壳焦点环。960px窄视口检查问题卡和 Function 详情,未修改真实项目、调用模型或演示正式保存。具体测试和截图是这一固定候选的边界证据,不是所有宿主或所有宽度的合格声明。\n\n通知设计的同记录表单与预览在1536px下实际查看左右布局,在760px下实际查看上下布局及滚动到底部后的完整预览。窄布局使用内容高度行,不能把长表单压缩进下一行预览;DOM交互回归或控件未横向越界,并不足以证明没有纵向重叠。页面地图实际查看了居中的缺失预览提示,未生成真实页面产物。组合源回归82项、作者材料与Token回归10项通过;最后的窄布局修复又通过16项相关回归。以上不包含正式保存/重开、原生Agent消费或安装包验收。\n\n本轮新增反馈中的通知设计已按上述映射梳理展示层级;其余 Bundle 声明里的重复标题、过重嵌套和冗长提示仍按具体差距逐步收口,不改其领域内容。全部控件/主题、可访问性和窄屏没有全量合格证据;A2UI 模型的表达指导需要接入现有生成提示而非仅作者工具;代表性视觉基准尚非完整回归库;DSH main 的精确 artifact 日志关联仍有宿主缺口。不得把这些写为已完成,也不以等待“完美全库”阻塞当前可用组件。\n\n后续从真实反馈选一个共享缺口,修 owning 原语,检查受影响的代表性声明并更新本规范。已经确认的场景只在确有相关变化时重测,不从规范建立扩展成另一轮全面重做。\n\n### 数学表达与业务解释\n\n数学模型等专业内容首先要让用户能判断是否表达了自己的意思。默认将一条目标或\n约束的业务含义、数学公式和来源放在同一阅读单元,不要求用户在解释、符号和\n公式的多个页签间来回寻找。说明应交代规则作用、适用范围,必要时用一个具体\n业务例子帮助核对;不把公式的逐字翻译当成解释。\n\n目标和约束各用一张可展开收起、默认展开的卡片,保留 Function 卡片的轻边框、白底、\n紧凑标题与正文层级。卡片内依次是业务含义、公式、该公式所用符号的解释;设计\n来源留在底部,以只读上下文呈现,不要求用户重填技术引用。每条公式下的符号说明、\n完整模型和技术记录沿用共享折叠组,默认展开,可分别手动收起。符号解释投影共用定义,修改入口回到同一符号对照表,\n不在各卡片保存解释副本。匹配只识别实际呈现的记法,不宣称推导数学等价。\n\n公式使用专业数学排版;正文中的数学片段也用明确的 `\\( ... \\)` 行内 LaTeX,\n普通文字不解析为 HTML。完整数学表达放在普通文档流的折叠卡片中,内含可编辑\n符号对照表;不吸底挤占当前阅读区域。\n\n模型文件仅在有保存的产物引用时显示查看入口,用户明确打开文件预览后才经宿主的受限读取通道读取内容;外层分组默认展开不触发文件读取,\n以固定来源版本的只读文本预览,不执行模型代码。“模型检查”显示记录的状态和\n面向业务用户的结论:实际检查了什么、发现什么、尚未检查什么。缺少说明时明确\n显示尚未记录,不从技术日志猜测结论,也不把排版或结构合法当成求解成功。\n输入版本校验码、输入快照、机器模型与业务来源的映射、工具版本和原始输出保留\n在非空时才出现的“建模依据与技术记录”折叠区,以只读内容呈现,不要求业务用户\n填写。它们与可理解的检查说明分别保存,原字段和事实保留;查看不触发重算或校验。\n默认阅读不铺满输入框;编辑时文字在原位置替换为输入框,公式区域保留即时预览和\n就地的 LaTeX 输入,不在条目下方再重复整组表单。模型标题复用共享记录标题栏的14px/600、条目标题复用公共记录层级14px/500/20px、\n业务说明继承共享正文字号并采用1.7行距、来源12px、公式18px,建立清楚的阅读层级;编辑态延续相应层级。\n文字采用智能提问(Smart Question)的阅读/编辑处理:完成后是轻量背景的阅读区,\n原位编辑使用白底边框和单层焦点反馈;复用实际保存成功信号收回编辑态,不把关闭\n输入框当成已持久化。查看与编辑共用一份字段值。\n公式横向滚动限于自身区域,\n不撑宽面板;长业务说明自然换行。折叠使用共享箭头和间距,编辑、增删、只读与\n保存继续遵守共享控件规则。无效 LaTeX 保留可编辑原文和局部提示,不清空内容。\n\n数学排版不证明模型正确。解释、分条公式、完整表达和可执行文件仍需方法与验证\n流程核对一致;已有文件的校验记录不能因为界面修改而被宣称已经重新验证。\n\n数学阅读视图与普通详情共用 inspector 内容槽、标题栏和单层16px正文边距。\n普通记录与专用阅读视图通过共享 `PanelRecordHeader` 提供标题栏,不再各自拼装\n标题布局类;在44px栏内垂直居中32px标题控件。外层沿用\n共享 grid 与16px间距,不以普通块布局加相邻 margin 替代,以免标题负边距折叠。\n新详情组件必须显式接入这一布局,不能再叠加自己的页面 padding。正文采用\n`--ds-text-primary`,辅助信息采用 secondary/tertiary 语义色;`--ds-text-1`\n等编号是色阶,不表示文字重要性,不能据名称猜测。浏览器检查实际计算颜色和\n内边距,避免只在缺少宿主 token 的合成测试中看起来正常。\n\n### 字段标题、输入要求与按需帮助\n\n普通字段的标题顺序固定为:名称、声明中的必填 `*`、有内容时的帮助图标。\n中文和英文遵守相同顺序;不在字段名中零散追加“可选”“选填”或“(optional)”。\n这一默认只约束普通表单提示,不改写业务选项、条件要求或用户输入中的这些词。\n可选说明由所属语言资源直接修订,不在渲染时用正则清洗标签,也不新增一套可选性声明。\n没有星号不代表当前设计已经达到完成质量;不根据内容是否为空,\n为只读事实或派生内容推断新的填写要求。\n\n`PanelFieldCaption` 与 `PanelRequiredMark` 是普通表单、集合标题、紧凑详情、\n嵌套条目和创建请求的共同呈现入口。必填来自已有 `required` / `required_in`,\n后者按所属分区解析;例如业务对象与关系共用 `description`,但只有对象要求填写。\n表格列标题遵守同样的标记规则。对象标题仍遵守前述“标题 + 编辑图标”的规范:\n不重复加可见星号,编辑控件保留真实的无障碍要求。Bundle 不自行重建这些标题。\n\n帮助是字段或分组名称后的共享 `PanelHelp`,不为解释单独占一行。紧凑详情由\n可见标题承接原字段说明,不能因内部标签隐藏而丢失,也不能复制为两份帮助。\n一字段与同名分组共用标题时,帮助和要求标记只显示一次。帮助按钮与原生\n`label` 平级,标签仍准确关联输入控件;帮助按钮不嵌入另一个控件的标签。\n帮助可由 hover、键盘聚焦或点击打开,Esc 关闭并保留焦点;正文允许阅读和滚动,\n继承当前主题并避开窗口边缘。无障碍描述必须读到解释正文,不能用“字段帮助”\n覆盖正文的可访问名称。无说明时不显示空图标;操作必需的错误和反馈仍就地可见。\n\n隐藏标签若由匹配的单字段组标题取代,标记放组标题;没有对应标题时放控件旁\n的窄列,不增加空白行。条件字段随可见性变化,不因提示重新初始化数据。\n单选及自定义单选用 `radiogroup` 的 `aria-required`,组合多值用本地化的命名组;\n不在不支持此属性的 `group` 上伪造语义,不要求每个新 token 输入都必填。\n可添加区域仍按16px组间、8px组内及集合尾部添加;普通标签共同遵守§3的角色与密度。\n\n输入预期、字段形状、内容质量和持久化是不同责任。呈现调整不新增 HTML `required`\n提交闸门,不自动删空值,不改 schema、validation 或普通保存入口。备注保持可选;\n独立业务规则、权限条件和专业决策理由不按“备注”处理。schema `required` 要求键\n存在,不等于非空检查;Function/Role 等既有机械契约允许空字符串时仍允许保存草稿。\nBoard 创建请求按所属分区解析字段要求,并保留原有请求输入约束;它向宿主发送请求,\n不直接写 canonical 数据,也不冒充 Panel Save。\n\nDSH Panel Save 的 schema 与来源定位检查、Companion 原有 state 检查、Executor\nhandoff/in_progress 的 state 与 complete 的 state+completion 路径各自保持;\n保存成功不等于专业内容已经完整。ID、引用、领域方法和输出契约不随提示风格改变。\n\n标签列表的删除动作由共享 `TokenList` 持有:chips/cards/cards-menu 使用同一\n16px关闭图标、24×24px无边框点击目标;普通按钮的边框和内边距不能污染标签。\nchips为32px高的紧凑标签。删除仍只发送该列表的单项替换,不能修改入参、写入\n其他字段,或在只读/无效数据时提供删除入口。\n\n### 侧栏标题图标的只读核查(2026-10-09)\n\n23个Bundle当前没有显式的领域标题图标:17个使用共享 `PanelsTopLeft` 中性布局\n图标,2个轮次卡片导航标题无图标,其余4个是预设侧栏或无侧栏的表单组合。\n通知设计因此风格一致但没有“通知”的语义;并非已完成自动语义适配。\n共享 Tree/Navigation 的 React `icon` 参数不等于作者 DSL 能力:目前\n`ComponentNode` 没有通用侧栏标题图标声明,token选项的 `icon` 只属于选项内容。\ncx-2独立只读复核同样确认此缺口。\n\n若下一步增加领域图标,应增加一个有限的声明与共享映射,由Bundle作者选择;\n不读取Bundle名称/中文标题猜图标,不给树节点新增图标,不为无侧栏页面强加侧栏。\n可供确认的语义:通知→铃铛、集成→插头、角色→盾牌、数据→数据库、\n规则→规则清单、验收→验收清单。现有中性fallback与窄屏导航行为仍须保留。\n以上是实施前的历史检查结论。随后用户授权系统性实现:当前有限\n`sidebar_icon` 与共享映射已接线,23个官方 Bundle 中20个有侧栏的 Bundle\n共21处标题显式选择语义图标;另外3个纯表单不新增侧栏。旧结论不再表示\n当前 DSL 缺少图标能力。具体源/渲染/持久保存/宿主覆盖仍以本次验证记录为准。\n\n### Studio 编辑器的视图与保存\n\n宿主对话顶部不增加常驻 Studio 文字链接。目录入口留在设置中;创建或编辑 Kit、Bundle 时,可由宿主返回指向独立 Studio 编辑器的链接,保持当前任务和对象上下文。\n\n设计套件与技能包编辑时,保存和还原固定在对象标题右上方,原始文件、面板预览与\n挂载管理不各自复制保存操作。文件工具栏提供“编辑 / 对比”,对比以当前已保存内容为\n基线;AI 建议可以继续人工修改。切换文件或源码/预览视图保留当前草稿,预览通过\n已有编译入口渲染当前未保存的 `panel.yaml` 及关联文件。面板预览保留左侧\n`panel.yaml` 编辑/对比、右侧实时面板的双栏布局;左侧与原始文件页\n共用同一份草稿,保存/还原仍只在对象顶部提供。样例数据只用于展示,\n不是另一份待保存内容。Tab 下沿与文件或预览工作区直接衔接,不增加外侧空白。\n对话提交按钮统一使用“发送 / Send”,首次与后续输入不使用内部执行术语;\n连接不可用、未保存修改等提示在对应状态下显示,不在输入区堆叠技术说明。\n更新草稿后重新计算候选与预览。人和 AI 的未完成源码都可以保存,预览或运行时再指出具体缺失与解析问题,不用校验结果要求用户先发布或升级版本。保留真实并发冲突、保存结果不确定与迟到响应保护,不把预览成功当作已保存或宿主消费成功。\n\n本地库只呈现当前内容,不提供版本切换、未发布状态或确认锁定。打开、复制、编辑各自表达一个动作:复制才创建独立对象,编辑原地保存。项目使用自己的完整定义文件,库修改不静默更新旧项目;同步由 Agent 在原有文件编辑流程完成,不增加同步向导或新的批准阶段。\n\n### Studio 组件库的展示容器\n\n- 组件库作为侧栏底部工具,名称为「面板组件库」。目录和预览标题只显示当前语言的显示名;用于声明的机器标识符保留在「声明与用法」,不并排成为第二个标题。\n- 小组件按内容高度展示,在中性背景上给出有边界的紧凑样例区;导航提供可滚动的有限容器,完整工作区才使用剩余高度。样例仍使用正式共享渲染器,不复制一份演示实现。\n- 目录分类和组件采用一级/二级可折叠树,复用共享 Panel 的树分组和条目;不要为技术标识符增加一层标题。组件库定位为文档:固定只读样例,保留切页、展开、导航等查看交互,不提供内容编辑、状态切换、重置或草稿。预览/声明及声明复制收敛到同一操作行,窄容器可换行,不靠固定高度裁剪。此规则只属于 Studio 样例展示,不改变正式 Panel 的默认容器。\n- 版本号是普通 UI 信息,使用 UI 字体和轻量版本标签;包名及代码才用明确含 Windows/Linux 备选的等宽字体,不能依赖浏览器默认 `monospace`。\n- 第三方 UI 库是独立的只读说明目录:名称、当前构建实际解析版本与用途。区分基础依赖与可声明的 DSL 组件,不把包名清单变成新的组件注册权威;不暗示所有间接依赖、许可证或升级能力都已覆盖。\n- 每个已注册组件应有具体、可阅读的样例;文件、图形和日志使用有限的隔离数据。日志必须标明静态样例,不冒充已连接宿主;样例失败仍显式报告,不以占位画面充当真实渲染。\n\n## 面板自查\n\n新建、调整或迁移面板时,沿一条有代表性的阅读与编辑路径回答:\n\n1. **帮助理解和思考吗?** 用户能看清当前对象、关系、重点和需要判断的问题,而不是只能看见堆叠文字或字段清单。\n2. **交互方便、符合习惯吗?** 选择、查看、编辑、增删、排序、展开和保存的入口清楚,切换视图不丢上下文与未保存内容。\n3. **便于改写并表达诉求吗?** 信息量、层级、字段粒度和编辑方式让人能够修改具体事实,而不是被迫在多个长说明区反复填写同一件事。\n4. **能看出修改的影响吗?** 相关图形与表单来自同一份数据;用户能确认改了哪个对象、保存了什么,以及哪些关联需要继续核对。它不要求新增自动跨 Bundle 改写能力。\n\n默认不把数据存储分区做成多个内部 Tab。只有不同任务或互补视图确实需要切换时才设置,并说明切换目的、保留当前选择和编辑上下文;同一对象的补充说明优先就近阅读、按需展开。\n\n结果记在已有工作记录中,不新增审批阶段或完整产品测试要求。只核对受影响的代表性路径;不以字段齐全或静态截图代替交互判断。\n\n## 独立填写字段的价值\n\n每个独立编辑字段都应能解释:谁提供或确认、它影响哪个具体判断或后续用途,以及为什么现有字段无法表达同一事实。Schema 中有字段、通用“设计依据”标题或为了表单完整,都不足以证明它值得独占一个输入项。\n\n- 普通待确认事项、假设、设计理由和来源解释合并进对象的**可选备注**;其中的不确定性仍需明确,不能通过合并变成确定事实。\n- 独立业务规则、约束,以及本身就是问答、研究或证据产物的内容保留各自有意义的控件,不机械地全部压进备注。\n- 派生值、技术溯源或已有引用在有用时作为可读上下文呈现,不要求用户重复输入。\n- 精简已有面板时保留用户内容、源引用、稳定 ID 和 canonical 语义。语义确需改变时同步方法与输出契约,不在打开或切页时静默迁移;也不只给原字段簇换一个“备注”标题。\n\n普通导航、内容框架、字号、间距和读写控件只有一套共享基础,由共享组件及 `packages/panel/src/visual-components.css` 维护。Bundle 作者声明内容和视图,不为某个 Kit 复制基础 CSS 或重做控件。宿主外壳、主题和专用画布素材各有归属,但不重定义这套普通导航与表单基础。\n\n## 参考与所有权\n\n### 产品设计表单的精简边界\n\n- 一个字段只负责一个决定:整体目标在职责里,每个动作的条件与采用/保存结果在对应行,异常情形与恢复方式成对。不要再用多个大文本框重复同一约束。\n- 同一对象需要分页时复用共享文字标签页,选中态用底部直线,不继承按钮圆角;保留键盘切换与未提交编辑。分页不是新的存储或权限边界。\n- 技能以能力说明、适用情形、完整正文为核心;可选来源说明获取出处,附带文件列出正文使用的文档、模板或脚本,不代表上传或安装。工具首先说明需要的能力、使用的信息和期望结果,使用限制与接入配置按需展开;未选型时不默认工具类型,也不要求先填接口或 JSON。已有完整接口、配置和来源须保留,精简不得裁剪提示词、Skill 方法或未知 MCP 配置键。\n- 多方协作逐对象说明交接时机、任务/资料和返回/失败处理。图形是同份关系的投影,不另维护重复连线表。\n- 日常表单可省去重复设计依据/来源面板;人读说明使用备注,但底层 exact pins、来源引用和已有隐藏内容必须保留。任何迁移需明确语义对应,不在打开或切页时自动转换。\n\n\n实现权威:[Bundle 契约](bundle-contract.md)、[DSL](dsl-spec.md)、[组件目录](../packages/core/src/panel-component-catalog.ts)、[共享样式](../packages/panel/src/visual-components.css)、[token](../packages/panel/src/client/ported/token.css)、[Studio UI](../packages/studio-ui/README.md)。本文不维护第二份完整参数 schema。\n\n外部参考(2026-10-08 查阅)只支持原则,不是新增库/平台采用承诺:[Apple Typography](https://developer.apple.com/videos/play/wwdc2020/10175/) 支持层级与可读性;[Atlassian Inline Edit](https://atlassian.design/components/inline-edit/inline-editable-textfield/usage) 支持阅读/编辑尺寸和列对齐及按任务选择编辑方式;[Facebook Accessibility](https://engineering.fb.com/2020/07/30/web/facebook-com-accessibility/) 支持共享可访问原语与可缩放文字;WCAG 的 [文字对比度](https://www.w3.org/WAI/WCAG22/Understanding/contrast-minimum.html)、[目标尺寸](https://www.w3.org/WAI/WCAG22/Understanding/target-size-minimum.html)和[文字放大](https://www.w3.org/WAI/WCAG22/Understanding/resize-text.html)提供可检查的要求。这些来源没有规定所有字段“阅读 12 / 编辑 14”。\n\n### 用户可定义字段的样例数据表\n\n当用户需要检查具体数据、修改列定义和少量样例时,以可编辑表格作为主视图,字段设置\n从列标题进入,行操作就近放置。不要让用户在“结构”和“数值”两个不一致的编辑页之间\n寻找入口。数据含义、来源、适用范围与缺失处理可在同页展开;时间不是所有领域的固定字段。\n\n共享 `data_table` 组件保留列/行身份和 Bundle 额外列元数据,区分“未提供”、零和 false。\n矩阵只用于两个索引与一个值列,不隐藏额外维度,不聚合重复坐标;它与主表修改同一数据。\n字段草稿须应用或取消后再保存。修改类型不得静默清空既有值,删除列须明确确认。\n样例可从主 Agent 的材料解析而来,表格组件不重复承担文件上传。\n\n表头固定、输入紧凑、横向溢出留在表格容器内;表格使用记录详情的共享间距。\n窄容器允许工具栏换行,字段设置保持可操作;验证实际像素、键盘、空态、只读及保存读回。\n这是一种通用数据编辑表达,不将排班列或任何 Bundle 名称写入共享层。\n\n\n### 本轮共享控件与阅读细节\n\n普通表单、重复记录和标准问题的单选/复选共用主题、16px控件和焦点反馈,保留原生键盘与表单语义;专业画布自己的工具不受这些选择控件规则影响。字段字数统计放在标签行末,仅编辑聚焦或接近上限时出现,不另占一行。\n\n白板等专业工作区的外层标题和操作复用记录标题与操作尺寸;不能用“标题栏内所有button”规则把可编辑标题、铅笔和动作一起改成小字号。正常已加载的报告不再常驻“可阅读”状态;没有待确认引用时不显示“待确认0”和相应图例,错误与进行中反馈仍在原处。\n\n顶部标签从左向右展开;仅在标签溢出时,在标签栏右端显示省略号菜单,弹层向左展开并与右端对齐。“全部面板 / All panels”保留为悬停提示与可访问名称;标签仍可横向滚动,保留完整标签提示、当前项定位和键盘导航。空间充足时隐藏溢出入口。整个设计面板的关闭按钮位于项目标题栏右上角,与标签操作分开,并沿用原有草稿保留与关闭行为。跨面板引用沿真实记录显示名称、保存稳定ID;支持自由文本的控件保留未知与自定义值,不因显示优化增加门禁。\n",
10954
+ "content": "# Panel UIUX 规范\n\n面向 Bundle 作者、A2UI/DSL 作者、共享组件开发者和审阅 Agent。目标是让用户更容易理解、判断和修改设计,而不是让每个面板长成同一个表单。本文是视觉与交互的统一作者入口,不新增 DSL 字段、业务数据、权限、评分或审批流程。\n\n## 规范如何生效\n\n- **表达规则**:本文定义信息表达、层级和交互质量。作者按场景选择,不复制 Web App 的业务字段和工作流程。\n- **能力契约**:[DSL](dsl-spec.md)、[组件目录](../packages/core/src/panel-component-catalog.ts)及实际校验器决定能声明什么;规范中的推荐不授予尚未实现的能力。静态声明和自动生成子集不同,不声称任意 A2UI 消息互操作。\n- **默认实现**:共享 Panel 组件及样式负责控件、布局、主题、状态和编辑行为;Bundle 只声明绑定、领域标签、分组和已有配置,不注入 JSX、CSS 或事件脚本。\n- **证据**:规范成立不等于所有组件已经达标。下文区分默认建议、已确认的场景基线和待补项;验收仍要看实际渲染与操作。\n\n适用的是设计工具本身的界面。用户设计出的 HTML、品牌和视觉风格由其 Design Style/产物契约决定,不能被工具的紫色强调色覆盖。原生参考保留语义与交互,不将旧实现的每个尺寸固化为全局规则。\n\n### 唯一共享基础\n\n共享基础覆盖侧栏与树、内容页框架、基础控件、文字层次、间距、状态反馈,以及\n阅读、编辑、新增、删除、展开收起和同源视图切换。所有 Kit 复用相同组件及\n`packages/panel/src/visual-components.css` 这一基础样式维护入口,不各自复制\n样式、追加覆盖文件或重新拼装常见操作。交互行为由组件实现,不能只靠 CSS 或\n文档约定保证一致。主题资源、宿主壳和专业图形资源不构成另一套 Kit 基础样式。\n独立预览入口须带齐组件所需的基础与画布样式,不能依赖宿主先加载;实际检查画布定位和控件图标,不能只核对节点存在。\n\nBundle 作者决定业务信息的归属、关系、次序和合适的已支持形态,组件自动承担\n共同的视觉与交互默认值。信息组织是否帮助人理解和改写仍须审视,但作者无需\n逐字段选择字号、留白和按钮样式。基础能力有缺口时改进共享组件和原规则,清理\n被替代定义;不把同一问题留给每个 Bundle 重新处理。规范和创建技能指向同一\n实现,代表性页面核对其效果,不将“一份样式文件”本身视作体验已达标的证明。\n\n迁移 Kit 或升级共享基础时,以主线已确认的完整版本为基准,检查实际加载的\n组件、样式与 Bundle 来源。源码、构建产物和测试服务必须对应;旧工作树里存在\n同名文件,或只移植几个修复提交,都不能证明已经对齐。新增共享能力按固定提交\n交回主线,不能让迁移工作树长期成为另一套基础。沿用同一版本的普通内容修改\n不因此新增版本审计或重复安装验证。\n\n## 1. 先确定用户任务,再选择表达\n\n### 共享形态是组件库的组织基础\n\n从“UI 形态 → 信息绑定 → 交互”组合界面:形态负责一致的排版和状态;绑定说明\n这些元素代表什么;交互沿已有选择、编辑、验证和保存通道。基础控件、组合形态、\n完整工作区是不同抽象层,不因为都出现在 catalog 中就把它们当作同级的视觉原语。\n现有工作区继续复用这些形态,不另建一套 A2UI 运行时或扩大生成器权限。\n\n| 共享形态 | 信息表达与现有入口 | 不随 Bundle 改变的默认交互 |\n| --- | --- | --- |\n| 结构导航 | 记录、章节、真实层级;`PanelWorkspaceTree` 系列,含无层级列表 | 标签换行、选中、独立展开、集合尾部添加;可附加真实状态 |\n| 卡片导航 | 标题 + 次要上下文;`PanelWorkspaceNavigation`,目前用于问题轮次 | 两层文字及卡片选中态;不因“没有树”就使用卡片 |\n| 字段组与重复集合 | 标签/控件/说明;已有 field/group、`record_map`、related editor | 一组只管理一次间距,添加留在集合末尾,折叠不改变数据 |\n| 画布与同源详情 | 关系、流程、导航地图配合 inspector | 同一选择与 canonical 数据,切换不丢未提交编辑 |\n\n新增组件前先判断:是绑定不同、现有形态缺一个通用可选能力,还是确有新的信息\n表达方式。前两者复用或增强共享层;最后一种才增加形态,并给出真实用例、适用边界\n和状态/交互约定。不能为一个 Bundle 在共享层硬编码名称或复制整套导航、输入样式。\n\n结构导航与卡片导航的顶层条目表面共用16px基础左右留白;标题图标与工具栏沿同一16px基线。结构导航统一采用 14px / 20px 行高、最小36px行高、8px内边距;无图标平项的文字因此距栏边24px。有独立展开列时,文字按钮仍保留自身的左右8px留白,真实层级继续缩进,不用空图标强凑文字列。长标题自然增高,\n不固定高度后让文字溢出。工作区导航标题14px常规字重,分组与选中项500,普通项400。\n结构导航和卡片导航共用这套文字角色,紧凑密度都随所在容器降为13px;内层标签\n继承按钮状态,不再独立声明字重。“两层卡片”表示内容组织不同,不表示全部项目加粗。\n工具栏内的分段视图切换使用紧凑导航字号13px / 20px行高,普通项400、选中项500;\n不随正文密度放大为14px,层级通过位置与选中底色表达。\n宿主底部的「设计面板/场景体验/关联图谱」(Panels / Scenarios / Relationships)视图切换共用最小52px高的底栏,右侧操作保留完整按钮与上下留白。\n选中项对应的2px品牌色亮条贴着整个底栏与内容区相接的上边界,不浮在文字上方;导航占满底栏高度,\n窄屏可将右侧操作移至下一行,但视图导航保留第一行。三种视图复用同一布局,不继承专业画布的按钮造型。\n可选状态/注记独占不压缩的行尾位置,对齐首行;无状态时不占空位,也不虚构状态。\n真实层级保留缩进和展开;Function Module、Flow、Research、业务对象、角色等使用\n同一结构样式。问题轮次保留“两层卡片”,不强行归并成树。\n\n对支持新增的导航集合,新增入口统一放在所属集合末尾,使用共享 `PanelWorkspaceTreeAdd`;\n筛选使用侧栏标题旁的图标入口,保留当前筛选的可访问名称与悬停提示,非默认筛选保持高亮;\n不为单一筛选保留一整行空工具栏。移动入口时保留原有新增行为:\n本地新增仍写同一份草稿,已有宿主 Agent 请求仍走原对话;不为只读产物虚构可用的新建操作。\n分组若只是记录的派生标签,不因补一个“添加分组”按钮而变成新的业务实体。\n\n宿主内 Panel 变窄时,仍保持左侧导航和右侧内容的方向;不自动把树或问题轮次移到\n顶部、改排成横向菜单。沿用现有的导航分隔条调整宽度,保留选中、展开和滚动位置。\n\n多 Panel 的顶部标签栏用轻微对比区分背景;选中标签与下方工作区使用同一底色,\n底边直接相接,悬停时也保持连接。详情章节标题栏延续工作区底色,以文字和细分隔线\n建立层级;正文卡片、输入框保留各自的表面边界。普通阅读和编辑内容统一铺满工作区分配的正文宽度,扣除既有公共边距;问答、连续卡片、详情表单和公共规格不各设最大宽度或居中规则。可用宽度由工作区及其分隔条管理,不由 Bundle 或内容块决定。表单内的属性表随所属正文布局,宽列保留局部滚动;专业画布和预览保留自身布局。内容卡片与分组遵循下述表面层级。明暗主题均需能看出选中的标签,\n不能只依赖文字颜色,或因宿主将多个背景层映射为同色而失去轮廓。\n\n专业组件可保留领域行为(如流程节点联动画布),但导航条目、分组、展开和新增入口\n必须复用已有工作区公共组件,不能在专业分支内重新实现这些基础交互。零子项不显示\n空展开箭头。应用配色等选择动作保留 `aria-pressed` 与只读保护,复用公共侧栏及选择\n控件,不伪装成记录导航。审查应覆盖含子项、空子项、上下文新增和未归属内容的真实\n入口;仅共享一个 CSS 文件或在截图中看似接近,不代表已复用同一基础实现。\n\n这一分工与 [A2UI catalog](https://a2ui.org/concepts/catalogs/) 和\n[theming](https://a2ui.org/guides/theming/) 的思路一致:可用组件/绑定是声明契约,\n客户端设计系统负责呈现。这里复用本项目已有 DSL,不等同于声称完整协议互操作。\n\n写 DSL 前,用已有提案或普通语言回答五件事,无须新建强制文档:用户要理解或决定什么;核心对象和关系是什么;首屏看什么;选择后如何修改;在哪里看出修改结果。\n\n从 Skill 扩展交互式 Bundle 时,围绕这些问题寻找贴合任务的表达。提问、对话或后台执行不决定其交互价值;例如问题卡片可帮助比较与回答,变更视图可帮助理解影响。保留原专业方法,让人的判断能够保存、修订并继续供 Agent 使用,不以补齐配置或展示聊天记录代替这条交互路径。\n\n### 内容卡片与分组\n\n卡片用于分隔完整的内容单元,不能由各 Panel 各自决定基础边框、圆角与留白。\n功能章节承托功能记录、问题题干承托回答、主要语义分区承托字段,是“柔和承托面→基础内容面”组合,\n这些组合使用同一底色方向。标题本身不决定底色;先判断用户在浏览集合、编辑一个对象、\n回答问题还是比较属性,再选表达。未分组的普通记录直接使用基础内容卡片。\n页面、章节与内容应能通过底色对比、留白和轻边界\n辨认,不能把完整记录扁平为同色文字列表。不同表面表达不同的信息层级,不是为了\n装饰而逐字段叠框。\n不为视觉效果创建虚假分组,也不在整个工作区外再套装饰性卡片。\n\n这里借鉴 [Apple HIG 的动态背景层级与一致语义](https://developer.apple.com/design/human-interface-guidelines/color)\n和 [Material 的 surface/container 角色](https://m3.material.io/styles/color/the-color-system):底色帮助表达内容归属,\n与标题、留白和结构一起工作,而非单靠颜色识别信息。具体色阶由本系统的实际宿主主题验证,\n不照搬原平台的色值、材质或控件外观,也不要求每一层嵌套都增加一种颜色。\n[Apple 的容器指导](https://developer.apple.com/design/human-interface-guidelines/boxes)\n也提醒:已有容器内的关系可以通过留白和对齐表达,连续嵌套边框会增加视觉负担。\n\n公共界面语言按用户可感知的承载关系分配,不按 Panel 名称、存储类型或 DOM 深度分配:\n\n| 职责 | 表达与适用边界 |\n| --- | --- |\n| 工作区 | 安静的阅读背景,不代表选中、完成或业务分组 |\n| 结构承托 | 功能章节、题干和对象内有明确任务含义的主要分区使用 muted,所属独立记录、答案和完整字段正文使用 base;字段正文包含标签、说明与控件,不能只把输入框底色当成内容分层;普通布局行或嵌套小标题不因此新增表面 |\n| 普通记录 | 卡片形态统一 base 表面与普通边界;整页详情不为一致而额外套外卡 |\n| 阅读条目 | 需要逐项辨认的已存答案使用 base 内容面与正文色;普通段落与密集表格保留原组织 |\n| 编辑控件 | 真实输入边界、焦点、选择状态与原操作共同表达可编辑;静态阅读项不伪造这些反馈 |\n\n功能模块与智能提问均为“柔和标题容器→基础内容面”。问题组在题目容器之外用章节标题和\n间距组织,不再叠加第二层柔和外框。阅读与编辑维持这个方向,用实际输入边界、焦点与操作\n区分交互状态;不靠反转底色区分。深色模式沿用相同表面职责,不规定内容必须比外层更亮。\n判断可迁移性时同时检查卡片列表、详情表单与表格,而非把一种页面形态复制给所有面板。\n\n| 内容场景 | 共享表达 |\n| --- | --- |\n| 智能提问 | 题干与说明使用柔和容器,真实答案使用基础内容面;已声明的问题组保留标题、顺序和结构,避免重复承托框 |\n| 功能模块 | 真实功能分组使用章节底色,组内各功能保留独立卡片;未分组时直接排列记录卡片 |\n| 业务对象、AI 能力等完整子对象编辑 | 有名称的完整子记录集合以柔和承托面包含集合标题、按需帮助、独立的基础记录卡和末尾添加操作;单条卡片内部沿用真实输入。已有章节负责同一集合时复用其承托,不重复套框。整页当前对象不额外套集合框 |\n| 一个对象内部的字段分组 | 主要语义组用柔和章节承托与完整基础正文形成层级,常显或折叠不改变配色;连续字段共用正文面。组内布局行和小组靠间距组织;已有独立记录卡的集合直接沿用原卡片,不再增加同色外卡 |\n| 具名结构化阅读 | 顶层业务段落沿用同一章节与正文组合,完整对象列表复用记录卡片;内部标签与值按普通字段纵向排列,不因只读改用递归两列表格或独立卡片样式。同级顶层章节(包括引用和未知内容)使用同一容器,默认折叠只决定开闭;嵌套字段不另造章节,未知键和值仍可阅读 |\n| 简单条目与属性比较 | 一条语句用列表,同列属性用表格;存储为 `record_map`、列数或紧凑布局标志都不是新增卡片层级的理由 |\n| 离散值选择 | 选项、已选值与移除操作表达选择状态;简短标签可用 chips,真实图标/说明可用 cards,不把选择值当作子对象 |\n\n普通记录表面统一由 `dsh-panel-content-card` 在共享基础中维护:普通边界语义(`--ds-border-default`)的1px边框、\n8px圆角、16px内边距与卡片间距;紧凑密度沿用12px组间距。章节和问题容器使用共享\n`dsh-panel-content-group` 的12px内边距、12px圆角和柔和底色,与记录的基础表面区分。\n深色模式同样保留可辨认的表面明度差,不照搬白色。分组和记录标题使用\n14px / 500;当前打开对象或工作区的主标题使用600,同页内容分组与重复记录标题使用500,普通字段标签、说明和输入值使用400。\n同排纯文字的标签与值按首行文字基线对齐,保留说明与正文各自的字号;值换行时标签仍对齐首行,\n不用顶部对齐、像素偏移或统一字号掩盖差异。纵向字段、图标、徽标和输入控件保留各自的布局规则。\n记录标题到直接正文、字段标签到控件使用共享8px间距,紧凑时6px;记录标题到一组具名字段、独立卡片、字段或章节之间使用16px,紧凑时12px。父容器按这两种关系管理一次间距,不能用同一个等距布局\n把标题与首张卡片也当成两个独立记录。详情页优先按用户任务组织少量主要分区,\n由既有顶层具名 `form.group` 表达;内部布局组不重复套框,分组标题仍用500。操作性“功能详情”保持400,不因可以展开\n就变成章节标题。\n记录下半部的补充详情开关统一由 `PanelDetailDisclosure` 承担:收起时显示详情名称。紧凑字段表单展开后,收起箭头与首字段标题同排并位于最右侧,给箭头保留独立热区,不留下隐藏名称后的空白行;保留可访问名称、键盘操作和正文挂载。未提供首字段标题的完整表单保留有名称的开关,不将箭头覆盖在未知内容上。此规则不隐藏业务分组或记录标题。\n独立记录与预设分区按内容职责区分,不按当前是否显示“添加”按钮、是否只读或由谁生成判色。\n可独立管理的记录保持基础表面与描边;主要分区使用同一 `dsh-panel-content-group` 承托,默认展开并支持整体折叠,\n整条标题栏按“标题 → 帮助/数量/操作 → 最右折叠箭头”排列;箭头位于整条标题栏最右侧,不能停在题干后、操作之前。展开前后位置稳定,并提供悬停与键盘焦点反馈。\n收起时标题命中区覆盖可见承托面内的留白;展开后仅标题区负责收起,正文编辑不会触发展开操作。\n正文沿用所属8px(紧凑6px)间距,连续的普通字段连同标签、说明、表格和添加操作共用完整基础内容面;\n自带独立记录卡的集合保留其边界,不套第二层同色卡片,关联预览也保留自己的布局边界。\n普通字段中的卡片集合与关联子记录编辑器遵循同一归属关系;固定章节、是否允许新增、只读或达到数量上限均不改变集合和条目的表面职责。\n集合的补充填写说明放在标题旁的共享帮助入口,可悬停、聚焦或点击查看,Escape 关闭;不在集合末尾重复占一行。\n当前对象的背景、实际校验错误和完成操作所必需的信息仍在相关位置直接显示,不因采用按需帮助而隐藏。\n同一详情正文中的普通分组、关联集合和继承集合共用正文区的左右边界,随容器伸缩,不逐组限宽或居中。权限等集合表格使用所属正文区的完整可用宽度,宽列在表内滚动;不因采用表格而越过同级分组右边界。标题栏、独立比较表与画布保留各自框架;表格与chips本身不各添一层承托框。\n是否有添加按钮或能否折叠不决定主要分区的表面。\n所有已有语义灰色内容组统一支持整体折叠,默认展开,允许多个组同时展开。\n折叠能力不取决于条目、字段、控件或选项数量,不为普通字段、chips 或选项另添容器。\n用户手动收起后,轮询、语言或只读状态变化不强制重开;正文保持挂载,增删内容与折叠均保留草稿和内部状态。\n同页同级内容统一采用分组承托或连续表单,不能只给备注增加灰色强调。\n当前条目的具体背景放在公共条目标题栏内,不用固定通用写作指令占据该位置;分组与字段说明放对应标题/标签后的共享帮助入口,\n悬停、聚焦或点击查看,不另占一行。真实业务描述、用户输入与即时错误不当作帮助隐藏。\n不要用填值数量代替内容概览或完成状态。当组只含一个字段且标题完全同名时,保留分组标题,\n内层字段标签仅作无障碍关联,必填提示显示一次。不同名、多字段及带关联预览的组保留各自标签。\n选项卡片根据真实标签、图标和说明自然增高;空的添加入口不预留说明高度。\n\n公共不变量是信息归属、字阶、关系间距、可辨的状态和可用操作;以上组合允许有意义的表面与密度差异。\n共享组件负责这些默认组合,Bundle 负责真实对象、关系和内容。新增变体先说明它帮助哪个判断或操作,\n并与现有模式对照;不因局部截图不同就新增样式,也不按组件名反过来合理化已出现的问题。\n统一 token 只是基础:实际组合还须由父布局管理所属间距,避免子控件 margin、祖先选择器和后置覆盖叠加。\n这里参考 [Fluent 的值与语义用途分层](https://fluent2.microsoft.design/design-tokens) 和\n[Carbon 的关系间距与父布局职责](https://www.carbondesignsystem.com/building-blocks/foundations/spacing/overview),\n沿用本项目已有尺寸与组件,不另建主题系统。\n\n题干和可交互的章节标题使用同一文字盒节奏:20px文字行高,上下各4px由文字块或标题按钮\n管理一次,单行28px,多行自然增高。标题外行不重复加内边距;次要操作在首行28px槽内对齐,\n隐藏、悬停或聚焦不改变排版,也不缩小按钮命中区。动作同排时,最后一行文字盒到下方内容边界\n为12px(紧凑10px),包含标题下留白和8px(紧凑6px)内容间距。窄栏动作另占一行时保留该行\n及其间距,不为了凑同一数值而挤占题干。可编辑名称沿用自身输入控件高度,不重复添加文字盒\n留白;功能卡名称行到描述正文或其编辑框同样由一处8px(紧凑6px)间距管理。\n嵌套子表单保留已有32px操作命中区,标题行随按钮或长标题自然增高;标题行到表单同样为8px\n(紧凑6px)。单行文字到底部内容的实际距离还包含行内居中留白,不能只比较CSS gap就宣称\n像素相同,也不能缩小操作按钮或使用负间距凑齐。\n\n完整记录的边界不能降为宿主最淡的分隔线;未分组的卡片也必须在页面底色上可辨,\n不能依赖外层章节底色才能看清。一层正文容器负责页面留白,内部列表不重复增加左右内缩。\n柔和容器内部,需要独立辨认的已存答案使用共享 `dsh-panel-reading-item` 基础阅读表面:\n与承托面有可辨明度差,8px圆角、上下8px(紧凑6px)、左右12px内边距,\n正文14px(紧凑13px)/400/1.6。条目容器的外沿与所属标题对齐,内部留白表达其归属;\n这不等于重复叠加页面 gutter,也不把每个说明、标量字段或表格单元格都变成卡片。\n阅读项不添加输入边框、悬停编辑或可勾选外观;编辑态保留真实输入、焦点和原有操作。\n智能提问的一道题及回答仍是一个完整内容单元:多选答案按实际已存值逐条显示,单选为一条,\n自由文本为一个完整回答并保留换行,不按标点或换行制造多个答案。未答/跳过是状态,不伪造内容条目。\n题目的灰色外层默认展开,可由用户手动收起;`always_expanded` 只控制答案区域的阅读/编辑呈现,\n不禁止外层折叠。外层开关与编辑、完成、跳过等动作独立,收起不清空回答或取消编辑。\n只读或单列本身不是增加阅读表面的理由;集合须先验证逐项辨认的真实需求,不能按存储形状自动铺色。\n多属性表格沿用表头、行列与原编辑控件,\n记录摘要和普通字段帮助不机械套框。附件和专业附加内容保留自身布局,不用后代通配规则将其压平。\n题目优先获得可读宽度。紧凑内容槽内,题干和原操作可在标题栏内自然换行并保持可见,折叠箭头始终占整条标题栏最右侧,操作不排在箭头之后,\n不为隐藏按钮预留题干右侧空列,也不在悬停时改变卡片高度;空操作组不占行。宽栏保留原有同排及悬停/焦点入口。\n\n审查信息层级时,以实际呈现回答“属于哪一组、哪个是完整记录、在哪里修改”,\n不要以减少边框或加粗数量本身作为目标。并排比较相同宽度下的题干→答案、章节→记录,\n核对宿主解析后的承托/内容底色对:只有色差而方向相反,同样不算一致;不能用代码角色名\n合理化相反的阅读层次。详情内的字段分组保持500,不应\n重于外层记录标题;主题、窄容器与长内容下均复核这一层级。操作入口沿现有\n导航和工具区,不为了恢复内容表面而搬回旧按钮或重新增加工具栏。\n\n保留输入框、回答区、错误、继承与来源等有意义的边界和反馈,不使用后代选择器\n清除所有边框。紧凑表格、专业画布和用户生成的文档\n保留各自表达,不强行卡片化。复验应比较智能提问、功能模块和嵌套记录的实际组合,\n同时检查阅读、编辑、展开和滚动,不能只检查孤立卡片的类名。\n\n连续卡片用于需要对照相邻记录的阅读任务,例如功能列表和验收标准。验收卡片按既有字段\n直接展示条件与通过标准,有内容的验证方式紧随其后,不能拼成无标签摘要或另造执行状态。\n空必填项仍保留标签和原地编辑入口。普通字段用标签、段落和间距组织,不再套一层卡片。\n卡片标题到直接描述使用控件间距(通常8px,紧凑内容槽6px);到结构化字段组使用组间距16px/12px。字段标签到值或输入框仍为8px/6px,不能把两层标题压成与一段正文相同的节奏。字段标签读编同为主文字色,不降成附注。添加、删除、顺序与未展示的来源信息保持原语义。\n分组卡片的上下移动作用于本组可见的相邻记录,保持其他组和被筛掉记录的位置;首尾动作\n按当前组判断。不能让“下移条目”意外变成整组换序,修改所属组仍通过原有分组字段完成。\n复杂对象仍可使用列表与详情,不能仅为整齐把所有工作区改成同一种导航。\n\n#### 阅读、编辑与动作\n\n普通记录卡片、已选对象详情与内部属性、状态和权限采用直接编辑。已有名称、描述、\n优先级及字段的每次修改统一进入面板草稿,不再设置卡片内“编辑/保存/取消”或保存后\n切换阅读外观。底部“取消/保存并继续”是整份面板的撤回和持久保存入口;普通导航、\n过滤和展开不能丢失输入。真正只读的记录仍用完整可读文本,不伪造禁用输入框。\n专业图形与公式编辑器保留其预览/编辑表达,不能以普通卡片规则改变专业内容语义。\n问答保留已回答后的反馈,不给自由文字题新增补充输入框或局部保存层。\n\n具有管理能力的白色记录卡片,编号在名称左边,上移、下移、删除按此顺序位于标题右侧,\n始终可见,不依赖hover;已有折叠箭头保持最右侧。管理动作操作当前记录,不能意外触发\n折叠;没有声明排序或删除能力的静态内容不虚构按钮,表格在行末操作列沿用同一几何。\n长标题使用剩余空间,普通文本允许换行;可直接改名的原生单行输入保留完整值。\n紧凑内容槽的卡片标题与管理动作分两行,动作行靠右,避免常驻按钮挤掉常见标题的关键文字,\n也不能缩小操作目标。新增保留在所属集合末尾。\n记录排序沿既有稳定身份和顺序绑定;受筛选分组仅与本组可见相邻记录交换,其他记录不动。\n拒绝状态不是删除:保留已拒绝记录的查看、过滤与恢复,但不另留一个悬停出现的删除入口。\n分组名直接编辑时只暂时稳定当前卡片的显示位置,离开后再归位,不延迟草稿更新或引入局部保存。\n\n可变尺寸的普通多行输入复用公共控件,空值和单行内容默认只占一行,按实际可用宽度与\n文本换行自动增高,默认最多5行(已声明的自动行数预算限制在3–5行)。更长内容在框内滚动,\n不截断内容;长placeholder不是实际内容,不能撑高空框。用户仍可原生拖高,手动高度不受\n自动5行上限限制,后续输入、外部重绘、容器变宽和折叠重开不将其压回默认高度。\n尺寸是字段自身的界面状态,不写入设计文件、不触发保存或Agent;不同字段不共用一次拖动尺寸。\n普通只读段落保持自然高度,第三方原生画布/专业编辑器及宿主对话框不被全局扫描改写。\n\n连续阅读区的侧栏表示当前阅读位置:点击定位条目标题,手动滚动同步高亮;收起的导航组\n仍能标明当前记录所在组。滚动仅发生在所属内容区,过滤、折叠和尺寸变化后重新判断实际\n可见条目,不跳回旧选中项、不抢焦点、不写设计数据。已拒绝但保留的记录仍可阅读,\n用状态与恢复操作区分;正文不按禁用控件降低透明度。\n同理,历史或只读问答里的已存选项仍是阅读内容:保留正常文字对比和选择标记,\n只锁定修改操作,不能把整条答案套成禁用按钮的淡色。\n\n### 面板自查\n\nStudio 连续呈现同一请求的修改建议时,干净编辑器同步最新候选与诊断,并保留当前\n文件及视图。人工改过原始文件、标题或挂载后,保留当前提案与全部输入;“审阅最新\n建议”沿用共享编辑器的放弃修改确认。保存中或结果待核对时禁止替换。候选展示、\n原生执行结束和已验证保存回执仍是不同状态,不因刷新而自动保存。\n\n语构设计系统(Yugoo Design)的面板本身应帮助人理解、思考、表达,并与 AI 对齐。\n新建、修订或迁移面板时,作者与审阅者必须结合目标用户、实际信息量和操作过程回答:\n\n1. **这个面板的信息表达方式,能帮助人理解和思考吗?** 用户能否先把握整体,再理解细节之间的关系;在需要判断的位置,能否看到相关条件、选择、后果、例外与未知,而不必跨页记忆和拼凑?\n2. **这个面板的交互方便,符合人的操作习惯吗?** 查看、定位、选择、修改和返回是否连贯,操作结果是否清楚;用户是否需要先学习底层字段、技术标识或特殊操作才能完成业务上的判断?\n3. **这个面板的信息量和组织形式,方便人工改写内容、表达诉求和想法吗?** 主次、密度和编辑空间是否合适;相关内容是否能在同一上下文中查看与修改;用户能否直接表达自己的决定,而不只是浏览 AI 的结果,或因普通编辑入口缺失而被迫再次请求 AI?\n4. **人的改写能否清楚地反馈到方案,并与 AI 保持对齐?** 用户能否区分 AI 建议、已表达的决定和待确认事项,看出修改结果及其相关影响;保存与后续 Agent 消费的实际边界是否说明清楚,而非暗示尚未实现的同步?\n\n**面板原则上不推荐多个内部 Tab。** 不按底层数据集合、schema section 或字段类别\n机械拆页;同一对象或同一次判断需要的信息应就近呈现,优先用对象导航、同源详情和\n按需展开组织。Tab 只在确有独立任务或有价值的视图切换时采用,并说明为什么这种\n切换有帮助、如何保留所选对象、未提交内容和阅读位置;需放在一起比较的信息不应\n被拆到互斥页。此原则不设固定 Tab 数量,也不要求所有面板采用同一种布局。\n\n自查用与改动相关的代表性非空内容,沿一条实际阅读、判断和人工改写路径回答,\n在现有任务或交付记录中说明依据、发现的问题和未验证范围,不只写“符合规范”。\n迁移还须对照原有主视图、选择与编辑操作;字段齐全不等于体验保留。\n需要的表达或交互能力缺失时,应明确缺口,不能把机械堆叠表单当作等价完成。\n这是作者与审阅者的工作要求,不新增用户表单、评分、审批或每次全量测试。\n\n#### 独立填写字段的价值\n\n所有显露给用户的独立填写字段,都必须有具体的意义和使用价值。作者需能说明:\n谁提供或确认它;它帮助用户作出什么判断,或被后续哪个环节使用;为什么已有字段\n不能表达同一事实。仅仅因为 schema 有这个字段,或笼统地说“方便 AI 理解”,\n不足以成为独立输入的理由;没有自动化消费者,但确实帮助人比较和决策的信息同样有价值。\n\n- **适用于所有 Kit 的所有 Bundle**:一般性的待确认事项、假设、设计依据、来源说明和补充说明,统一写入所属对象的可选“备注”。不逐记录铺设“待确认与依据”等通用区域,不将备注再拆成数个输入;仅改标题为“备注”而保留原字段组也不算落实。没有补充需求时不强加备注内容。\n- 备注中用清楚的文字区分“尚未决定”“暂作假设”和已确认事实;保留未知不等于保留独立的待确认填写字段。直接影响业务设计的规则、适用条件、约束继续使用有实际用途的业务字段。以提问回答、研究证据或校验记录为核心内容的专用 Bundle 保留相应结构,不把这些核心产物误当普通附注,也不以“后续可能有用”为由复制通用字段组。\n- 名称、描述等已有清晰编辑入口时不再重复输入。可推导的信息由现有机制展示;技术 ID、版本与溯源元数据通常由系统或 Agent 维护,需要核对时提供可读上下文或来源入口,不要求业务用户重复手填。不具备推导机制时不得假称已自动维护。\n- 修订时说明被合并或移出常用编辑区的内容如何保留、后续如何读取与必要时纠正。沿用同一 canonical 事实与保存通道;若改变数据语义,同步 schema、方法、输出契约和必要迁移。不得静默丢弃用户内容、来源引用或精确版本。\n\n在现有面板自查中结合实际阅读与改写验证上述判断,不新增字段打分表或单独审批。\n\n| 需要理解的信息 | 优先表达 | 现有能力入口与限制 |\n| --- | --- | --- |\n| 独立对象的取舍、分组和摘要 | 分组卡片、列表、按需展开详情 | `record_board`;分组不是新增业务实体 |\n| 真实父子结构 | 树、层级脑图 | `record_workspace` 的结构导航、`mind_map`;不把普通引用画成包含 |\n| 对象之间的关联、约束或依赖 | 有名称的关系图 + 选中对象/边详情 | `relation_graph` 配合 `record_workspace`;显式绑定端点与关系字段 |\n| 页面导航及其产物 | 导航地图 + 选中页面/连线详情与预览 | `navigation_workspace`;布局分组不隐含业务关系 |\n| 顺序、分支、责任或状态转换 | 流程/泳道、生命周期图 | `diagram_workspace` / BPMN,或受限的 `lifecycle_canvas`;分别核对可读、可编辑边界 |\n| 多条记录的同维度比较 | 共享表头的轻量表格或只读矩阵 | 多列 `record_map`、`record_matrix`、`relation_matrix`;不省略条件、例外或引用 |\n| 提问、回答及尚未知信息 | 问题卡、选项、补充说明 | `question_workspace`;选项不是答案,跳过不是确认 |\n| 调整参数后的直接效果 | 控件 + 同源效果预览 | `preview_workspace` / `record_preview`;预览不等于执行或发布 |\n| 理由、来源、报告和整体交付 | 可阅读正文、来源定位、章节导航 | `document_workspace` / `artifact_workspace`;日志不冒充研究结论 |\n| 未结构化想法 | 白板、草图、批注 | `canvas_workspace`;手绘线不自动成为 canonical 关系 |\n\n自由输入答案的问答题只有一个答案区域;编辑态、阅读态和展开/收起时都不显示额外补充输入框或补充说明,不保留旧数据的只读兼容区域。选择题可以提供“补充说明”,阅读和编辑态使用同一个标签,不追加可选后缀。该规则由共享问题组件实现,Bundle 不重建第二个输入区;渲染不会把旧补充值自动拼进答案或改写已保存事实。\n\n普通表单与卡片详情中的多列简单 `record_map.columns` 复用共享表头的编号表格,不再每条重复集合标题。单列保留其所在场景的标题语义;带 `item_fields` 或折叠交互的复杂子表单保留卡片表达。窄容器由表格内部横向滚动,文本域按内容增高并可手动调整;变化只影响呈现,不改变稳定键、添加删除或保存语义。\n\n关联记录表格的详情开关放在该行的操作列,与删除按钮分开。展开后在当前行下方显示通栏详情,收起时不单独占行;保留编辑器状态与键盘可达性。只读模式仍可展开详情,展开和收起不写设计数据。此行为由共享表格组件提供,Bundle 不单独编写开关或叠加样式。\n\n图形应帮助读者发现文本难以直接表达的关系。单个事实、短列表或理由正文可以只用文字和表单;不要为“可视化”而添加无意义节点。缺失能力先明确说明,用已支持的安全阅读方式保留全部事实,不把降级表单宣称为完整专业图形体验。\n\n## 2. 图形与表单必须同源\n\n画布方法的文件归属与内容覆盖遵循 [Bundle 画布创作规范](../.agents/skills/design-bundle-creator/references/canvas-authoring.md):\n每个含画布的 Bundle 用自身 `reference/canvas-guide.md` 作为统一入口,索引\n原有专项资料,并从普通方法与还原契约均可达。统一的是生成规范的记录方式,\n不是图形类型、领域风格或布局算法。下述共享控件约定只作用于其适用组件,\n不能将关系图端口规则强加给 BPMN、Excalidraw 等专用格式。\n\n节点、卡片、连线和详情都绑定同一 canonical 身份。修改名称应更新相同对象的所有视图,不能生成第二份图形专属事实。连线标签说明关系;箭头不自动表示执行顺序,空间相邻不代表依赖,颜色不单独承载关键意义。\n\n需要用户引用编号的分组卡片可用 `board.id_field`,在标题旁用次级文字显示已有只读 ID;展开的内联详情沿用同一卡片标题,覆盖式详情在顶部保留编号。编号不是可编辑名称,不增加编号生成、回填或保存通道。\n\n记录标题按实际可用宽度分配空间:名称与其编辑图标组成一个整体,图标留在标题区域内;短编号保留自身宽度,名称在剩余空间内收缩。超长编号可在限定宽度内换行,不能与编辑入口重叠。沿用原单行名称输入和完整值,不靠隐藏操作、缩小点击目标或新增编辑流程处理窄栏;验收须检查相邻元素的实际边界,页面没有横向溢出并不足以证明没有重叠。\n\n总览用于定位和比较,详情用于精确编辑。只在需要时展示低频细节,但影响判断的冲突、权限、异常和未知不得隐藏。大图提供已支持的导航、筛选或相关邻域;不能把字号不断缩小来塞进所有节点。只读图明确只读;专业编辑器的文件格式、布局与保存屏障沿原契约处理。\n\n视图选择、展开和滚动属于界面状态;显式保存的画布坐标属于布局数据;对象和关系属于设计事实。不要互相推断。排序仅在契约已有顺序字段和实际操作时提供;引用编号只是定位,不自动生成 order 字段或上下移动按钮。\n\n对象导航只呈现对象及其真实层级,不将关系重复做成导航树。关系在画布中选择,仍由同源详情编辑。单一对象集合不套同名分类根节点;这同样适用于没有画布的树形表单工作区,不按“是否有图”区别处理。直接呈现真实记录,保留其从属记录和上下文新增;多类真实对象保留必要分组。画布入口复用 `PanelWorkspaceCanvasToggle`:侧栏右沿、24×48px、16px 线性箭头,与功能模块一致;切回详情保留选择和未提交输入,不能因简化导航丢掉关系编辑能力。\n\n从属记录尚未指定父对象,或父对象引用失效时,须保留可点击的提示入口,允许查看并修正原记录;不能因无法挂入树而隐藏,也不自动猜测归属或制造占位父对象。多父记录仍有有效归属时在该处访问,其余失效引用由详情提示。\n\n在 `workspace_view: switch` 工作区中,已由选中记录的 `record_related_editor`\n完整覆盖的上下文集合,不再重复列在对象树中;普通树形工作区保留原有上下文导航。\n根级标签页全部承载完整工作区时沿用全幅工作区布局;混合普通文档的标签页不自动\n取消文档边距。集合与结构等独立信息仍须有明确入口,不能随导航简化一并隐藏。\n\n记录工作区的正文只有一组非空标签页时,外壳统一管理页签条和可用空间,不依赖\n其他页签是否也是表单。普通详情、矩阵和产物阅读各保留一层16px正文边距,\n不叠加工作区、标签页和表单的外边距。普通表单节奏只应用到页签的直接详情区,\n不将整个混合页签标为表单而影响图形或嵌套工作区。页签条与正文对齐,长表格和\n详情在各自内容区滚动;图形与多栏布局保留其已有尺寸约定。\n\n表单与画布互相覆盖时,隐藏但保留挂载的视图不得撑大可见视图的滚动区域。\n焦点切换和恢复不滚动外层工作区;窄屏缩放后也须保留画布顶部工具栏与完整入口,\n详情长内容在自己的区域滚动,不将整幅画布卷出视口。\n\n保留挂载的受控画布须保留框架测得的节点尺寸与连接点;更新投影不能丢掉测量\n状态,使同尺寸的重入等待一次不会发生的重新测量。这些都是暂态呈现状态,不进入\ncanonical 数据或保存;验收覆盖从详情返回画布及退出后新实例重新打开。\n\n共享 `relation_graph` 节点在上、下、左、右各有一个可双向使用的连接点;\n方向由实际起点与终点决定,不由端口所在侧决定。手选端口与自动路由一致,\n是当前视图几何,不写成业务字段;重开视图仍按默认右出左入自动布局。\n只读模式禁止连线,单父、循环等领域限制仍走原记录创建与保存校验。\n自动取景(初始、恢复显示、自动布局、适应画布)最高100%,手动可继续放大;\n图的节点与完整标签共同参与布局;关系图的长链按可用画布比例折行,不能为了\n显示全图把少量对象压成难以阅读的细横线。折行只改变视图几何,不改变关系、\n端口方向或设计数据。若布局库的折行造成文字重叠,保留完整标注的原布局与缩放操作,\n不能以压缩面积为由牺牲关系含义。画布工具栏与内容区域保持16px两侧留白,\n标题与按钮对齐,不能在全幅画布里让标题贴边。\n\n关系图、页面导航图、功能分组思维图复用 `PanelCanvasHandles` 与\n`PanelCanvasToolbar` 的连接点/计数呈现,和同一自动取景上限。\n标题14px/500、数量12px/400次级色,不混用胶囊计数与裸文字。\n数量由 owning 投影明确提供:关系图显示真实对象与合法边;页面地图\n显示页面/导航连接,分组 frame 不是页面;功能思维图显示条目/分组,\n不把合成根节点当业务对象计数。只有已有可编辑关系契约的画布允许连线;\n派生思维图的端口只用于路由,不新增关系写入。页面地图既有布局坐标、\nframe 尺寸保存规则保持不变,不因复用控件而改成暂态数据。\n页面地图与公共规范通过现有画布工具栏右侧、添加操作旁的双按钮分段开关在同一区域切换,\n不为切换另占一行或重复标题栏;左侧页面地图图标、标题和数量代表工作区上下文,切换时保持不变。\n右侧开关位置不变,仅显示当前视图适用的操作。\n切换过程中,暂不适用的已有操作保留自然宽度占位、不可见且不可聚焦/触发,避免窄窗口跳行;\n不为本就没有添加能力的工作区虚构占位。动作组换行后仍右对齐。复用公共 Tabs 的\n选中状态、键盘操作和常驻内容,不新增弹窗或独立返回流程。右侧边缘开关只负责地图与\n具体页面详情,不承担公共规范的返回。切换保留地图视口、所选页面、预览与未提交内容,\n外层横向面板导航始终不变;具体页面详情沿用自己的标题栏和返回地图入口,不叠加地图工具栏。\n不把长规范正文挤在地图上方。\n\nKAG 的只读关联图谱沿用当前共享工作区的导航、搜索、筛选和详情基础,\n节点数量在底部状态区显示,布局说明放在视图设置中;画布顶部不重复显示数量提示或实现说明。\nCanvas 内采用已确认的来源配色、细点细线和来源密度星云。星云只解释来源分布,\n不是新的业务分组或知识事实。Graph 与按 Bundle 排列端点的圆形关联视图读同一份图,\n保留每条关系的原始端点、依据、方向和候选状态。候选线使用虚线;聚焦时突出邻域与\n两端渐变,降低无关线和星云的强度。明暗切换只改变画布,不重排节点、不切换宿主主题;\n切换视图保留各自的缩放和平移。展开与收起继续由原记录投影负责,图中选择沿用\n同源详情。无 WebGL 时保留可读的密度底色与完整 SVG 交互。\n常规画布保留已确认的点线尺寸;更大的可用画布按容器尺寸有限放大点线,最多1.4倍,\n保持记录与字段、普通与聚焦关系的层次。尺寸适配不依赖设备像素比,不放大宿主控件、\n不重排图谱;标签避让和点击区域须容纳放大后的节点。\n浅色画布使用柔和的来源色;深色画布保持相同来源色相,提高节点、关系渐变和来源弧线的\n亮度与饱和度,并提高普通连线的可见度。星云仍居背景,选中关系优先于普通关系。\n星云层以90%不透明度呈现,轻微降低存在感,保留原有纹理与层次,不连带淡化前景点线。\n2D 与 3D Stress 共用来源配色、明暗状态和右下角画布工具栏,保留缩放、适应画布、\n明暗切换与重新布局的顺序和样式。3D 专属投影、聚焦主体和暂停操作放入「3D 选项」。\n3D 的星云复用来源密度渲染,随相机旋转、平移和缩放更新屏幕投影,不表示新的空间关系;\n三维前景透明叠加,切走视图时同时释放前景和星云资源。\n2D 是默认阅读视图,3D 保留为可选探索视图。文字分层呈现:优先显示记录短标题及\n真实内容数量;展开后,每个记录默认提供一条字段短标签,放大时逐步增加至三条。\n优先选取参与明确关联的简短字段,作为阅读入口,不表示业务重要性或置信度。\n悬停、键盘聚焦、选中或搜索命中时,聚焦对象和关联邻域不受普通字段数量限制,\n标签按实际屏幕空间避让。已有选中对象时,悬停其他节点不替换选中的关联邻域。\n记录与字段节点继续保留;完整名称、正文、来源与证据通过原有提示和同源详情查看,\n展开/收起入口显示真实内容数量。画布短标签不改写 canonical 名称或正文。\n\n图谱的右侧详情是普通只读阅读界面,复用公共标题、分组、正文、辅助文字和控件;\n专用样式只负责画布内的位置和响应式尺寸,不另设小字号表或固定窄标签列。\n首屏先呈现选中对象、关系含义、实际状态与已有操作;业务端点分段呈现,长句不与箭头、\n来源和状态挤在同一行。固定解释使用共享提示图标,不重复占据正文;来源、方向、分数、\n模型和 JSON 等诊断信息不作日常阅读内容,保留在默认收起的技术详情中。聚合关系只有在含义、类型、来源、方向和状态全部相同时\n才共用一次解释;候选、未知和采纳状态保持可见,差异状态按原关系分别展示。\n有真实文字依据时按正文展示,不能把结构化来源 JSON 当作业务解释,也不从分数编造结论。\n每条原关系的端点、原始标签和证据完整保留,技术定位与原始依据默认按需展开。\n来源面板使用已知友好名称,原文件、位置和类型仍可在来源详情查到。\n折叠和语言切换不重建图谱或清除选择、搜索、相机、固定位置,滚动应能到达原文末尾。\n\n连线标签表达关系含义,不重复节点已经展示的“A → B”端点名称。\n共享关系图仅对精确匹配两端名称的自动端点串作展示去重,保留关系类型、\n端点数量等说明及用户自定义的关系文字;无关系含义时不绘制空标签或占位框。\n详情和可访问名称仍提供完整端点,canonical 关系记录不因展示简化而改写。\n\n继承来源使用共享 `RecordInspector` 的轻量关联区,而不是数量徽标或通栏表单按钮:声明的说明与可导航的父类型名称左对齐,父类型可为多个,长名称和窄容器自然换行;详细说明为12px次级正文,关联区与对象详情间距16px。名称旁的方向图标表达“查看来源”,悬停/键盘焦点和可访问名称明确目的;只读时仍可导航。图中摘要与表单详情复用同一呈现,不复制父类型字段,也不把点击查看变成保存或修改继承关系。\n\n单父领域可显式声明 `graph.hierarchy.max_parents: 1`,共享表单提供来源选择,\n画布与表单修改同一条边,不另存 parent_ref。祖先的关联记录可由\n`record_related_editor.inherit_from_graph: true` 按来源只读展示,自己的记录仍\n在原编辑区维护;不要复制父记录、隐藏来源条件或猜测权限覆盖规则。\n此场景的左侧树只呈现对象层级,不重复列出已由完整编辑器覆盖的关联集合。\n来源选择、清除与子节点创建复用同一保存事务;UI 阻止循环/多父并不替代\nBundle 的保存校验。未声明单父的业务对象多父关系保持原行为。\n\n端点缺失、暂不能绘制的关系必须在画布内提供局部提示和原记录详情入口;两端都缺失也不能丢失入口。只读仍可查看、不可修复,不补造对象或自动清理关系。组件自己的样式高于工作区/记录容器的低权重默认,不能让父级全后代 `button` 或 `label` 规则覆盖嵌套组件的排版。\n\n用户需要一起理解对象与其集合、结构时,优先在同一画布呈现其联系,避免仅按数据类型拆成互不相见的页签。业务关系与引用连线必须有可读的名称与类别,不能只靠颜色区分。显式声明的关联节点可点选进入原记录详情;引用由原字段编辑,不提供会误建业务关系的拖线入口。只在选中对象详情中完整覆盖的从属记录可以省略重复导航;有独立含义和编辑需要的集合仍保留入口。运筹对象面板采用这一组合;不要求所有领域使用同一图型。\n\n显式采用有序参与方绑定的关系图保留二方连线与拖线创建;三方以上以原关系的名称、\n关系类型及逐角色参与线表达一个联合关系。关系中心只是同一 canonical 关系的投影,\n不计为业务对象,不成为新的连线端点;参与线无方向箭头,不能冒充独立的两两关系。\n同一对象承担不同角色时保留每一条参与线及角色文字,不按目标对象去重。选中中心或\n参与线进入原关系详情;参与方增删/排序和关系属性在共享表单编辑。此可选表达不改变\n其他 Bundle 已有二端点、继承或反向操作;真实参与方顺序与画面坐标仍是不同事实。\n\n## 3. 字体、层级与阅读/编辑\n\n条件表单按用户选择呈现适用的问题,而不是把多种语义塞进“位置或条件”等合并标题。\n先呈现主选择,再在其后就近呈现适用的二级字段;复用组间16px、组内8px,\n不为每个分支另套卡片或重复标题。选择后保持焦点,不自动跳页或提交。\n同一数据字段可用共享声明 `label_when` 切换可见标题和可访问名称;不适用项用\n`visible_when` 隐藏。两者均不改写用户内容,切回时应恢复已填值。只有明确授权的\n数据清理契约才允许清空隐藏字段,不为了 UI 简洁增加三份重复数据或隐式迁移。\n例如入口位置随触发方式改称“对话入口位置/操作入口/触发时机”;按钮可不要求\n额外输入,后台不显示人工输入方式。“自动带入的信息”与用户输入、通用资料库分开表达。\n条件必填必须与实际 schema/validation 的适用条件和阶段对应,不能隐藏仍要求用户\n填写的控件,也不能仅凭隐藏就跳过领域校验。若实际约束尚不能表达该分支,先补齐\n契约或保留可理解的入口,不用视觉掩盖。验收至少覆盖各分支、切回保留、只读、双语、\n键盘焦点,以及保存重开;简单可选说明不必为此新增必填规则。\n\n共用系统/CJK 字体栈;文件名、代码和原始 YAML 才用代码字体。复用 [现有 token](../packages/panel/src/client/ported/token.css)。所有 Kit 共用 `packages/panel` 的基础控件、排版和间距规则;Bundle 只声明内容、组织和交互,不拥有另一套字体、留白或 CSS 补丁。共享规则在原定义处维护,不通过重复选择器、Kit 名称或加载顺序逐层覆盖。宿主负责窗口布局,专业画布负责图形布局;它们不重新定义表单基础样式。下表按信息角色区分样式,不按 Kit 区分。\n\n| 信息角色 | 默认字号/字重 | 使用规则 |\n| --- | --- | --- |\n| 独立页面主标题 | 18px / 500 | 一次显示主要标题;不要重复产品名、页面名和 Bundle 名占满首屏 |\n| 当前打开对象或工作区的主标题、详情名称 | 14px / 600,行高20px | 使用共享标题字重 token 和主文字色,突出当前查看的对象或范围;折叠前后保持一致。轮次、阅读产物工具栏及通用节点标题不能落回浏览器默认字号 |\n| 内容分组、重复记录卡片、集合标题、图中记录名称 | 14px / 500,行高20px | 下属关联集合及继承来源集合与普通分组同级,不因来源不同提升字重;树导航普通项仍按导航状态使用400/500;功能卡片“功能详情”保持400 |\n| 普通字段标签、主要正文、常规表单值、长文本编辑 | 14px / 400 | 标签靠位置与间距识别,不普遍加粗;默认阅读和编辑保持字号与文本起点一致,正文行高约 1.5–1.7 |\n| 摘要、辅助说明、密集次级字段 | 12px / 400 | 清楚但次要,不把主要说明、错误或所有字段机械缩为小字 |\n| 表格、行内编辑 | 按该内容角色 | 阅读/编辑同列对齐;避免切换导致列宽、行高和阅读位置突然变化 |\n\n普通排版角色统一由 `visual-components.css` 的共享排版区定义;组件只映射角色,\n不在各自布局规则中重复字号、字重和行高。当前 Web App Kit 的普通导航与表单均\n使用这套公共基础。背景色、表格结构、`strong`/标题标签和阅读/编辑状态不改变角色:\n当前对象标题与重复记录标题不同,重复记录不会因为沿用详情标题框架而升级为主标题。\n内层文本与编辑控件继承其角色,修改公共角色时移除旧声明及会重置字体的 shorthand。\n富文本强调和数学记法保留其专业语义;专业画布中的普通标题、分组与表单仍复用公共角色。\n中英文复核须检查同一宿主环境的实际字体回退和实屏效果,CSS 数值相同不能证明感知字重相同。\n\n字段标签不因使用表格、`rows`、紧凑 `record_map` 或选择器而提升字重;例如功能详情中的使用场景、核心行为、输入和异常处理均为同级普通字段。只有实际承载\n独立条目的集合标题使用分组层级;同一章节中的普通字段标签保持400。横向复核需\n比较不同控件的同级标签,不能仅检查章节标题与卡片标题。\n展开后的自定义填写标题、来源片段标题仍按分组角色使用14px/500/20px,\n不可继承 `strong` 的浏览器默认粗体。折叠正文与常显正文共用同一排版;\n结构化只读字段由列表统一管理字段间距,标题、正文容器和首行不得重复叠加留白。\n标量与对象的展开正文使用相同的组内间距。复核须真正打开自定义输入、来源和嵌套折叠项。\n\n次要卡片摘要可保留**阅读 12px、编辑 14px**的已确认模式;承担比较、取舍和业务理解的主要记录说明按正文呈现,不能仅因放在卡片中就降成辅助小字。编辑是在更易输入的明确区域进行,而非每次聚焦都放大所有文字。标题不会因进入输入框降为正文;长篇正文不自动缩为摘要。默认规则若与已确认的原生/场景基线不同,应记录适用范围并在对应任务中迁移,不静默改写。\n\n工具自身的标签、控件和状态跟随宿主界面语言;Bundle 双语标题必须随该语言更新,\n切换语言不重置所选记录或草稿。用户设计内容保持其保存的语言,不在渲染时自动翻译。\n双语 UI 审阅使用分开的中英文项目,并为展示选择配套界面语言;生成产物内的固定结构\n文案跟随产物已有语言声明,业务编号、路径和身份标识不翻译。\n\n共享 Panel 以实际容器宽度自动选择紧凑密度,不按显示器型号或整个浏览器视口\n推断。内容宽度不超过560 CSS px时,常规正文/字段与共享选择控件采用13px、\n详情组间12px/组内6px;次要文字保留12px下限,输入框与点击热区不随文字机械\n缩小。宽容器仍使用14px与16/8px。阅读产物按自己的实际阅读区域宽度适配,\nMarkdown标题按正文比例呈现:一级约1.43倍、二级1.29倍、三级1.14倍,\n不继承浏览器默认的大标题;段落与列表保持统一节奏。不得用全页zoom、transform、\n文字缩放禁用规则或改写用户HTML/iframe实现紧凑模式,保留浏览器放大能力。\n此默认针对工具自有阅读/编辑控件,不替代专业画布的视图缩放或用户页面设计。\n\n普通声明式表单、结果阅读页与嵌套字段复用上述标题层次。章节标题提供范围,\n字段标题标识具体内容,正文与输入保持常规字重;不靠缩小全部正文或把整块内容\n加粗制造区分。问答、数学阅读等不同形态的普通导航、标题与字段都遵守公共角色;\n已确认的次要卡片摘要、常规字重的操作性展开入口和专业公式记法保留相应语义,\n不因此形成某个组件的排版豁免,也不改宿主界面或生成产物的品牌字体。\n\n长文保留完整换行,不能用省略号隐藏关键事实。导航用精简名称,允许换行;详情在内容区显示。中英文混排、长名称和浏览器文本放大都需保持可读与可操作。\n\n详情的顶部可编辑标题是该记录唯一的名称入口:正文不重复渲染同一个\n`form.header.title.field`,只读时也只在顶部显示。按当前记录的实际绑定去重,\n不按“标题/名称”的文案匹配,不隐藏嵌套记录自己的名称,也不删除 schema 或保存字段。\n没有顶部编辑入口或采用常量标题的表单仍保留正文的名称输入。\n\n同一记录组合多个表单投影时,详情容器只承担一次左右留白;仅标题的投影不产生空正文和额外段间距。工作区已有对象导航时,不根据任意关联字段自动增加“返回父级”文字链;真正的继承来源或跨对象追溯保留明确的查看入口。\n\n真实可编辑的记录名称复用共享标题输入与铅笔标记;铅笔只聚焦并选中原输入,\n不新增改名弹窗或保存通道。名称后不显示 `*` 来暗示可编辑,原 `aria-required`、\nschema 与完成校验仍保留;普通必填字段仍使用原必填提示。只读、派生标题、\n身份字段或缺少实际更新回调时不显示可编辑铅笔。\n详情标题栏最小高度44px,内部输入与操作控件保持32px并垂直居中;多行只读名称可自然\n增高。标题栏作为详情首项时紧接上方提示条或工作区边界,外侧不再叠加顶部留白;\n没有标题栏的普通内容保留自身阅读内边距。标题文字与下方分组标题使用同一左起点;聚焦以轮廓和背景反馈,不增加\n内边距或占位边框。记录标题到正文的间距由唯一父容器管理,不能再叠加空投影。\n标题栏保留共享浅灰背景和下分隔线,以区分对象名称与正文分组;组合详情只调整容器留白,不将标题表面重置为透明。背景延伸到内容容器两侧,标题文字仍与正文左对齐。\n\n字段标题是最小信息单元的唯一可见标题。不要为了“分组”再给它套一层\n“实现方式/底座选择”“工作说明/AI 应该怎样完成任务”这样的近义标题。\n`form.body.group` 可以不写 `title`,仍保留字段顺序、条件、说明和共享间距。\n多字段组只有在组名提供明确的额外语义范围时才使用标题,不把泛化的阶段名\n放在每一组输入上;说明文字不能因去标题而删除。\n\n长记录可用声明式 `form.body` 页签按用户任务分开,而不是增加第二份记录或\n把每个字段变成页签。共用顶部名称,页内不重复页签标题;默认页呈现用途和体验,\n完整指令与资源、行为约定按真实信息归属组织。已有语义灰组统一支持折叠、默认展开,\n不按内容数量或填写频率另做判断。折叠或切页不清空内容,不作为权限隔离。组内16/8px节奏、键盘页签交互与只读\n约束一致;未解决的重要约束须在交接中明确,不能靠折叠伪装已经确认。\n收起时保留可辨认的标题和原有必要状态;不为决定折叠再统计字段或记录数量。\n折叠和填写状态均不代表校验通过、完整或已确认。\n\n灰色分组标题与内容左边界对齐;帮助、数量和操作位于折叠箭头之前,箭头始终在整条标题栏最右侧。\n同类内容组不保留箭头紧跟标题、落在其余内容中间的例外;普通树导航仍使用原有左侧层级箭头。展开不额外增加正文缩进。\n长标题自然换行,箭头不挤压文字;标题到其直接统领的首个内容块遵循组内8px/紧凑6px,\n后续独立内容组之间使用16px/紧凑12px,折叠不改变这两种关系。\n分组标题使用14px/20px/500,文字行高、点击热区与外部间距分别管理:\n分组折叠按钮与原生字段组summary的标题行均保留上下4px留白和最小28px热区;长标题自然增高,\n不靠放大行高撑热区、不用固定高度裁切,也不靠负间距抵消多处留白。\n重复记录标题保留500字重,\n功能卡片的“功能详情”保留已确认的400字重。此规则适用于共享字段组、重复记录\n和卡片详情,不改变结构树的前置层级箭头或节点缩进。\n\n共享解释器对**单个直属字段、可见标签、与组名精确相同且无 sidecar**的声明\n只保留一个可见标题:真实语义分组保留组标题、内部标签仅供无障碍使用;纯布局组保留字段标签。\n两种组合都保留必填标记、可访问名及原编辑通道。不同名称的语义范围、\n多字段组及有预览的组不靠文字猜测自动删除;近义冗余由作者按上述规范清理。\n`label: visually_hidden` 且由组名担当唯一标题的情况保留组名和必填提示,\n不一刀切隐藏首字段,也不修改字段名、schema 或用户内容。\n\n## 4. 间距、对齐与空间利用\n\nStudio 嵌入宿主时,窄屏菜单按钮与导航抽屉锚定 Studio 工作区自身,不固定在浏览器窗口上。\n工作区旁边或上方的宿主对话及标题不被覆盖,展开过渡也不越过该边界;抽屉关闭时,其导航控件也不进入键盘焦点或可访问树。\n\nDSH Web 与桌面版的「Yugoo设计」(英文「Yugoo Design」)入口统一放在宿主顶部工具栏、文件打开动作左侧,\n通过公开 utilities slot 排序,不依赖轨迹页签是否存在,不再降到输入框上方。\n首次打开设计面板时沿用自动收起宿主导航与70/30初始分栏;用户随后可直接展开\n左侧导航,与设计面板共存,重排仅按实际可用空间限制面板宽度。后续设计活动只聚焦\n对应页签,不重置人工分栏或重新收导航;切回会话、客户端重挂载也只适配当前布局。\n关闭面板只恢复本次打开所收起、且未被后续宿主或用户动作接管的导航状态。\n展开后的项目头正常为两行:构思完成度,以及项目名称和克制的打开文件夹图标,\n两行默认沿用共享组内8px间距;宿主标题栏高度不足时在同一定义中收紧间距,\n保留文字行高、文件夹按钮热区及与宿主信息栏下分割线的对齐。\n图标调用宿主已验证的原生打开能力,进入当前项目目录;不单列路径,也不把路径\n改成悬浮提示。没有原生能力时不提供伪按钮;打开失败就近提示,支持键盘重试。\nDSH 侧栏从桌面菜单/标题栏下方开始,两侧信息栏以**下分割线**为对齐基准:\n测量公开 `conversation.header` 中实际 header 的顶部与完整 border-box 高度,\n相对 overlay 定位原点换算;不能量 display-contents 包装或内部标题行,也不能\n只加顶空白而继续固定64px。随宿主页签、缩放、全屏、窗口大小和头部重挂载同步,\n菜单栏仍归宿主。DSH 两行头中的图标为24px,其余独立头保留28px;打开失败的\n就近提示不撑高这条分割线,也不挤占菜单栏。无可见宿主信息栏时分别推导顶部安全区\n与可读的两行回退高度,不声称缺少左栏时仍可严格对齐。长项目名在本行省略但保留\n完整名称提示;评分理由和过期状态仍可访问。原有明确启用的单行嵌入模式保留,\n不改设计数据、保存屏障或宿主界面。\n\n用现有 4/8/12/16/20/24px 间距梯度:图标和文字 4–8,容器内边距通常 12–16。\n间距表达内容关系:标题与所属内容、标签与控件使用组内8px/紧凑6px;完整内容组、\n字段或记录之间使用组间16px/紧凑12px。独立工作区、对话等大容器可采用24px,\n不将后者套入每一组字段。同一角色的默认规则不因是否可折叠、所在Panel或语言不同\n而改变;具体场景的已确认例外应明确说明。复验实际组合的最终距离与归属感,\n包括文字行盒、热区内边距和容器间距,不能仅确认各处都引用了token。\n\nStudio 详情页的顶部标题区采用同一紧凑基线:标题/图标/操作的内容行32px,\n上下各8px,正常单行整体48px;标题18px/24px、500字重,图标和普通操作按钮32px。\nKit、Bundle 与本地副本不再分别设置垂直尺寸。窄屏、长标题及操作折行可自然增高,\n不用固定高度裁切内容。Kit 与 Bundle 的版本选择器复用28px紧凑触发器,在内容行内居中;\n展开列表同样使用 Studio 主题的背景、边框、圆角、间距、悬停和当前版本勾选,不只装饰\n收起时的外框。列表独立于正文裁切区,并在视口内限高、滚动和避让。方向键、Home/End\n及输入前缀只移动候选;Enter/Space确认,Escape取消,Tab或外部交互关闭,保留焦点提示。\n选择仍经过原有离开草稿确认和精确版本路由,展开、移动候选、取消均不切换版本。\n这是 Studio 标题区的已确认场景规则,不覆盖 Panel 内的章节或记录标题。\n\nStudio 的设计套件(Kit)与设计技能包(Bundle)卡片列表共用目录工具栏,不重复侧栏和\n面包屑已经表达的页面标题与副标题。搜索靠左,与卡片网格起点对齐;桌面搜索框宽300px、\n高32px,旁边显示有文案的总数(如“共23个技能包”),查询时显示匹配数与总数。\n数量按实际卡片身份计算,包含本地副本,同一已安装内容的多个版本只算一个。\n工具栏上方16px、下方到卡片24px;窄屏自然折行,不强行延长搜索框填满桌面。\n实际筛选需求可加入这一工具栏,不提前放置无功能的筛选入口。\n\nStudio 在 Kit、Bundle 列表分别提供紧邻新建动作的导入入口,直接选文件,旁边菜单\n可选文件夹。Bundle 接受普通 ZIP、文件夹或裸 `SKILL.md`,核心只要求 `SKILL.md`;\nKit 核心要求 `mindset.md` 和 `kit.yaml`。其他缺项保留为可编辑副本并提示待完善,\n让用户选择「AI 补齐」或「暂不补齐」;后者在卡片显示可点击的「待完善」提示。\n补齐接入原有宿主创作、差异和保存,不增设独立向导。原始文件树支持人工新建文件;\n人工和 Agent 新增文件都进入同一文件树、差异、预览、全局保存和还原流程。\n当前 Kit/Bundle 就是创作范围,不要求用户逐文件授权,也不以内容完整、已有面板预览\n或入口时列出的文件作为开始编辑的条件。没有 `panel.yaml` 时先打开原始文件。\n重名自动命名,不覆盖已有对象。\n成功提示并刷新当前列表;取消选择不改变内容。不要增加归档页、JSON 编辑或审核流程。\n导出沿对象「…」菜单直接下载 ZIP,不要求填写来源或许可证,导入也不做许可证检查。\nBundle 卡片的 Kit 数量标签本身就是查看挂载入口,不另放重复按钮。\n下载文件名保留对象的中文及其他 Unicode 名称,只替换操作系统不允许的文件名字符;\n保留修订号或版本号及 `.zip` 扩展名,不能用 ASCII 白名单把用户名称变成下划线。\n\nStudio 的设计套件列表用工具栏右侧的次要外链提供官方套件清单与获取指引,\n不增加市场页或把未安装的套件混入已安装目录。外链明确新标签页打开,并保留键盘焦点;\n查看清单不安装、升级或修改项目引用。公开文档可访问性与界面渲染分别验收。\n\n- 工作区类组件占满可用内容区域,不再套文档卡片、重复页头或大段说明。DSH 与 Companion 的完整设计标签页及场景体验沿用无装饰外框的共享 viewport,不添加整页圆角边框或不对称外留白;侧栏分隔、记录卡片、表格和控件仍保留各自有意义的边界。正文留白归可见内容表面所有,不能靠移除边框掩盖宽度溢出。明确导航、内容和底栏的空间及滚动所有者,避免多重整页滚动。\n- 布局外层裁切只用于由子视图管理滚动或平移的区域;普通长内容必须有可到达末尾的滚动区。Bundle 不声明 CSS 溢出策略。组件目录、创作示例和实际实现同步收口;公开示例须验证点击导航后的内容变化及长内容滚动,不能用包含组件 class 的静态渲染断言代替交互验收。\n- 记录工作区外框不添加正文留白;详情和预览各管理一次16px内边距,单详情、画布切换和多栏详情使用相同规则。不能因组合子组件数量改变,就额外叠加18px或24px外层留白;窄容器调整排列与滚动,不重新制造两层内边距。\n- 侧栏按工作区分配的高度收缩,不用内容的最小高度撑大网格行。普通侧栏自身滚动;有侧栏边缘画布入口时,由内部导航独立滚动,保留入口在滚动区外的可见性。长列表的最后一项必须可通过滚轮和键盘到达,右侧详情滚动不带动导航;窄容器保持左侧导航,不用固定像素高度或裁切条目解决溢出。\n- 侧栏标题工具栏保持单行;可选筛选操作放不下时隐藏,不挤到下一行。按当前语言标题与控件的实际宽度判断,侧栏变宽后恢复,并保留筛选值。标题过长可省略,导航条目仍保留自然换行;普通添加入口留在集合尾部,不属于可隐藏的标题操作。\n- 可选行动指引以面板左下角的轻量提示图标呈现,悬停、键盘聚焦或点击查看,Escape 或移到外部关闭。入口锚定面板自身,不依赖侧栏,不占标题或工具栏的一行;未声明 `ui.guidance` 就不显示,不用简介或空状态文案代替。浮层避让视口,用户可移入阅读;长内容末项仍可滚动到达。局部字段说明仍跟随字段,错误与运行状态不收进指引。\n- `ui.guidance` 用一到两句帮助人审阅眼前的结果:应核对哪些事实和判断、哪里可能遗漏或需要调整。沿用现有 locale,不复用 Skill 能力简介或 `bundleDescription`。Agent 交付面板时在对话中简明引导用户,有声明指引时沿用并结合本次结果,没有时自行给出贴合任务的简短引导;左下角提示只供重复查看,不增加工具、步骤、门禁或强制提示。指引不写设计数据或用户偏好,也不是专业规则或约束的唯一载体。\n- 流程图已正常显示时,不重复显示「可阅读」;加载、失败和缺失反馈仍保留。详情入口使用简短名称,不能拼接所有有值字段的标签作为按钮文案。\n- 主内容壳、标签页(tabs)和组合容器(stack)不叠加页面内边距。可见内容表面负责一层共享 `--ygd-panel-content-gutter`(16px)。卡片内缩与画布原生工具不是第二层页面留白。画布与多栏按实际范围布局,不写死宽度、不用 Bundle 专属补偿,也不预留空列模拟滚动条。\n- 表单节奏归属于 inspector 自己的内容槽,不能依赖完整父级选择器或“只有一个孩子”的偶然形状;加入辅助内容、用单子 stack 包裹表单、在 tabs 中组合视图,不改变这一表面的边距、字段节奏、标题绑定与编辑权限。真实嵌套工作区、画布、多 inspector 和卡片各自保留布局所有权;透明组合不能跨过这些边界提升标题或给内层控件套用外层样式。\n- 普通记录标题栏统一由 `PanelRecordHeader` 管理:默认44px高度、14px/20px文字;数学阅读沿用这一标题栏,不另设字号。已确认的卡片标题默认40px。多行内容自然增高,不裁切文字或挤压控件。共享样式变更须检查实际 Kit 表达,同时覆盖辅助正文、透明 stack、tabs 包装、长内容、窄容器,以及真实嵌套工作区、多 inspector、卡片等所有权边界;JSDOM不能替代实际滚动与几何检查。\n- 当前对象的简短范围导读或辅助背景,可通过 `PanelRecordHeader.context` 显示在标题下、正文前;有实际内容才出现,无值不留空行、不补默认文案,也不要求其他面板新增说明。标题、背景和正文共享文字起点;背景用辅助文字12px、400字重、1.6行高与 secondary 语义色,保持低于14px(紧凑13px)正文的层级,标题到背景复用组内8px(紧凑6px)间距,不另套提示卡或“背景信息”标题。长背景保留换行并与正文共用可到达的阅读滚动路径,不能固定在滚动区外挤掉正文。计数与操作仍在标题行;背景不替代左下角行动指引、字段旁帮助或错误/状态反馈。必要业务条件、决定与约束仍在正文清楚呈现,不因位置靠近标题就降为辅助说明。标题组件管理呈现,工作区管理导航与滚动。\n- 有 owning 侧栏标题的 workspace 用有限 `sidebar_icon` 显式选择语义图标:16px、文字前间距8px、次要文字色、不收缩、aria-hidden。省略保留原中性图标或无图标;不得从标题/Bundle名猜图标,不给记录增加装饰图标,无侧栏表单不强加导航。具体支持以 [DSL](dsl-spec.md#sidebar_icon--authored-sidebar-title-icons) 和 catalog 为准,生成式面板不开放此 authored-only 字段。同级父节点与叶节点保留相同展开列宽,子节点按真实层级缩进,展开操作与选择操作分开。\n- 关系图自动布局使用实际节点和全部关系文字尺寸,包括多行标题与端点说明;文字不得被节点或其他文字遮挡。布局和缩放只改变视图,不改写对象、端点、数量或保存顺序。\n- 一组字段以共同文字起点对齐;同一工具栏按钮高度、内边距、图标基线一致。状态不要插在操作组中间;返回靠左,主要操作靠右。\n- 新轮次采用独立的 `title` 和 `description`:标题是短主题,说明是整轮目的或背景,逐题 `prompt` 仍只属于该问题。左侧固定两层:上层次要“第x轮”(12px常规字重),下层主要标题(14px),随可拖拽侧栏宽度自动换行、不截断;不附带整段说明或状态小字。主内容以轮次标题为标题,已有轮次说明传给公共标题区的可选背景位置,不另建 QA 专用说明样式。中文标题建议12字以内,英文用短语;这是生成指导,不是截断或长度校验门槛。\n- 声明式工作区使用可选 `rounds_source` 绑定独立的已声明 section,记录为 `title`/`description` 字符串,map key 对应保存的数值轮号(不是界面“第x轮”的显示序号)。轮次仍只由真实问题推导,独立介绍不能制造待答轮次或改变固定题、历史只读、回答进度。绑定后缺少介绍时显示通用轮次标签,不从首题编造介绍;查看、切语言和编辑答案不补写元数据。未声明独立介绍的旧显示调用仍保留“标题:说明”/首行标题投影,不改保存原文。\n- 单列适合长说明、核心行为和异常处理;只有便于比较的短字段才并列。窄容器按内容区宽度折行/堆叠,不只看整个浏览器宽度。\n- 编号在自己的窄列内水平居中,正文左对齐。新增按钮的 **+ 实际图标起点**对齐前一输入框外沿,而不只是按钮盒子。\n- 多字段重复记录共用表头;单字段用轻量列表,专业图、来源控件和可折叠复杂表单不强行表格化。需要横向滚动时仅表格 wrapper 滚动。\n- 同父对象的权限等可比较记录优先复用共享可编辑表格:同一行保留条件与前置要求,\n 自定义条件就近展开,新增/删除仍作用于原记录。继承内容按来源分组只读,不能\n 为凑表格复制父记录或省略未知值。单父来源选择可与原详情标题同排,窄容器自然\n 换行;不要在表单外另占一整行,也不增加第二份父引用。\n- 产物阅读的刷新操作放在当前记录顶部标题工具栏,与可阅读/执行状态并列;不在\n 日志和正文之间单独留一行。日志折叠条与正文保持8px边界,刷新不清空仍有效的\n 内容,失败与晚响应仍按原精确文件/运行身份处理,不以排版修改弱化日志关联。\n- 优先用层级、分组和间距区分模块,不为每个模块添加分割线、嵌套卡片或大圆角边框。\n\n### 详情表单的垂直节奏\n\n先按信息归属划分完整内容组,再决定间距。一个组包括它的标题、输入框或集合,以及集合自己的添加按钮;不能将添加按钮算作下一组,也不能只计算两个标题之间的距离。文字的 `line-height` 控制行内阅读,不承担模块间距。\n\n| 边界 | 共享详情表单默认值 | 间距所有者 |\n| --- | --- | --- |\n| 记录卡片标题 → 结构化字段组 | `--ygd-panel-detail-section-gap`,16px,紧凑12px | 卡片直接字段容器;读编相同 |\n| 独立展开标题行 → 第一个内容组 | `--ygd-panel-detail-control-gap`,8px;与首字段同排的补充详情不另占标题行 | 详情容器的直接内容块 |\n| 上一个完整内容组 → 下一个内容组 | `--ygd-panel-detail-section-gap`,16px | 内容组的父级布局;跨渲染块也使用同一值 |\n| 组内标题 → 输入框或集合 | `--ygd-panel-detail-control-gap`,8px | 该组的标题 header |\n| 同一集合的相邻输入行、最后一行 → 添加按钮 | 8px | 集合组件,不再额外增加模块间距 |\n| 控件 → 所属字段的辅助说明 | 同一个 `--ygd-panel-detail-control-gap`,8px | 字段说明只持有段前间距,段后为0 |\n\n间距按布局盒子的边界测量,组间从上一组最后一个控件/添加按钮所在的盒子底部算起,而非上一个标题的基线。只由一个层级负责每一道间距,不同时叠加上一块的段后 margin、下一块的段前 margin 和父级 gap。文本换行、输入框增长或添加条目只改变组高,不改变组间距离。\n\n共享详情组件使用语义间距token,而非直接依赖宿主的编号token:实测 Studio 的 `--ds-space-6` 为32px,Panel 根样式则为24px。不能把两个编号体系当成同一个尺度;共享内容密度所有者提供宽态16/8px、窄态12/6px,详情叶节点继承这些值,避免相同声明在不同宿主里意外变密或变疏,不改写宿主自身的布局token。\n\n因此“使用场景 + 输入框”“核心行为 + 输入集合 + 添加”“异常处理 + 表格 + 添加”“备注 + 输入框”之间采用16px组间距;展开标题到其统领的第一组采用8px组内距。紧凑密度分别为12px与6px。标题字号和常规字重保持已有约定,不增加分割线。本规则从共享 Record Board 内联详情扩展到普通 `record_form`、单 inspector 和声明式 form group;不要求对话、导航或图形工具栏机械使用16px。显式声明的 separator 仍可表达真实分组边界,不能由共享样式默默删除;图与结果预览的 sidecar 保留其意义。\n\n原则来源:[Atlassian Spacing](https://atlassian.design/foundations/spacing) 的相似性、邻近性及视觉节奏,以及 [Carbon Spacing](https://www.carbondesignsystem.com/building-blocks/foundations/spacing/overview) 的父级 Stack 统一控制间距。16/8px是本产品结合现有token与用户确认的分组方式选定的默认值,不是这些设计系统要求所有产品使用的数值。\n\n## 5. 输入、按钮和编辑状态\n\n输入框、textarea、select 与按钮复用共享控件;常规控件圆角采用已有 `--ds-radius-4`(8px),继承颜色、边框与字体语义。卡片采用对应容器 token,不把所有容器设为相同圆角。已有控件尺寸先复用;同一操作行不能混用不等高按钮。\n\n| 控件场景 | 共享默认 | 保留的例外 |\n| --- | --- | --- |\n| 常规单行文本和选择框 | 高36px、文字14px、圆角8px、横向内边距12px | checkbox/radio 不套文本框尺寸 |\n| 常规长文本 | 文字14px、圆角8px、内边距8/12px、最小高度88px | 保留多行与拉伸;不把所有内容挤为单行 |\n| 参数调节 inspector | 紧凑单行高32px、文字14px、圆角8px | 色块与其文字输入同高;标题/说明按各自信息角色定字号 |\n| 卡片内展开详情 | 主要业务正文与表格值14px/400,正文容器≤560px时13px;同一输入边界 | 摘要、编号等按各自信息角色;文本可随内容增长 |\n| 问题答案组合框 | 外壳持有边界及唯一焦点环 | 内部 textarea 不再叠加第二套紫色边框/outline |\n\n以上约束作用于工具自身的共享控件,不侵入 iframe 内用户设计的页面,也不重置宿主控件。`--ygd-panel-control-focus` 统一取共享品牌语义色;普通灰边框与焦点环分工明确,不在控件自身再堆同色阴影。紧凑工具栏、图标动作和专业画布控件保留任务相关尺寸。\n\n可选颜色未填写时明确显示“未设置”,不能把原生取色器的黑色默认值显示成已配置内容。色块与文字输入共用原字段,保留用户填写的 CSS 颜色;仅明确选择颜色才改变字段。专用控件的点击区域与可见边界一致,不被外层普通输入框的尺寸覆盖。\n\n标签列表的添加沿用32px紧凑动作,不继承卡片的80px添加区域;其选项菜单保持可读宽度,\n选项行不继承普通按钮的边框和填充背景,保留主题高亮、已选禁用和取消后返回触发按钮。\n共享单值选择器的触发框与展开菜单使用同一主题:普通字段36px,卡片优先级与文字筛选\n保留28px紧凑尺度,侧栏筛选图标使用32px点击区域;菜单提供边框、圆角、阴影、当前值勾选及键盘高亮。弹出层离开\n工作区滚动/裁切容器时继承实际触发控件的语义token和字体,不依赖原容器的祖先选择器,\n也不改写宿主页面主题。选择仍使用原编辑通道,空值、失效引用、只读与禁用保持原语义。\n这条规则先落实于普通单选字段和卡片优先级/筛选,不表示所有历史原生select已迁移。\n\n宿主侧栏的项目目录、评审设置与建议浮层也要继承当前明暗模式,独立于设计面板是否打开。\n底色、悬停、当前项和边框使用宿主当前的背景层级与边框语义 token,并提供随明暗变化的默认值;\n旧颜色别名不得优先覆盖当前语义值,也不能在深色模式回退为固定白底或亮边框。\n\nStudio 的版本、工作副本及预览 Bundle 选择器通过可选的中性控件渲染口复用同一菜单,\n保留32px触发框;未注入该能力的宿主保留原生控件。原生模态对话框中的菜单留在最近的\n已打开对话框内,不能靠提高 body 弹出层的层级绕过模态隔离或焦点约束。\n\nGRA 建议收件箱在各宿主复用同一标题与操作行:设置是带图标、边框和焦点反馈的28px紧凑按钮,关闭复用共享关闭控件,不额外占一行或退回浏览器默认按钮。收件箱可以在设计面板未打开时独立存在,也可以弹出到页面根节点;它的公共样式随收件箱入口加载,不能依赖设计面板或对话区域的挂载、祖先选择器及工具类。核查要区分资源未加载、规则未命中、主题未继承和已生效但表达不清,不能仅凭外观把它们都称为“CSS缺失”。\n\n简短、同级的单选项默认采用横向自然换行,声明 `choice_layout: row_wrap`,\n复用共享选项行(行间8px、列间20px),左对齐、不平均拉伸、不为普通选项增加\n横向滚动。按实际内容区宽度换行,不缩小字号或截断选项。带较长说明、需要逐项\n阅读比较的选项采用纵向;已有明确确认的场景例外保留。统一的是选择规则和共享\n样式,不把所有单选题、问答卡及历史省略声明一刀切改成横向。\n业务对象“什么时候必须填写?”与 AI 能力“触发方式”均遵循横向默认;布局变化\n不影响选择值、条件表单、键盘操作和校验。检查双语与窄内容区的完整可读性。\n\n输入必须有持久可识别的标签,placeholder 不替代标签。普通可见字段标签与对应控件使用原生关联,点击标签能够聚焦;重复表单不产生重复ID,复合选择保留自己的分组语义。边界在默认、聚焦、错误、只读和禁用时清楚;聚焦使用一套明确焦点反馈,避免叠加两层同色紫框。错误和链接保留语义色,不能为统一灰色层级而掩盖它们。\n\n编辑保留未修改字段、稳定 ID、引用和用户文本;支持契约已有的取消/撤销。不因隐藏字段、语言切换或查看预览而清空事实。中文输入法确认不触发提交;专门多行输入支持换行,不能把所有 Enter 都当保存。\n普通卡片直接编辑公共草稿,切换面板时保留未保存内容,不自动写盘,也不再另设局部保存/取消。\n底部保存/撤回能识别这些改动,全局撤回后导航不能重新带回。专业公式或画布编辑器若已有\n独立编辑边界,其局部取消只丢弃对应输入。真实冲突仍由公共草稿边界保留输入并说明,避免覆盖新内容。模态新建复用原生\ndialog:初始焦点进入输入,Tab留在窗口内,Escape取消并回到原入口;普通查看与\n展开不增加确认步骤。面板及导航分隔条同时支持指针与键盘调整。\n\n主要操作强调,次要操作中性,删除使用危险语义。改名在标题旁使用有可访问名称的铅笔入口;Studio 卡片的打开、复制、编辑分别提供明确动作,导出与删除收在最右侧的更多菜单中。禁用必须说明具体原因,不能以永久灰按钮冒充功能。只读原件与可编辑本地副本分清。Studio 本地 Kit/Bundle 的删除统一使用红色“移到回收站”动作,确认时说明系统回收站及实际引用影响,成功后再提示已移入。用户通过系统回收站恢复或重新导入;不增加应用内回收站或软删除机制。\n\nRuntime 暴露 `user_continue` 时,宿主复用共享续接栏:有可用对话输入框时放在其上方,无输入框或对话折叠时在宿主区域保留唯一入口。仅在能聚焦实际输入框时显示“调整”,并保留已有草稿;“稍后”只隐藏当前 invocation 的本地呈现,不消费续接权限。只读、未保存编辑、保存或通知未结算时说明禁用原因;点击后的送达状态沿用原生会话回执,不因轮询、切换视图或刷新自动重发。Kit 不添加同义按钮,Studio 试用面板不取得原会话执行入口。\n\n内容组标题已明确对象时,集合条目的添加按钮统一显示“+ 添加”(英文“+ Add”),不重复“行为”“输入”“异常”等对象名;完整动作名称保留在悬浮提示和无障碍标签中。没有明确分组上下文的外层新建入口保留对象名,以免混淆操作范围。简化文案不改变集合上限、只读保护、条目 ID 或增删语义。\n\n嵌套信息、业务状态及选中对象的从属清单,都使用集合尾部的同款轻量添加入口,不把添加挤在标题右侧。展开控件复用 `PanelDisclosureIcon` 的16px线性箭头、14px/500标题;状态使用 `aria-expanded` 与键盘按钮语义。卡片只负责直属字段的16/8px节奏,不能用后代 `label` 样式给 radio/checkbox 选项叠加外边距;选项保持24px最小行高、8px组内间距。\n\n简单重复记录卡片的记录标题采用14px/500,直属字段标签与嵌套表单、紧凑表格共用普通标签角色14px/400,随共享密度缩为13px;标签可用次要色,但控件形态不另定一套字号或字重。字段标题使用所选语言的自然表达,不为普通用户重复展示 `Name/Description/Prompt` 等内部概念。\n\n所有备注类字段均应可选,允许缺省或空字符串;真正必须表达的领域信息应以明确的业务字段和契约承载,不能用“备注”暗示可选却在保存时阻断。必填星号与 `aria-required` 来源于面板的 `required` 声明,并不自动生成持久化校验;真实保存和发布校验由 Core 的 schema 与 `validation.yaml` 执行。修改必填语义时必须核对两者,并同步 Bundle 可达的输出契约,不能只删星号。系统集成备注按用户确认改为可选,其他必要信息与安全约束不变。\n\n本轮授权纠正/保留映射:\n\n| 原内容 | 用户授权的现行规则与保留位置 | 检查 |\n| --- | --- | --- |\n| Integration `panel.yaml.business_rules.required: true` 与 `validation.yaml` 同字段非空规则;输出契约 Quality gates 把备注列为完成必需事实 | 用户明确“备注都不应该是必填”;面板声明可选,移除该字段非空规则,schema 字符串类型、字段名和已有值保持不变;普通设计 `SKILL.md` 与还原可达 `reference/artifact-contract.md` 同步为可选 | 实际 loader + state/completion 正负例;真实面板星号/aria 检查 |\n| 备注承载触发时机、成功、失败、重复预防、恢复的领域指导 | 原位保留输出契约 §7、Quality gates 与正文整条记录自检;只纠正强制填写说法,不删除领域内容,禁止为填表编造备注 | diff 保留核对;不以 UI 检查声称真实 Agent 生成已测 |\n\n## 6. 状态、等待、日志与提示\n\n### Studio 信息反馈\n\nStudio 统一按用户需要采取的动作选择反馈形态,复用 `packages/studio-ui` 的共享呈现及语义样式,宿主仅提供真实执行状态和操作能力。以下是实现与审查要求;文档存在不代表所有旧页面已符合,发现偏差须在当前工作记录中修复和验收。\n\n| 场景 | 呈现与操作 |\n| --- | --- |\n| 保存、导入等操作成功 | 轻量非阻塞浮动提示,不挤动页面、抢焦点;同时更新已保存状态或列表。导出仅取得下载回执时说明已开始下载,不虚称文件已落盘。 |\n| 用户触发的操作失败或保存被阻断 | 一般失败在对应操作区域显示共享错误卡片,包含可理解的标题和实际恢复动作,技术原因按需查看。点击保存但无法保存时使用共享错误对话框,说明保留的输入与候选,并提供继续编辑等下一步。同一结果不因轮询或重绘反复自动弹出。工具栏只放动作,不铺错误文案或常驻“查看问题”。 |\n| 文件、样例或其他内容缺失 | 在对应内容窗口内原地、居中呈现轻量共享缺失状态:小警告图标与短标题同行,次级文字说明具体缺项,必要时提供文字操作;不使用大卡片边框、整块底色或大量内边距,不弹窗、不作全局报错。内容正常不需要该能力时使用中性说明,例如纯对话技能无需面板,不暗示操作失败。 |\n| 输入值或局部内容有误 | 在对应输入或内容区域显示精简错误,关联可访问说明并保留输入;需要定位的文件、字段在详情中可访问。 |\n| 覆盖、丢弃修改等必须作出的选择 | 使用共享模态对话框,明确后果、确认与取消;关闭后恢复触发点焦点。普通成功、后台重试和中间校验不弹模态框。 |\n| AI 生成、校验和修复 | 在本次对话的任务状态内连续呈现,校验不自动弹窗,也不在标题、Tab 和内容之间插入报错段落。只有真实执行仍在继续时才能显示修复中。最终失败使用共享错误卡片,保留候选与人工修改,直接提供继续修复和按需查看详情的入口。 |\n| 宿主断连或能力不可用 | 在对话或受影响区域显示有样式的状态及可用的恢复入口,保留人工编辑,不用自动弹窗反复打断。 |\n| 页面或预览无法载入 | 在受影响内容区域复用共享内容状态,提供读取重试;不把载入失败说成创作失败或抹掉其他仍有效的内容。 |\n\n同一个事件保留一个主要反馈位置。候选校验未通过时保留可点击的保存动作,点击只打开共享错误对话框,不调用保存;处理中、已提交结果待核对或并发冲突等真正不可操作的状态仍禁用写入。工具栏不增加错误行、错误说明或常驻详情按钮。首层说明用户能理解的影响与下一步,解析器消息、堆栈、内部路径等放在对话框内按需展开的详情中;不把真实错误隐藏为成功。缺少恢复能力时明确该限制,不展示没有实际行为的修复按钮,也不强迫用户先丢弃全部修改才能请求 AI 修复。\n\n通知不遮挡输入框、保存/取消操作或键盘焦点,遵循 Studio 的边界和语义层级。普通状态更新使用非打断的可访问通告,重要失败按需告警;不得让逐条校验输出反复抢读。明暗主题、长错误、窄内容区和展开详情均须实际检查。`role=\"alert\"` 只提供语义,不提供样式或正确的布局;仅添加类名或统一红色不能证明符合本规范。\n\n读取待保存修改失败时,现有保存错误对话框提供“重试读取”,重新准备原样草稿;恢复后仍由用户明确保存。不能要求用户改一个字、丢弃草稿或重开页面才能解除旧网络错误,也不能借重试自动重发写入或对话。已提交但结果未确认的保存仍沿用原有核对流程。\n\nStudio 与 Companion 的宿主会话复用同一消息和工作记录组件。展示实际公开回复、\n工具动作及其结果;工作记录可折叠,用户主动收起后轮询不重新展开。工作中使用\n同一圆形等待指示,停止操作放在输入框的发送按钮位置,不增加估算进度条。\n结束或取消后停止动画;不能把无效候选显示为可保存结果。\n\n### 运行状态与局部内容\n\n区分载入、空数据、运行中、等待用户、完成、失败和不可用。共享组件提供有限状态及图标;用户只需看到当前状态、结果和必要的下一步,不同时堆满“等待交互”“可以重跑”“不会自动运行”等重复小字。\n\n载入使用共享动画指示,不用静态文字冒充 loading;未知进度不显示虚假百分比。阻塞内容载入时,将指示居中于**对应内容区域**,隐藏不再有效的旧 grid;局部更新保留仍有效的内容与输入。长时任务应显示真实阶段或原因,不能以 spinner 掩盖失败。\n\n内容区域复用 `PanelContentState` 的 loading / empty / unavailable / error 展示,不把读取状态误作执行成功或失败。文档、产物、页面缩略图与预览、流程和白板的缺失内容不再用左上角裸文字;缩略图使用紧凑尺寸,重试保留在 owning 组件。空白源文件须在注入 CSS/图片前判空,不能因 transport 生成了 markup 而显示空 iframe。样式通过现有 owned-styles 生命周期进入 DSH、Companion 和 HMR,不让 Bundle 自带第二套等待样式。\n\n执行状态使用共享 `artifact-status-icon` 的点/活动动画,同时提供名称或可访问文本,不能只看颜色判断。侧栏保留12px状态占位以对齐,静态圆点直径6px,不把占位区域填成大色块;排队与工作中的图标仍使用12px。状态是运行投影,不写 canonical。`execution_log` 复用宿主只读桥:绑定 owning Bundle/精确目标,按上限取尾部;在底部才跟随,用户向上阅读时保留位置,切 run/target 清旧行并忽略晚响应。没有精确关联时诚实不可用,不能拿整个主对话冒充该产物日志。细节以 [日志契约](dsl-spec.md#execution_log--embedded-host-logs-authored-panels) 为准。\n\n构思完成度(Clarity)的待评估、评估中、失败、失效和不可用是瞬态工作状态,不是第二份评分权威。状态复用共享图标及12px辅助文字,保留项目标题原有两行布局;详细原因按需展开并支持键盘访问。等待或未成功取得新评估时,保留的分数须标为“上次评估”,不能冒充本次结果;从未评估则保持未评估,不填零分或虚假进度。已保存不等于主对话已开始响应,后台结果已产生也不等于主 Agent 已消费;评估失败不撤销保存成功的提示。\n\n设计建议的小灯泡分别展示待处理建议数量与现有 GRA 调度器的真实活动:等待评审不冒充正在运行,零条建议不表示评审未运行。多项并发时保留仍在运行的反馈,同时说明已失败的项;结束或取消后不残留活动动画,状态同步中断时不将上次运行快照当作当前状态。宽栏提供12px辅助文字,图标栏保留可访问名称与悬停说明;复用共享执行状态图标,运行中的灯泡仅轻微明暗变化,并遵守减少动态效果设置。它不启动评审、不改变建议或评分,不将活动反馈当成耗时优化。\n\n宽侧栏与图标栏均沿用侧栏灯泡;仅当实际入口未挂载、被祖先隐藏或裁切到无法操作时,输入区左侧显示同一灯泡入口。恢复可操作的侧栏后移除输入区入口并保留键盘焦点,二者控制同一建议收件箱、待处理数量与评审状态。新建议的查看动作按实际未读状态出现在卡片现有标题行,窄容器可换行,普通与展开阅读共用;没有未读项不留占位,新到建议不切走当前阅读位置。\n\n建议详情沿原对话列向上展开,按内容高度增长,以历史区域为高度上限;较短建议不\n用空白撑满整列,较长建议的条目正文局部滚动,操作与翻页始终可达。展开和收起复用同一\n正文层级及卡片留白,移入 Portal 后不因离开对话容器改变字号或被通用消息样式覆盖。\n保留每条建议的完整问题、说明和依据,不以删减内容或放大窗口代替阅读层级。\n\n没有对话列的 Companion 内嵌视图以实际灯泡为锚点,在其旁边打开同一个建议收件箱;\n浮层按内容和窗口边界限高,不加铺满工作区的白底、遮罩或焦点锁。外点或 Escape\n可关闭,内部设置模态框先处理自己的 Escape;新建议自动展开不抢正在编辑的焦点。\n\n输入区灯泡与相邻权限入口沿用同一紧凑尺度:28px高、14px图标、13px文案和8px语义圆角。空间充足时显示“设计建议”,依所在 composer 工具行的实际容器宽度在窄布局隐藏文字,保留图标、数量角标、运行反馈及完整可访问名称;不按整个窗口宽度判断,也不改正常侧栏宽栏或图标栏的尺寸。\n\n普通说明靠近对应字段,复杂演示说明集中呈现,低频帮助按需展开。错误在受影响区域保留,给出可执行的修复/重试,不消失过快,也不把技术路径和字节清单铺在普通用户首屏。\n\n正式 Panel 等待用户修改时,沿用现有保存动作及必要的状态、错误反馈,不在底部重复显示“查看并修改草案,再点击保存”等固定操作说明,也不新增继续按钮。2026-10-17 用户明确取消该冗余提示条,本规则取代此前从 Runtime `must_edit` gate 投影固定引导的呈现要求。版本绑定、正式保存及 gate 消费仍归既有 Runtime 通道,预览和演示不冒充真实交接。\n\n待处理建议的数字角标只保留在灯泡入口,顶部「Yugoo设计」展开按钮不重复显示数量;原有新建议通知语义保留。输入区入口的运行图标与灯泡、文案同排居中,不继承图标侧栏的右下状态角标定位;正常图标侧栏仍保留该定位。\n\n独立样例预览未提供跨 Bundle 读取端口时,保留引用值并说明“引用来源未加载”,\n不标成目标已删除。现有同步 `panelData` 返回完整集合后,缺失目标才沿用失效提示;\n读取异常继续传播到原错误边界,不吞错并伪装成空集合。此规则不增加加载状态协议,\n也不把宿主暂以空集合表示加载中的行为视为已经修复。\n\n## 7. 保存、预览和真实执行不能混淆\n\n正式 Panel 沿既有编辑屏障、校验、原子保存和继续通道;失败保留输入并明确未保存。图形和表单不能各走一条持久化权威。保存按钮不能把尚未提交的本地编辑说成已发布,Agent 消费已经保存的 diff,不再重复应用用户修改。\n\n持久保存、接续消息排队和 Agent 评估是不同状态。必要的保存结算完成后及时提交普通接续消息;有宿主原生提交回显时复用其真实请求标识,不把消息排队说成 Agent 已开始或已完成。主动评估不能加入保存 RPC 或消息提交前的等待链;评估失败也不能把已经保存的数据说成未保存。性能排查分别记录保存、交接、入队和处理阶段,不用模型推理耗时解释尚未发出消息的等待。\n\nPanel 区域的固定底栏只覆盖 Panel,不能压住宿主导航或整个 Studio;给内容留足底部空间,最后一行和焦点不能被遮挡。常用动作位于右下,次要/撤销在主要动作旁;保存成功的反馈应体现在已保存 UI 状态,不仅弹一句文字。\n\n样例预览不生成 Design Files、不运行 Agent、不改变真实项目;试运行调用真实 Bundle,在隔离项目中生成结果。Studio 里的“撤销编辑 / 演示保存效果”只演示本浏览器保存状态,不发布或回传 Agent。实际保存与演示不可同名冒充。\n\n## 8. 语言、可访问性和主题\n\n宿主/Studio 集中选择语言;Bundle 标题、按钮和提示继承,不在每个试运行增加下拉。Bundle 标签走已有 locales,共享操作文案由 Panel 公共 locales 管理。ID、enum value、路径、引用、原始文件和用户设计文本不翻译。试运行记录其运行语言,切换 UI 不重跑也不悄悄翻译结果。\n\n英文系统文案按角色统一,不以字符串长度或控件标签决定大小写:\n\n| 角色 | 项目约定 | 示例 |\n| --- | --- | --- |\n| 界面名称、导航、页签、卡片与章节标题 | Title Case;主要词首字母大写,短冠词、连词和介词通常小写(首尾词除外) | Kit Files、Panel Preview、Roles and Access |\n| 操作按钮、状态、提示、说明、自然问句式字段标签 | sentence case;句首大写,其余按正常英文书写 | Open workspace、Save panel、Run again、Where does it appear? |\n\n品牌、专有名称和缩写(AI、MCP、API、YAML、JSON)保持正确拼写,用户写的标题和正文不改大小写。这是本项目的产品风格,不是行业唯一规则。同一 locale key 若确实同时承担命名和动作两种角色,先核对消费者再拆分;禁止对所有文案运行大小写转换或用 CSS text-transform 修饰原文。\n\n翻译按控件的实际含义写自然表达,不逐字对应中文。字段问句必须与可填写的答案对应(例如选择授予方式时用“How is this role assigned?”);按钮使用直接动词,数量关系用“Zero or one / Zero or more”等惯用表达。检查可见内容、展开区、悬浮提示、无障碍名称、空态与失败反馈,并沿真实入口验证语言传递;仅确认 locale 文件无中文,不能证明界面没有混杂。场景体验、关联图谱等辅助视图沿用同一语言上下文。原始依据、用户文本、技术标识不在渲染时翻译;独立的中英文示例在各自维护源修订,不用运行时替换掩盖内容错误。\n\n中文 Kit 统一称“设计套件”,Bundle 称“技能包”;原始文件、技术身份和代码引用保留 Kit/Bundle。设计套件的可选双语展示简介来自 mindset.md frontmatter 的 `display_description: {zh, en}`,原 `description` 及方法正文不变;技能包沿用既有 picker 简介。卡片显示当前界面语言的三行摘要,文件详情窄右栏显示完整简介;缺少翻译时回退原简介,不虚构翻译。标准文件用途由共享文件名/相对路径映射识别,在文件名后显示 12px 次要灰色说明,可自然换行;未知文件不显示用途提示,也不要求作者逐文件维护说明。\n\n所有主要操作支持键盘,可见焦点不被隐藏或底栏遮挡;纯图标操作有名称,选中/展开/只读状态可识别,标题有真实语义层级。普通文字以 WCAG AA 的 4.5:1 对比度为审查目标;大字、非文本控件分别按其准则检查,不把 token 名等同实际对比度合格。\n\n原生控件的激活键由当前控件拥有,不能被同页保留挂载的画布快捷键取消。公共 Panel 边界保留原生 `summary` 未修饰空格键的默认展开动作,仅阻止它继续冒泡到外部快捷键;不模拟点击、不吞掉按键释放,不改变嵌套输入、Enter 或带修饰键的宿主快捷键。复验应包含真实画布与表单共存,静态 HTML 无法发现全局监听冲突。\n\n桌面交互目标至少 24×24 CSS px 或满足相应间距/例外要求;触摸的重要目标宜更大。200% 文本放大不能丢失操作;颜色不独自表达关键意义,动画考虑 reduced motion。它们是验收要求,不是当前产品已通过 WCAG 认证的声明。图形所必需的二维画布/表格可以局部滚动,不能让整页被迫横滚。\n\n主题使用共享语义 token 和合理 fallback,不写死黑色主按钮或纯白所有背景;检查实际浅/暗主题。宿主已解析的 `color-scheme` 和语义颜色是普通 Panel、Studio 与弹出菜单的主题来源;宿主明确选择的浅色不能被系统暗色覆盖。当前宿主的语义层 token 优先于兼容别名,回归应覆盖新旧别名同时存在和旧宿主缺少当前 token 的情况。共享基础在 `visual-components.css` 维护,移植控件消费同一套 token,不在 dock 再固定浅色。专业画布保留领域配色和已有人工明暗选择,以宿主作为未选择时的默认值;画布文件自身的内容颜色不因界面主题而改写。工具品牌强调色不替代成功、失败、警告、只读和链接语义。\n\n## 9. 已确认的场景基线\n\n以下是保留映射,不推广为所有 Bundle 的强制布局。\n\n| 场景 | 保留的决定 |\n| --- | --- |\n| Function 详情 | 外层整宽单栏,直接编辑,不另设阅读/编辑模式;“使用场景”合并用户、情境和目的,“备注”承载设计理由及补充信息;固定可选输入,不做字段级增删,保留集合条目增删;没有重复“功能详情”标题;模块 14px/500,“功能详情”展开摘要使用常规字重 14px/400(按最新反馈取消粗体),主要正文与表格业务值14px/400,正文容器≤560px时13px;完整内容组间及展开标题到首组继承共享密度(宽16/8px、窄12/6px)(见§4);不新增模块分割线 |\n| Function 重复内容 | 核心行为轻量编号列表;“异常处理”共享表头:序号 / 发生条件 / 处理方式;24px 列表编号槽、48px 表格编号列居中;+ 起点分别沿 30px/48px 输入起点;不提供无领域依据的上下移动 |\n| Function 卡片 | 编号最左,名称14px/500,标题右侧常驻上移/下移/删除;描述与详情直接编辑同一面板草稿,正文14px/400(紧凑13px),不再有卡片局部保存或悬浮删除;描述按实际内容自动增高,优先级留在卡片下方。已有拒绝记录保留只读、筛选和恢复语义,删除仍走原删除确认,不把拒绝数据改写为删除 |\n| Smart Questions | 精简轮次说明在左侧并换行,详情在内容区;答案、选项、跳过和只读历史分清;统一输入边界与单层焦点反馈 |\n| Research | 真实方向/报告导航、语义状态点和 working 动画、精确关联的滚动日志;日志不作为研究报告,不假报未建立的宿主桥 |\n| 业务对象/角色权限 | 业务对象只导航对象及真实继承层级,关系通过画布选中/同源详情编辑,无重复分类根节点。信息卡、业务状态和角色自有权限的添加统一在尾部;组间16px、组内8px,嵌套选项不叠加外边距,展开箭头复用共享组件。画布入口与功能模块同一控件 |\n| 通知设计 | 同一层的触发时机、接收对象、通知方式、通知内容、后续操作,不再叠加“提醒谁/接收者”等重复标题;左侧编辑、右侧同源预览,窄容器堆叠;保留稳定 ID、原有字段、渠道及新增删除语义,不修改 Skill 正文与契约 |\n| Studio | 已确认 demo 的布局/交互 + Yugoo 工具样式;顶层 Kits/Bundles,宿主可选提供已确认的组件库入口;语言在左下;返回左、复制/删除右、标题旁改名;原件受保护 |\n| Studio 目录卡片 | Kit、Bundle、本地副本复用相同网格和紧凑卡片:15px 内边距、15px 标题、12px 介绍,介绍与内容间距 8/12px;不为 Kit 叠加大标题或空白。介绍摘要最多三行,完整能力/适用边界保留在原始文件中;目录不重复顶部路径已显示的标题;搜索框在左侧,宽300px(窄容器自适应),其后显示匹配/总数,新建在右侧;本地副本提供打开、复制、编辑三个独立动作,删除等低频动作收进右侧 …,按钮文案不附加箭头;所有「打开」使用同一普通次按钮样式,不用紫色区分原件与副本。打开和复制不激活对话,编辑才进入创作;已安装原件先复制后编辑 |\n| Studio 宿主源修改(R2 开发候选) | 宿主候选直接进入当前工作副本的原始文件(Source Files),在同一完整文件树内显示 inline diff,不另设“审阅修改建议”按钮或替换工作台。未改文件仍在原树,新文件原位加入;修改前后保留完整文本。Bundle 面板预览是同一候选的只读样例视图;无 Bundle pin 的 Kit 候选仅校验套件定义,不要求面板。候选校验、固定 digest、版本检查和显式保存通道不变。保存后仍是同一副本的新已保存版本,才能导出;人工未保存编辑不能被晚到候选覆盖,保存结果不确定时先重开核对,不自动重试 |\n| Studio 对话创作(R2 开发候选) | Studio 的列表、浏览、已安装只读详情保留原界面,不显示对话。仅新建或明确编辑 Kit/Bundle 时,在原有查看框架的内容区嵌入创作对话,保留最外层导航、顶部信息栏、对象标题及返回和内部文件树;内容区左侧桥接当前已绑定的宿主对话,仅展示本次创作开始后的内容,右侧编辑同一工作副本,编辑状态不显示简介侧栏。Kit 编辑以「原始文件」「挂载管理」两个 Tab 切换,挂载管理左侧为较窄的未挂载备选单列(已挂载项不重复出现)、右侧为更宽的已挂载主区,复用目录 Bundle 卡片及相同介绍内容;左列标题、数量、搜索同一行,与右列标题对齐;两列之间有明确分隔,搜索仅过滤左列。卡片添加/移除在两列间移动,并显示未保存的新增/移除数量;挂载修改纳入同一未保存/进行中保护,只有 Bundle 显示面板预览;普通打开状态可显示简介。简介由原有方法元数据提供,AI 可起草、人工可修改确认,不增加第二份描述权威。宿主不可达或送达状态未知时明确提示,并保留手工编辑、保存和导入导出;重新检查连接不重发消息、不丢草稿。空白新对象先显示创作/源码状态;源修改抵达时原位进入文件差异。Studio 统一在独立标签页或浏览器中打开;原宿主对话提出创作需求时,引导至同一对象的 Studio 编辑页,可先准备修改再打开。本轮不将 Studio 嵌入宿主。保存、还原与导航保留诉求草稿、当前对象和送达状态;对话与内容分别滚动,输入区在左侧底部,窄容器上下排列。多个同基线候选需要选择时,只提供含文件信息的修改版本选择,不新增审阅步骤。记录使用宿主实际投影,缺失时明确说明,不冒充执行或保存成功;每次编辑请求携带当前对象、版本、新建/编辑意图和选中文件,按需读取实际作者指引及组件规范;人工未保存内容仍走原保存/还原边界,不冒充已保存源码。不新增模型客户端、强制新会话或保存权威 |\n| Studio 组件库 | 侧栏底部「面板组件库」;真实同版本目录、可折叠分类树和共享渲染器的固定只读样例;目录、声明、预览分别局部滚动,不提供编辑、状态切换、重置或草稿;缺样例明确说明。可复制完整声明和随包 Skill 指引;不把 DSL 支持等同生成授权,不加载第三方可执行脚本 |\n| Studio 文件/挂载 | Kit 文件与 Bundle 原始文件复用真实递归文件树;Bundle 原始文件在面板预览之前;Kit mount 是独立 Bundle 的引用;搜索 + 勾选管理,不复制 Bundle 或隐藏落盘 mount XML。文件工作区直接铺满内容区域,保留列间分隔,不再套带圆角、边框和外侧留白的卡片 |\n| Studio 预览/试运行 | 预览左 `panel.yaml`、右样例 Panel;顶部唯一试运行入口先检查宿主连接,再按既有流程同轮准备输入并执行;试运行复用左右布局,左测试输入、右真实 Panel,之后修改输入手动再运行;不嵌套模态壳或增加第二行模式按钮、无意义“采用试填数据”按钮、历史入口;首改懒建本地副本,保存不改已安装原件;传输可达不等于执行成功 |\n\n这些决定来自本轮用户反馈及相应共享实现;Function 尺寸已在源码基线 `c8ca697` 的真实浏览器中核对。这里不声称每个场景、宿主、保存或安装包都通过本次验收。\n\nAI 角色画布采用已确认的原型表达:总览卡片将人物头像/角色职责、模型、技能与工具、\n产品位置分层;内部视图保留角色外框与角色身份,再表达左侧技能、中心模型和右侧工具。\n内部三列的标题在同一行,左右资源容器与模型按水平中心线对齐;技能在一个连接卡片中,\n工具/MCP 在另一个连接卡片中,各条真实资源作为内部可选小卡片(名称与短摘要)展示。\n容器内长列表局部滚动,不因资源数量增加连线卡片或无限增高整幅图;空侧不补造容器。\n内部小卡片选择各自原记录,聚合外壳不是第一个成员或新 canonical 对象;聚合连线保留\n所有原引用身份,不将展示聚合写回数据。上下资源带避让,不靠端口偏移掩盖错位。\n侧列标题直接使用技能、工具等真实栏目名称,不显示“左手/右手”隐喻标记(最新用户确认)。\n右侧是选中对象摘要,不是完整档案。身份之后、长说明之前直接放“展开角色内部/返回总览”\n和“记录详情”两个按钮;工具栏和双击是附加入口,不能替代侧栏内的动作。职责短摘要、\n模型选择、最多两个产品入口的名称/位置和资源数量即可,不再重复整套资源及交接表单。\n资源摘要可列少量实际引用者,更多条目留在总览/原表单中;长内容的完整值不能被删除。\n资料库与长期记忆用声明的类型文字及不同语义图标区分。该可选形态不是所有画布的默认:\n装饰头像只按稳定记录身份选取,在改名和视图切换后保持一致,不推断人格或用户身份,\n不为模型直调补造技能、工具或记忆。触发方式、自动信息、反馈及各条交接条件继续在\n同一原记录的完整详情表单中查看/修改,未知位置与缺引用诊断保留。最新用户反馈明确\n用精简摘要替代先前侧栏中的可折叠完整事实;这是授权的呈现收口,不裁剪正文或数据。\n此只读内部视图隐藏连接触点但保留框架测量,禁止拖拽、连线和删除;查看不产生写入。\n这些角色内部视图规则不强加给有真实关系编辑契约的其他画布。\n原型迁移验收必须逐项对照视觉层次与交互;仅关系数量或 schema 通过不代表视觉迁移完成。\n\nDSH 的 Design 停靠区与宿主原生右侧栏(文件、浏览器、终端等)同一时刻只显示一个,\n保留可读的对话区。用户打开原生右侧栏时隐藏 Design,保留其打开意图、未保存编辑、\n选中项和画布视口;普通内容刷新不抢回显示。明确点击「Yugoo设计」才通过宿主公开\n切换操作收起原生右侧栏。隐藏不等于关闭或销毁内容,局部订阅沿既有可见性入口暂停;\n重新显示保留用户拖动的宽度,不重复应用初始分栏比例。宿主原生标签、草稿和持久布局\n仍由宿主负责,不关闭其标签、不读取私有布局存储,也不另建恢复状态机。\n\n## 10. 所有人如何使用与维护\n\n### 结果阅读页的信息层级\n\n计算或生成结果按用户要理解的方案组织,不将存储集合名转换为平级标签页。\n主阅读面连续展示具体方案、结论/关键指标、重要诊断与适用限制;表达形式按真实\n数据选择,表格已经清楚时不强制生成图表。多次运行用导航定位历史,技术环境、\n版本与原始文件按需折叠;重要失败、未知与适用限制保持可见。\n同一运行的图表通过已有显式引用展示,不复制数据;需要大画布时可与结果解读\n使用一层两个同级视图,不再嵌套“解读/依据”等标签页。同一记录的名称与原有操作位于视图切换之前,切换时保持可见,不在每个视图再建标题入口。无图时解释当前状态,\n有记录但文件缺失或读取失败时保留局部状态与重试。该层级是结果阅读场景的\n作者建议,不要求其他 Bundle 采用相同字段或折叠结构。\n\n位于多个视图之前的记录标题使用共享标题组件的独立工作区布局:高度、内边距和\n对齐由组件自身负责,不把带内容内边距的记录表单外壳一起搬到顶部,也不依赖\n父容器的负边距。表单内的既有详情、卡片与数学阅读布局按原归属保留。代表性\n检查必须包含完整 Panel 外壳和实际样式,以及标题—视图切换—内容的相对位置;\n单独渲染子组件、只有 DOM 顺序或 CSS 文件存在不能证明组合布局一致。\n\n1. **仓库贡献者**从 `AGENTS.md` 进入本文;Bundle 作者从现有 `design-bundle-creator` 的 Panel 指南进入。领域方法留在各自 SKILL.md,不把 UI 手册塞进所有 Skill Body。\n2. **已安装 Companion 作者**先确认 `design_list_panel_components`,再以 `{ \"name\": \"record_form\", \"reference\": \"docs\" }` 读取相同包中的组件说明与 `sharedStandards`。新构建的作者材料包含本文;旧包不因 checkout 更新而自动获得规范,缺少该字段时报告版本缺口。\n3. **A2UI/DSL 作者**先确定表达意图,再查目标目录、类型和绑定;自动生成只用标为 generated 的能力。共享渲染器继承控件样式不等于自动生成模型已阅读整份规范,目前生成提示并未注入本文全文。\n4. **共享组件开发者**在 owning 组件及共享样式落实默认值,按 [组件扩展契约](a2ui-component-catalog-contract.md) 更新能力、文档和代表性用例。不要在 Core/Panel 分支匹配 Bundle 名来补一个页面。\n5. **审阅者**检查以下清单。新增决定直接维护对应章节和场景映射;旧规则被替代时保留原因、范围与 owning contract,不另起一份竞争标准。\n\n用现有 Studio 样例逐步形成少量代表性基准:问题、卡片详情、重复记录表格、关系图、流程、报告日志、参数预览。正常、空态、错误、长文和窄容器尽可能复用相同样例,不创建第二套样例权威,也不对每次文档修改全量重测。\n\n用户指出的差异是设计问题的线索,不是逐字改样式的答案。审阅者需要独立判断信息归属、\n阅读顺序和交互预期,再决定采用、拒绝或限定参考做法的范围。多人审阅时分别给出理由、\n潜在反效果及更小的替代,不以复述实现者或用户意见代替判断。学习成熟案例时阅读其官方\n方法与适用背景,并对照中英文、明暗主题下的实际呈现;既不因“简洁”压平必要的分区,\n也不因“有层次”给所有内容套框。分歧、最终取舍和横向检查记入现有工作记录,不新增审批阶段。\n\n## 11. 最小验收清单\n\n- **认知与改写**:回答[面板自查](#面板自查)的四个问题;说明内部 Tab 的必要性,结合实际内容检查阅读与人工改写路径。\n- **理解**:能识别主要对象,解释一条重要关系;图形没有编造事实,正文和图形分工清楚。\n- **层级**:标题、正文、辅助信息有区分,没有重复标题/大空白/过量小字;阅读与编辑的位置、字号策略明确。\n- **操作**:标签、增删改范围、只读/禁用原因清楚;同排按钮对齐,编号及 + 对齐;键盘、焦点和中文输入可用。\n- **空间**:真实窄容器、长内容与文本放大可操作;表格局部滚动,固定栏不覆盖内容;图形仍能找到对象和详情。\n- **状态**:载入不是静态占位或虚假进度;等待/失败/不可用诚实;日志关联、跟随和切目标不混线。\n- **事实**:图和表单同源,未编辑字段/引用保留;样例、演示、真实生成和正式保存没有混淆。\n- **语言/主题**:控件与标题继承语言,用户文本不改写;焦点、边框、颜色及关键状态在目标主题中可读。\n\n按改动风险验证并分别报告:结构/绑定、实际渲染与交互、保存重开、Agent 消费、安装包。截图不证明保存,fixture 不证明真实生成,编译不证明好用。纯规范/资料变更只验证引用、材料与入口;不要为此启动全产品回归。\n\nUI 改动先从用户入口走到完成结果,检查是否要求用户理解内部机制、作无必要的选择或跨页记忆。实现后在真实浏览器沿同一路径操作,覆盖受影响的成功、失败、取消和重试状态;结合截图检查布局和可读性,结合 DOM、计算样式检查控件及反馈是否实际接入共享样式。样式类存在或功能测试通过不能替代这一步。缺失样式、找不到入口、错误无法恢复及输入丢失应在交付前修复。外部 UX 审查技能可辅助发现问题,但以本项目已确认的交互和样式为准,发现与验证边界记入现有任务记录,不新增用户审批阶段。\n\n## 12. 当前实施边界与下一步\n\n已有组件目录、共享 token/渲染器、原子保存、按需作者材料和 Studio 样例,是执行规范的基础。本轮第一批将§4/5落入共享控件和详情布局,并统一§6内容区域状态;不改业务方法、数据结构、执行权限或持久化路径。\n\n共享表单验收覆盖普通 form、声明分组、问题答案、参数 inspector 和卡片紧凑详情:正常 Panel typecheck、源回归及 HMR Studio 实际渲染分别验证。普通 select 与 text 同高36px;参数色块与文本同高32px;详情组16px/组内8px;问题答案只有外壳焦点环。960px窄视口检查问题卡和 Function 详情,未修改真实项目、调用模型或演示正式保存。具体测试和截图是这一固定候选的边界证据,不是所有宿主或所有宽度的合格声明。\n\n通知设计的同记录表单与预览在1536px下实际查看左右布局,在760px下实际查看上下布局及滚动到底部后的完整预览。窄布局使用内容高度行,不能把长表单压缩进下一行预览;DOM交互回归或控件未横向越界,并不足以证明没有纵向重叠。页面地图实际查看了居中的缺失预览提示,未生成真实页面产物。组合源回归82项、作者材料与Token回归10项通过;最后的窄布局修复又通过16项相关回归。以上不包含正式保存/重开、原生Agent消费或安装包验收。\n\n本轮新增反馈中的通知设计已按上述映射梳理展示层级;其余 Bundle 声明里的重复标题、过重嵌套和冗长提示仍按具体差距逐步收口,不改其领域内容。全部控件/主题、可访问性和窄屏没有全量合格证据;A2UI 模型的表达指导需要接入现有生成提示而非仅作者工具;代表性视觉基准尚非完整回归库;DSH main 的精确 artifact 日志关联仍有宿主缺口。不得把这些写为已完成,也不以等待“完美全库”阻塞当前可用组件。\n\n后续从真实反馈选一个共享缺口,修 owning 原语,检查受影响的代表性声明并更新本规范。已经确认的场景只在确有相关变化时重测,不从规范建立扩展成另一轮全面重做。\n\n### 数学表达与业务解释\n\n数学模型等专业内容首先要让用户能判断是否表达了自己的意思。默认将一条目标或\n约束的业务含义、数学公式和来源放在同一阅读单元,不要求用户在解释、符号和\n公式的多个页签间来回寻找。说明应交代规则作用、适用范围,必要时用一个具体\n业务例子帮助核对;不把公式的逐字翻译当成解释。\n\n目标和约束各用一张可展开收起、默认展开的卡片,保留 Function 卡片的轻边框、白底、\n紧凑标题与正文层级。卡片内依次是业务含义、公式、该公式所用符号的解释;设计\n来源留在底部,以只读上下文呈现,不要求用户重填技术引用。每条公式下的符号说明、\n完整模型和技术记录沿用共享折叠组,默认展开,可分别手动收起。符号解释投影共用定义,修改入口回到同一符号对照表,\n不在各卡片保存解释副本。匹配只识别实际呈现的记法,不宣称推导数学等价。\n\n公式使用专业数学排版;正文中的数学片段也用明确的 `\\( ... \\)` 行内 LaTeX,\n普通文字不解析为 HTML。完整数学表达放在普通文档流的折叠卡片中,内含可编辑\n符号对照表;不吸底挤占当前阅读区域。\n\n模型文件仅在有保存的产物引用时显示查看入口,用户明确打开文件预览后才经宿主的受限读取通道读取内容;外层分组默认展开不触发文件读取,\n以固定来源版本的只读文本预览,不执行模型代码。“模型检查”显示记录的状态和\n面向业务用户的结论:实际检查了什么、发现什么、尚未检查什么。缺少说明时明确\n显示尚未记录,不从技术日志猜测结论,也不把排版或结构合法当成求解成功。\n输入版本校验码、输入快照、机器模型与业务来源的映射、工具版本和原始输出保留\n在非空时才出现的“建模依据与技术记录”折叠区,以只读内容呈现,不要求业务用户\n填写。它们与可理解的检查说明分别保存,原字段和事实保留;查看不触发重算或校验。\n默认阅读不铺满输入框;编辑时文字在原位置替换为输入框,公式区域保留即时预览和\n就地的 LaTeX 输入,不在条目下方再重复整组表单。模型标题复用共享记录标题栏的14px/600、条目标题复用公共记录层级14px/500/20px、\n业务说明继承共享正文字号并采用1.7行距、来源12px、公式18px,建立清楚的阅读层级;编辑态延续相应层级。\n文字采用智能提问(Smart Question)的阅读/编辑处理:完成后是轻量背景的阅读区,\n原位编辑使用白底边框和单层焦点反馈;复用实际保存成功信号收回编辑态,不把关闭\n输入框当成已持久化。查看与编辑共用一份字段值。\n公式横向滚动限于自身区域,\n不撑宽面板;长业务说明自然换行。折叠使用共享箭头和间距,编辑、增删、只读与\n保存继续遵守共享控件规则。无效 LaTeX 保留可编辑原文和局部提示,不清空内容。\n\n数学排版不证明模型正确。解释、分条公式、完整表达和可执行文件仍需方法与验证\n流程核对一致;已有文件的校验记录不能因为界面修改而被宣称已经重新验证。\n\n数学阅读视图与普通详情共用 inspector 内容槽、标题栏和单层16px正文边距。\n普通记录与专用阅读视图通过共享 `PanelRecordHeader` 提供标题栏,不再各自拼装\n标题布局类;在44px栏内垂直居中32px标题控件。外层沿用\n共享 grid 与16px间距,不以普通块布局加相邻 margin 替代,以免标题负边距折叠。\n新详情组件必须显式接入这一布局,不能再叠加自己的页面 padding。正文采用\n`--ds-text-primary`,辅助信息采用 secondary/tertiary 语义色;`--ds-text-1`\n等编号是色阶,不表示文字重要性,不能据名称猜测。浏览器检查实际计算颜色和\n内边距,避免只在缺少宿主 token 的合成测试中看起来正常。\n\n### 字段标题、输入要求与按需帮助\n\n普通字段的标题顺序固定为:名称、声明中的必填 `*`、有内容时的帮助图标。\n中文和英文遵守相同顺序;不在字段名中零散追加“可选”“选填”或“(optional)”。\n这一默认只约束普通表单提示,不改写业务选项、条件要求或用户输入中的这些词。\n可选说明由所属语言资源直接修订,不在渲染时用正则清洗标签,也不新增一套可选性声明。\n没有星号不代表当前设计已经达到完成质量;不根据内容是否为空,\n为只读事实或派生内容推断新的填写要求。\n\n`PanelFieldCaption` 与 `PanelRequiredMark` 是普通表单、集合标题、紧凑详情、\n嵌套条目和创建请求的共同呈现入口。必填来自已有 `required` / `required_in`,\n后者按所属分区解析;例如业务对象与关系共用 `description`,但只有对象要求填写。\n表格列标题遵守同样的标记规则。对象标题仍遵守前述“标题 + 编辑图标”的规范:\n不重复加可见星号,编辑控件保留真实的无障碍要求。Bundle 不自行重建这些标题。\n\n帮助是字段或分组名称后的共享 `PanelHelp`,不为解释单独占一行。紧凑详情由\n可见标题承接原字段说明,不能因内部标签隐藏而丢失,也不能复制为两份帮助。\n一字段与同名分组共用标题时,帮助和要求标记只显示一次。帮助按钮与原生\n`label` 平级,标签仍准确关联输入控件;帮助按钮不嵌入另一个控件的标签。\n帮助可由 hover、键盘聚焦或点击打开,Esc 关闭并保留焦点;正文允许阅读和滚动,\n继承当前主题并避开窗口边缘。无障碍描述必须读到解释正文,不能用“字段帮助”\n覆盖正文的可访问名称。无说明时不显示空图标;操作必需的错误和反馈仍就地可见。\n\n隐藏标签若由匹配的单字段组标题取代,标记放组标题;没有对应标题时放控件旁\n的窄列,不增加空白行。条件字段随可见性变化,不因提示重新初始化数据。\n单选及自定义单选用 `radiogroup` 的 `aria-required`,组合多值用本地化的命名组;\n不在不支持此属性的 `group` 上伪造语义,不要求每个新 token 输入都必填。\n可添加区域仍按16px组间、8px组内及集合尾部添加;普通标签共同遵守§3的角色与密度。\n\n输入预期、字段形状、内容质量和持久化是不同责任。呈现调整不新增 HTML `required`\n提交闸门,不自动删空值,不改 schema、validation 或普通保存入口。备注保持可选;\n独立业务规则、权限条件和专业决策理由不按“备注”处理。schema `required` 要求键\n存在,不等于非空检查;Function/Role 等既有机械契约允许空字符串时仍允许保存草稿。\nBoard 创建请求按所属分区解析字段要求,并保留原有请求输入约束;它向宿主发送请求,\n不直接写 canonical 数据,也不冒充 Panel Save。\n\nDSH Panel Save 的 schema 与来源定位检查、Companion 原有 state 检查、Executor\nhandoff/in_progress 的 state 与 complete 的 state+completion 路径各自保持;\n保存成功不等于专业内容已经完整。ID、引用、领域方法和输出契约不随提示风格改变。\n\n标签列表的删除动作由共享 `TokenList` 持有:chips/cards/cards-menu 使用同一\n16px关闭图标、24×24px无边框点击目标;普通按钮的边框和内边距不能污染标签。\nchips为32px高的紧凑标签。删除仍只发送该列表的单项替换,不能修改入参、写入\n其他字段,或在只读/无效数据时提供删除入口。\n\n### 侧栏标题图标的只读核查(2026-10-09)\n\n23个Bundle当前没有显式的领域标题图标:17个使用共享 `PanelsTopLeft` 中性布局\n图标,2个轮次卡片导航标题无图标,其余4个是预设侧栏或无侧栏的表单组合。\n通知设计因此风格一致但没有“通知”的语义;并非已完成自动语义适配。\n共享 Tree/Navigation 的 React `icon` 参数不等于作者 DSL 能力:目前\n`ComponentNode` 没有通用侧栏标题图标声明,token选项的 `icon` 只属于选项内容。\ncx-2独立只读复核同样确认此缺口。\n\n若下一步增加领域图标,应增加一个有限的声明与共享映射,由Bundle作者选择;\n不读取Bundle名称/中文标题猜图标,不给树节点新增图标,不为无侧栏页面强加侧栏。\n可供确认的语义:通知→铃铛、集成→插头、角色→盾牌、数据→数据库、\n规则→规则清单、验收→验收清单。现有中性fallback与窄屏导航行为仍须保留。\n以上是实施前的历史检查结论。随后用户授权系统性实现:当前有限\n`sidebar_icon` 与共享映射已接线,23个官方 Bundle 中20个有侧栏的 Bundle\n共21处标题显式选择语义图标;另外3个纯表单不新增侧栏。旧结论不再表示\n当前 DSL 缺少图标能力。具体源/渲染/持久保存/宿主覆盖仍以本次验证记录为准。\n\n### Studio 编辑器的视图与保存\n\n宿主对话顶部不增加常驻 Studio 文字链接。目录入口留在设置中;创建或编辑 Kit、Bundle 时,可由宿主返回指向独立 Studio 编辑器的链接,保持当前任务和对象上下文。\n\n设计套件与技能包编辑时,保存和还原固定在对象标题右上方,原始文件、面板预览与\n挂载管理不各自复制保存操作。文件工具栏提供“编辑 / 对比”,对比以当前已保存内容为\n基线;AI 建议可以继续人工修改。切换文件或源码/预览视图保留当前草稿,预览通过\n已有编译入口渲染当前未保存的 `panel.yaml` 及关联文件。面板预览保留左侧\n`panel.yaml` 编辑/对比、右侧实时面板的双栏布局;左侧与原始文件页\n共用同一份草稿,保存/还原仍只在对象顶部提供。样例数据只用于展示,\n不是另一份待保存内容。Tab 下沿与文件或预览工作区直接衔接,不增加外侧空白。\n对话提交按钮统一使用“发送 / Send”,首次与后续输入不使用内部执行术语;\n连接不可用、未保存修改等提示在对应状态下显示,不在输入区堆叠技术说明。\n保存结果不确定时,「核对保存结果」仅读取版本及修改文件,不询问丢弃源码或对话草稿;\n确认未写入则保留草稿供显式重试,确认内容一致才结束保存,不同内容提示冲突,读取失败仍保留待核对状态。\n更新草稿后重新计算候选与预览。人和 AI 的未完成源码都可以保存,预览或运行时再指出具体缺失与解析问题,不用校验结果要求用户先发布或升级版本。保留真实并发冲突、保存结果不确定与迟到响应保护,不把预览成功当作已保存或宿主消费成功。\n\n本地库只呈现当前内容,不提供版本切换、未发布状态或确认锁定。打开、复制、编辑各自表达一个动作:复制才创建独立对象,编辑原地保存。项目使用自己的完整定义文件,库修改不静默更新旧项目;同步由 Agent 在原有文件编辑流程完成,不增加同步向导或新的批准阶段。\n\n### Studio 组件库的展示容器\n\n- 组件库作为侧栏底部工具,名称为「面板组件库」。目录和预览标题只显示当前语言的显示名;用于声明的机器标识符保留在「声明与用法」,不并排成为第二个标题。\n- 小组件按内容高度展示,在中性背景上给出有边界的紧凑样例区;导航提供可滚动的有限容器,完整工作区才使用剩余高度。样例仍使用正式共享渲染器,不复制一份演示实现。\n- 目录分类和组件采用一级/二级可折叠树,复用共享 Panel 的树分组和条目;不要为技术标识符增加一层标题。组件库定位为文档:固定只读样例,保留切页、展开、导航等查看交互,不提供内容编辑、状态切换、重置或草稿。预览/声明及声明复制收敛到同一操作行,窄容器可换行,不靠固定高度裁剪。此规则只属于 Studio 样例展示,不改变正式 Panel 的默认容器。\n- 版本号是普通 UI 信息,使用 UI 字体和轻量版本标签;包名及代码才用明确含 Windows/Linux 备选的等宽字体,不能依赖浏览器默认 `monospace`。\n- 第三方 UI 库是独立的只读说明目录:名称、当前构建实际解析版本与用途。区分基础依赖与可声明的 DSL 组件,不把包名清单变成新的组件注册权威;不暗示所有间接依赖、许可证或升级能力都已覆盖。\n- 每个已注册组件应有具体、可阅读的样例;文件、图形和日志使用有限的隔离数据。日志必须标明静态样例,不冒充已连接宿主;样例失败仍显式报告,不以占位画面充当真实渲染。\n\n## 面板自查\n\n新建、调整或迁移面板时,沿一条有代表性的阅读与编辑路径回答:\n\n1. **帮助理解和思考吗?** 用户能看清当前对象、关系、重点和需要判断的问题,而不是只能看见堆叠文字或字段清单。\n2. **交互方便、符合习惯吗?** 选择、查看、编辑、增删、排序、展开和保存的入口清楚,切换视图不丢上下文与未保存内容。\n3. **便于改写并表达诉求吗?** 信息量、层级、字段粒度和编辑方式让人能够修改具体事实,而不是被迫在多个长说明区反复填写同一件事。\n4. **能看出修改的影响吗?** 相关图形与表单来自同一份数据;用户能确认改了哪个对象、保存了什么,以及哪些关联需要继续核对。它不要求新增自动跨 Bundle 改写能力。\n\n默认不把数据存储分区做成多个内部 Tab。只有不同任务或互补视图确实需要切换时才设置,并说明切换目的、保留当前选择和编辑上下文;同一对象的补充说明优先就近阅读、按需展开。\n\n结果记在已有工作记录中,不新增审批阶段或完整产品测试要求。只核对受影响的代表性路径;不以字段齐全或静态截图代替交互判断。\n\n## 独立填写字段的价值\n\n每个独立编辑字段都应能解释:谁提供或确认、它影响哪个具体判断或后续用途,以及为什么现有字段无法表达同一事实。Schema 中有字段、通用“设计依据”标题或为了表单完整,都不足以证明它值得独占一个输入项。\n\n- 普通待确认事项、假设、设计理由和来源解释合并进对象的**可选备注**;其中的不确定性仍需明确,不能通过合并变成确定事实。\n- 独立业务规则、约束,以及本身就是问答、研究或证据产物的内容保留各自有意义的控件,不机械地全部压进备注。\n- 派生值、技术溯源或已有引用在有用时作为可读上下文呈现,不要求用户重复输入。\n- 精简已有面板时保留用户内容、源引用、稳定 ID 和 canonical 语义。语义确需改变时同步方法与输出契约,不在打开或切页时静默迁移;也不只给原字段簇换一个“备注”标题。\n\n普通导航、内容框架、字号、间距和读写控件只有一套共享基础,由共享组件及 `packages/panel/src/visual-components.css` 维护。Bundle 作者声明内容和视图,不为某个 Kit 复制基础 CSS 或重做控件。宿主外壳、主题和专用画布素材各有归属,但不重定义这套普通导航与表单基础。\n\n## 参考与所有权\n\n### 产品设计表单的精简边界\n\n- 一个字段只负责一个决定:整体目标在职责里,每个动作的条件与采用/保存结果在对应行,异常情形与恢复方式成对。不要再用多个大文本框重复同一约束。\n- 同一对象需要分页时复用共享文字标签页,选中态用底部直线,不继承按钮圆角;保留键盘切换与未提交编辑。分页不是新的存储或权限边界。\n- 技能以能力说明、适用情形、完整正文为核心;可选来源说明获取出处,附带文件列出正文使用的文档、模板或脚本,不代表上传或安装。工具首先说明需要的能力、使用的信息和期望结果,使用限制与接入配置按需展开;未选型时不默认工具类型,也不要求先填接口或 JSON。已有完整接口、配置和来源须保留,精简不得裁剪提示词、Skill 方法或未知 MCP 配置键。\n- 多方协作逐对象说明交接时机、任务/资料和返回/失败处理。图形是同份关系的投影,不另维护重复连线表。\n- 日常表单可省去重复设计依据/来源面板;人读说明使用备注,但底层 exact pins、来源引用和已有隐藏内容必须保留。任何迁移需明确语义对应,不在打开或切页时自动转换。\n\n\n实现权威:[Bundle 契约](bundle-contract.md)、[DSL](dsl-spec.md)、[组件目录](../packages/core/src/panel-component-catalog.ts)、[共享样式](../packages/panel/src/visual-components.css)、[token](../packages/panel/src/client/ported/token.css)、[Studio UI](../packages/studio-ui/README.md)。本文不维护第二份完整参数 schema。\n\n外部参考(2026-10-08 查阅)只支持原则,不是新增库/平台采用承诺:[Apple Typography](https://developer.apple.com/videos/play/wwdc2020/10175/) 支持层级与可读性;[Atlassian Inline Edit](https://atlassian.design/components/inline-edit/inline-editable-textfield/usage) 支持阅读/编辑尺寸和列对齐及按任务选择编辑方式;[Facebook Accessibility](https://engineering.fb.com/2020/07/30/web/facebook-com-accessibility/) 支持共享可访问原语与可缩放文字;WCAG 的 [文字对比度](https://www.w3.org/WAI/WCAG22/Understanding/contrast-minimum.html)、[目标尺寸](https://www.w3.org/WAI/WCAG22/Understanding/target-size-minimum.html)和[文字放大](https://www.w3.org/WAI/WCAG22/Understanding/resize-text.html)提供可检查的要求。这些来源没有规定所有字段“阅读 12 / 编辑 14”。\n\n### 用户可定义字段的样例数据表\n\n当用户需要检查具体数据、修改列定义和少量样例时,以可编辑表格作为主视图,字段设置\n从列标题进入,行操作就近放置。不要让用户在“结构”和“数值”两个不一致的编辑页之间\n寻找入口。数据含义、来源、适用范围与缺失处理可在同页展开;时间不是所有领域的固定字段。\n\n共享 `data_table` 组件保留列/行身份和 Bundle 额外列元数据,区分“未提供”、零和 false。\n矩阵只用于两个索引与一个值列,不隐藏额外维度,不聚合重复坐标;它与主表修改同一数据。\n字段草稿须应用或取消后再保存。修改类型不得静默清空既有值,删除列须明确确认。\n样例可从主 Agent 的材料解析而来,表格组件不重复承担文件上传。\n\n表头固定、输入紧凑、横向溢出留在表格容器内;表格使用记录详情的共享间距。\n窄容器允许工具栏换行,字段设置保持可操作;验证实际像素、键盘、空态、只读及保存读回。\n这是一种通用数据编辑表达,不将排班列或任何 Bundle 名称写入共享层。\n\n\n### 本轮共享控件与阅读细节\n\n普通表单、重复记录和标准问题的单选/复选共用主题、16px控件和焦点反馈,保留原生键盘与表单语义;专业画布自己的工具不受这些选择控件规则影响。字段字数统计放在标签行末,仅编辑聚焦或接近上限时出现,不另占一行。\n\n白板等专业工作区的外层标题和操作复用记录标题与操作尺寸;不能用“标题栏内所有button”规则把可编辑标题、铅笔和动作一起改成小字号。正常已加载的报告不再常驻“可阅读”状态;没有待确认引用时不显示“待确认0”和相应图例,错误与进行中反馈仍在原处。\n\n顶部标签从左向右展开;仅在标签溢出时,在标签栏右端显示省略号菜单,弹层向左展开并与右端对齐。“全部面板 / All panels”保留为悬停提示与可访问名称;标签仍可横向滚动,保留完整标签提示、当前项定位和键盘导航。空间充足时隐藏溢出入口。整个设计面板的关闭按钮位于项目标题栏右上角,与标签操作分开,并沿用原有草稿保留与关闭行为。跨面板引用沿真实记录显示名称、保存稳定ID;支持自由文本的控件保留未知与自定义值,不因显示优化增加门禁。\n",
10955
10955
  "authority": "Authoring and review guidance, not a component schema, permission or proof of runtime conformance."
10956
10956
  },
10957
10957
  "hostCallbackContract": {