openyida 2026.9.21 → 2026.9.22-beta.1

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.
Files changed (334) hide show
  1. package/README.md +14 -20
  2. package/bin/yida.js +6 -11
  3. package/lib/app/app-list.js +3 -7
  4. package/lib/app/canvas-compile.js +12 -22
  5. package/lib/app/check-prd-completeness.js +0 -7
  6. package/lib/app/create-app.js +1 -4
  7. package/lib/app/create-form/args.js +12 -37
  8. package/lib/app/create-form/batch.js +11 -86
  9. package/lib/app/create-form.js +86 -193
  10. package/lib/app/create-page.js +17 -84
  11. package/lib/app/custom-theme.js +0 -11
  12. package/lib/app/form-field-validator.js +41 -26
  13. package/lib/app/form-open-guard.js +10 -97
  14. package/lib/app/get-form-config.js +0 -1
  15. package/lib/app/inline-css-guard.js +31 -1
  16. package/lib/app/services/form-compiler.js +4 -2
  17. package/lib/app/theme-from-design.js +41 -144
  18. package/lib/app/theme-presets.js +1 -1
  19. package/lib/app/update-app.js +13 -63
  20. package/lib/asset/ai-image.js +9 -59
  21. package/lib/asset/asset-cmd.js +7 -18
  22. package/lib/asset/asset-plan.js +9 -102
  23. package/lib/asset/asset-resolve.js +10 -55
  24. package/lib/asset/asset-status.js +4 -5
  25. package/lib/asset/host-capabilities.js +2 -11
  26. package/lib/asset/url-verify.js +4 -19
  27. package/lib/auth/dws-sync.js +145 -0
  28. package/lib/auth/token-auth.js +73 -9
  29. package/lib/auth/token-store.js +50 -0
  30. package/lib/connector/connector-test.js +5 -19
  31. package/lib/connector/contract.js +1 -3
  32. package/lib/core/agent-capabilities.js +16 -19
  33. package/lib/core/command-manifest.js +40 -329
  34. package/lib/core/locales/en.js +17 -74
  35. package/lib/core/locales/zh.js +16 -73
  36. package/lib/core/redact.js +10 -15
  37. package/lib/core/sample.js +30 -72
  38. package/lib/core/utils.js +4 -0
  39. package/lib/design-plan/design-plan.js +4 -51
  40. package/lib/design-plan/init.js +26 -121
  41. package/lib/design-plan/materialize.js +348 -451
  42. package/lib/design-plan/normalize.js +29 -74
  43. package/lib/design-plan/parallel.js +16 -71
  44. package/lib/design-plan/patch.js +16 -63
  45. package/lib/design-plan/preview.js +8 -6
  46. package/lib/design-plan/validate.js +11 -71
  47. package/lib/process/create-process.js +50 -84
  48. package/lib/samples/openyida-scaffold/canvas-form-drawer.canvas.jsx +90 -20
  49. package/lib/samples/openyida-scaffold/canvas-nav/content.jsx +13 -93
  50. package/lib/samples/openyida-scaffold/canvas-nav/data.jsx +18 -100
  51. package/lib/samples/openyida-scaffold/canvas-nav/mixed.jsx +4 -6
  52. package/lib/samples/openyida-scaffold/canvas-nav/shared.jsx +5 -5
  53. package/lib/samples/openyida-scaffold/canvas-nav/side.jsx +2 -1
  54. package/lib/samples/openyida-scaffold/canvas-nav/sidebar.jsx +1 -1
  55. package/lib/samples/openyida-scaffold/canvas-nav/top.jsx +9 -15
  56. package/lib/samples/yida-canvas-table-form/table-form-batch-submit.canvas.jsx +83 -9
  57. package/lib/samples/yida-rechart/trend-combo.canvas.jsx +87 -14
  58. package/package.json +1 -3
  59. package/scripts/postinstall.js +3 -3
  60. package/yida-skills/SKILL.md +16 -19
  61. package/yida-skills/references/official-example-schema-patterns.md +1 -1
  62. package/yida-skills/references/yida-api.md +0 -4
  63. package/yida-skills/skills/yida-app/SKILL.md +23 -46
  64. package/yida-skills/skills/yida-app/workflow/parallel-work.md +6 -15
  65. package/yida-skills/skills/yida-app/workflow/plan/step-1-understand.md +1 -1
  66. package/yida-skills/skills/yida-app/workflow/plan/step-2-confirm.md +1 -1
  67. package/yida-skills/skills/yida-app/workflow/plan/step-4-deliver.md +15 -29
  68. package/yida-skills/skills/yida-app/workflow/plan/workflow.md +11 -29
  69. package/yida-skills/skills/yida-app/workflow/step-1-resource-context.md +2 -4
  70. package/yida-skills/skills/yida-app/workflow/step-2-design.md +9 -23
  71. package/yida-skills/skills/yida-app/workflow/step-3-create-or-reuse-app.md +4 -6
  72. package/yida-skills/skills/yida-app/workflow/step-4-forms-processes.md +4 -15
  73. package/yida-skills/skills/yida-app/workflow/step-6-main-page.md +4 -6
  74. package/yida-skills/skills/yida-app/workflow/step-7-page-code.md +9 -15
  75. package/yida-skills/skills/yida-app/workflow/step-8-publish-navigation.md +11 -25
  76. package/yida-skills/skills/yida-app/workflow/step-9-output-finish.md +28 -68
  77. package/yida-skills/skills/yida-canvas-custom-page/SKILL.md +43 -42
  78. package/yida-skills/skills/yida-canvas-custom-page/references/canvas-style-implementation-guide.md +44 -60
  79. package/yida-skills/skills/yida-canvas-custom-page/references/canvas-theme-provider.md +50 -72
  80. package/yida-skills/skills/yida-canvas-custom-page/references/component-library-guide.md +1 -13
  81. package/yida-skills/skills/yida-canvas-custom-page/references/data-bridge-guide.md +1 -140
  82. package/yida-skills/skills/yida-canvas-custom-page/references/navigation-and-entry-guide.md +72 -101
  83. package/yida-skills/skills/yida-canvas-custom-page/references/page-generation-guide.md +32 -35
  84. package/yida-skills/skills/yida-canvas-custom-page/scripts/build-canvas-theme.js +3 -29
  85. package/yida-skills/skills/yida-canvas-custom-page/scripts/canvas-theme-provider.template.jsx +6 -69
  86. package/yida-skills/skills/yida-canvas-data-binding/SKILL.md +0 -26
  87. package/yida-skills/skills/yida-create-app/SKILL.md +0 -2
  88. package/yida-skills/skills/yida-create-form-page/SKILL.md +58 -72
  89. package/yida-skills/skills/yida-create-form-page/references/advanced-form-modes.md +5 -5
  90. package/yida-skills/skills/yida-create-form-page/references/association-form-field.md +4 -4
  91. package/yida-skills/skills/yida-create-form-page/references/batch-forms.md +5 -6
  92. package/yida-skills/skills/yida-create-form-page/references/field-definition-guide.md +19 -7
  93. package/yida-skills/skills/yida-create-form-page/references/form-field-properties.md +44 -62
  94. package/yida-skills/skills/yida-create-page/SKILL.md +6 -14
  95. package/yida-skills/skills/yida-create-process/SKILL.md +2 -13
  96. package/yida-skills/skills/yida-custom-page/SKILL.md +0 -2
  97. package/yida-skills/skills/yida-custom-page/references/design-system.md +1 -1
  98. package/yida-skills/skills/yida-dashboard/SKILL.md +4 -5
  99. package/yida-skills/skills/yida-data-management/SKILL.md +2 -4
  100. package/yida-skills/skills/yida-data-management/references/data-format-guide.md +4 -4
  101. package/yida-skills/skills/yida-design/SKILL.md +14 -29
  102. package/yida-skills/skills/yida-design/references/app/blueprint.md +70 -0
  103. package/yida-skills/skills/yida-design/references/app/navigation-patterns.md +43 -0
  104. package/yida-skills/skills/yida-design/references/app/role-journey.md +30 -0
  105. package/yida-skills/skills/yida-design/references/ask-human-interaction-contract.md +42 -67
  106. package/yida-skills/skills/yida-design/references/asset-workflow.md +2 -6
  107. package/yida-skills/skills/yida-design/references/design-mode.md +4 -4
  108. package/yida-skills/skills/yida-design/references/page-quality-gates.md +38 -26
  109. package/yida-skills/skills/yida-design/references/style-design-selection.md +137 -0
  110. package/yida-skills/skills/yida-design/references/style-designs/_design-md-template.md +185 -0
  111. package/yida-skills/skills/yida-design/references/style-designs/aqua-service-progress-dashboard.md +242 -0
  112. package/yida-skills/skills/yida-design/references/style-designs/blue-insight-operations-dashboard.md +243 -0
  113. package/yida-skills/skills/yida-design/references/style-designs/blue-productivity-insight-workbench.md +242 -0
  114. package/yida-skills/skills/yida-design/references/style-designs/command-filter-card-console.md +304 -0
  115. package/yida-skills/skills/yida-design/references/style-designs/contrast-command-analytics-workbench.md +261 -0
  116. package/yida-skills/skills/yida-design/references/style-designs/dark-stage-analytic-dashboard.md +369 -0
  117. package/yida-skills/skills/yida-design/references/style-designs/filterable-card-catalog.md +354 -0
  118. package/yida-skills/skills/yida-design/references/style-designs/green-timeline-progress-workbench.md +250 -0
  119. package/yida-skills/skills/yida-design/references/style-designs/registry.md +117 -0
  120. package/yida-skills/skills/yida-design/references/style-designs/soft-analytic-workbench.md +348 -0
  121. package/yida-skills/skills/yida-design/references/style-designs/soft-blue-grid-analytic-dashboard.md +658 -0
  122. package/yida-skills/skills/yida-design/references/style-designs/soft-bordered-analytic-workbench.md +385 -0
  123. package/yida-skills/skills/yida-design/references/style-designs/soft-curated-filter-gallery.md +300 -0
  124. package/yida-skills/skills/yida-design/references/style-designs/soft-modular-analytic-workbench.md +404 -0
  125. package/yida-skills/skills/yida-design/references/style-designs/soft-progress-analytics-workbench.md +382 -0
  126. package/yida-skills/skills/yida-design/references/style-designs/soft-timeline-analytics-workbench.md +367 -0
  127. package/yida-skills/skills/yida-design/references/style-designs/teal-rail-analytics-workbench.md +341 -0
  128. package/yida-skills/skills/yida-design/references/theme/app-custom-theme-template.css +432 -350
  129. package/yida-skills/skills/yida-design/references/visual-decision-engine.md +143 -19
  130. package/yida-skills/skills/yida-design/references/visual-scaffold-recipes.md +27 -15
  131. package/yida-skills/skills/yida-design/sub_skill/page-design/SKILL.md +0 -4
  132. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/SKILL.md +8 -22
  133. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/assets/README.md +10 -14
  134. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/assets/build-plan-template.html +4 -9
  135. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/references/build-plan-compact-schema.md +27 -49
  136. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/references/build-plan-schema.md +154 -33
  137. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/references/visual-design.md +127 -48
  138. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/references/visual-theme-selection.md +51 -37
  139. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/scripts/render_build_plan.py +48 -43
  140. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/scripts/validate_design_themes.py +190 -0
  141. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/README.md +98 -0
  142. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/airy-media-grid.md +339 -0
  143. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/airy-modular-clarity.md +348 -0
  144. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/airy-structured-clarity.md +344 -0
  145. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/ambient-halo-layered.md +345 -0
  146. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/dark-focus-layered.md +355 -0
  147. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/dark-luminous-modular.md +377 -0
  148. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/deep-stage-duotone.md +352 -0
  149. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/hairline-runway-clarity.md +389 -0
  150. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/high-contrast-modular.md +364 -0
  151. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/index.json +329 -0
  152. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/interlocked-vivid-modules.md +348 -0
  153. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/matrix-grid-focus.md +345 -0
  154. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/media-rail-inspector.md +379 -0
  155. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/mist-layered-signal.md +347 -0
  156. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/modular-rail-signal.md +352 -0
  157. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/mono-grid-signal.md +386 -0
  158. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/ribbon-ledger-lift.md +384 -0
  159. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/segmented-meter-clarity.md +388 -0
  160. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/split-rail-precision.md +341 -0
  161. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/status-framed-media-grid.md +361 -0
  162. package/yida-skills/skills/yida-design/workflow/output-design.md +375 -117
  163. package/yida-skills/skills/yida-design/workflow/output-prd.md +185 -0
  164. package/yida-skills/skills/yida-design/workflow/step-1-read-brief.md +1 -1
  165. package/yida-skills/skills/yida-design/workflow/step-2-theme-system.md +29 -33
  166. package/yida-skills/skills/yida-design/workflow/step-4-wireframe-interaction.md +1 -3
  167. package/yida-skills/skills/yida-design/workflow/step-5-visual-states.md +106 -22
  168. package/yida-skills/skills/yida-design/workflow/step-6-handoff.md +22 -15
  169. package/yida-skills/skills/yida-form-permission/SKILL.md +0 -6
  170. package/yida-skills/skills/yida-image-assets/SKILL.md +50 -73
  171. package/yida-skills/skills/yida-image-assets/references/manifest-contract.md +52 -82
  172. package/yida-skills/skills/yida-image-assets/references/source-policy.md +15 -14
  173. package/yida-skills/skills/yida-integration/SKILL.md +0 -1
  174. package/yida-skills/skills/yida-login/SKILL.md +0 -2
  175. package/yida-skills/skills/yida-nav-group/SKILL.md +2 -4
  176. package/yida-skills/skills/yida-nav-shell/SKILL.md +12 -36
  177. package/yida-skills/skills/yida-nav-shell/references/nav-shell-patterns.md +136 -79
  178. package/yida-skills/skills/yida-page-config/SKILL.md +4 -13
  179. package/yida-skills/skills/yida-prd/SKILL.md +3 -5
  180. package/yida-skills/skills/yida-prd/references/app/blueprint.md +4 -4
  181. package/yida-skills/skills/yida-prd/references/app/navigation-patterns.md +3 -6
  182. package/yida-skills/skills/yida-prd/references/app/role-journey.md +3 -5
  183. package/yida-skills/skills/yida-prd/references/plan-content.md +0 -4
  184. package/yida-skills/skills/yida-prd/workflow/output-prd.md +11 -18
  185. package/yida-skills/skills/yida-prd/workflow/plan-business.md +4 -4
  186. package/yida-skills/skills/yida-prd/workflow/step-2-information-architecture.md +8 -11
  187. package/yida-skills/skills/yida-publish-page/SKILL.md +1 -9
  188. package/yida-skills/skills/yida-requirement-analysis/SKILL.md +39 -10
  189. package/yida-skills/skills/yida-requirement-analysis/workflow/prepare-brief.md +71 -40
  190. package/yida-skills/skills-index.json +16 -36
  191. package/lib/app/application-entry-urls.js +0 -31
  192. package/lib/app/application-style.js +0 -69
  193. package/lib/app/canvas-icon-exports.json +0 -6160
  194. package/lib/app/canvas-icon-guard.js +0 -87
  195. package/lib/app/canvas-navigation-guard.js +0 -84
  196. package/lib/app/canvas-path-guard.js +0 -78
  197. package/lib/app/canvas-theme-guard.js +0 -184
  198. package/lib/app/form-data-response-guard.js +0 -57
  199. package/lib/asset/asset-execution.js +0 -79
  200. package/lib/core/css-structure.js +0 -37
  201. package/lib/design/check-design.js +0 -51
  202. package/lib/design/document.js +0 -458
  203. package/lib/design/icon-contrast.js +0 -85
  204. package/lib/design/page-content.js +0 -11
  205. package/lib/design-plan/artifact-updates.js +0 -117
  206. package/lib/design-plan/confirmation.js +0 -13
  207. package/lib/design-plan/entry-navigation.js +0 -97
  208. package/lib/design-plan/navigation-policy.js +0 -38
  209. package/lib/design-plan/rebase.js +0 -60
  210. package/lib/design-plan/themes.js +0 -101
  211. package/lib/design-plan/visual-policy.js +0 -42
  212. package/lib/samples/openyida-scaffold/canvas-admin-entry.jsx +0 -62
  213. package/lib/samples/openyida-scaffold/canvas-navigation.jsx +0 -56
  214. package/lib/samples/openyida-scaffold/canvas-view-state.jsx +0 -74
  215. package/yida-skills/skills/yida-app/references/entry-navigation.md +0 -193
  216. package/yida-skills/skills/yida-canvas-custom-page/references/view-state-recovery.md +0 -52
  217. package/yida-skills/skills/yida-canvas-data-binding/references/business-action-permissions.md +0 -31
  218. package/yida-skills/skills/yida-design/references/application-style-library.md +0 -93
  219. package/yida-skills/skills/yida-design/references/application-theme-consistency.md +0 -150
  220. package/yida-skills/skills/yida-design/references/native-form-styles.md +0 -208
  221. package/yida-skills/skills/yida-design/references/navigation-decision.md +0 -53
  222. package/yida-skills/skills/yida-design/references/page-continuity.md +0 -42
  223. package/yida-skills/skills/yida-design/references/theme/application-style-recipes.css +0 -58
  224. package/yida-skills/skills/yida-design/references/theme-selection.md +0 -67
  225. package/yida-skills/skills/yida-design/scripts/validate_design_themes.py +0 -302
  226. package/yida-skills/skills/yida-design/templates/application-styles.json +0 -398
  227. package/yida-skills/skills/yida-design/templates/design-themes/README.md +0 -73
  228. package/yida-skills/skills/yida-design/templates/design-themes/app-amber/app_theme.css +0 -748
  229. package/yida-skills/skills/yida-design/templates/design-themes/app-amber/design.md +0 -274
  230. package/yida-skills/skills/yida-design/templates/design-themes/app-amber/form-layout.json +0 -15
  231. package/yida-skills/skills/yida-design/templates/design-themes/app-editorial/app_theme.css +0 -748
  232. package/yida-skills/skills/yida-design/templates/design-themes/app-editorial/design.md +0 -274
  233. package/yida-skills/skills/yida-design/templates/design-themes/app-editorial/form-layout.json +0 -14
  234. package/yida-skills/skills/yida-design/templates/design-themes/app-executive/app_theme.css +0 -748
  235. package/yida-skills/skills/yida-design/templates/design-themes/app-executive/design.md +0 -274
  236. package/yida-skills/skills/yida-design/templates/design-themes/app-executive/form-layout.json +0 -13
  237. package/yida-skills/skills/yida-design/templates/design-themes/app-finance/app_theme.css +0 -748
  238. package/yida-skills/skills/yida-design/templates/design-themes/app-finance/design.md +0 -274
  239. package/yida-skills/skills/yida-design/templates/design-themes/app-finance/form-layout.json +0 -14
  240. package/yida-skills/skills/yida-design/templates/design-themes/app-glass/app_theme.css +0 -748
  241. package/yida-skills/skills/yida-design/templates/design-themes/app-glass/design.md +0 -274
  242. package/yida-skills/skills/yida-design/templates/design-themes/app-glass/form-layout.json +0 -14
  243. package/yida-skills/skills/yida-design/templates/design-themes/app-graphite/app_theme.css +0 -748
  244. package/yida-skills/skills/yida-design/templates/design-themes/app-graphite/design.md +0 -274
  245. package/yida-skills/skills/yida-design/templates/design-themes/app-graphite/form-layout.json +0 -14
  246. package/yida-skills/skills/yida-design/templates/design-themes/app-line/app_theme.css +0 -748
  247. package/yida-skills/skills/yida-design/templates/design-themes/app-line/design.md +0 -274
  248. package/yida-skills/skills/yida-design/templates/design-themes/app-line/form-layout.json +0 -13
  249. package/yida-skills/skills/yida-design/templates/design-themes/app-neon/app_theme.css +0 -748
  250. package/yida-skills/skills/yida-design/templates/design-themes/app-neon/design.md +0 -274
  251. package/yida-skills/skills/yida-design/templates/design-themes/app-neon/form-layout.json +0 -14
  252. package/yida-skills/skills/yida-design/templates/design-themes/app-nordic/app_theme.css +0 -754
  253. package/yida-skills/skills/yida-design/templates/design-themes/app-nordic/design.md +0 -279
  254. package/yida-skills/skills/yida-design/templates/design-themes/app-nordic/form-layout.json +0 -13
  255. package/yida-skills/skills/yida-design/templates/design-themes/app-paper/app_theme.css +0 -748
  256. package/yida-skills/skills/yida-design/templates/design-themes/app-paper/design.md +0 -274
  257. package/yida-skills/skills/yida-design/templates/design-themes/app-paper/form-layout.json +0 -13
  258. package/yida-skills/skills/yida-design/templates/design-themes/app-platinum/app_theme.css +0 -748
  259. package/yida-skills/skills/yida-design/templates/design-themes/app-platinum/design.md +0 -274
  260. package/yida-skills/skills/yida-design/templates/design-themes/app-platinum/form-layout.json +0 -14
  261. package/yida-skills/skills/yida-design/templates/design-themes/app-plum/app_theme.css +0 -748
  262. package/yida-skills/skills/yida-design/templates/design-themes/app-plum/design.md +0 -274
  263. package/yida-skills/skills/yida-design/templates/design-themes/app-plum/form-layout.json +0 -14
  264. package/yida-skills/skills/yida-design/templates/design-themes/app-pop/app_theme.css +0 -758
  265. package/yida-skills/skills/yida-design/templates/design-themes/app-pop/design.md +0 -281
  266. package/yida-skills/skills/yida-design/templates/design-themes/app-pop/form-layout.json +0 -14
  267. package/yida-skills/skills/yida-design/templates/design-themes/app-sage/app_theme.css +0 -748
  268. package/yida-skills/skills/yida-design/templates/design-themes/app-sage/design.md +0 -274
  269. package/yida-skills/skills/yida-design/templates/design-themes/app-sage/form-layout.json +0 -14
  270. package/yida-skills/skills/yida-design/templates/design-themes/app-teal/app_theme.css +0 -748
  271. package/yida-skills/skills/yida-design/templates/design-themes/app-teal/design.md +0 -274
  272. package/yida-skills/skills/yida-design/templates/design-themes/app-teal/form-layout.json +0 -14
  273. package/yida-skills/skills/yida-design/templates/design-themes/app-terminal/app_theme.css +0 -754
  274. package/yida-skills/skills/yida-design/templates/design-themes/app-terminal/design.md +0 -279
  275. package/yida-skills/skills/yida-design/templates/design-themes/app-terminal/form-layout.json +0 -14
  276. package/yida-skills/skills/yida-design/templates/design-themes/app-ticket/app_theme.css +0 -752
  277. package/yida-skills/skills/yida-design/templates/design-themes/app-ticket/design.md +0 -278
  278. package/yida-skills/skills/yida-design/templates/design-themes/app-ticket/form-layout.json +0 -13
  279. package/yida-skills/skills/yida-design/templates/design-themes/app-wire/app_theme.css +0 -748
  280. package/yida-skills/skills/yida-design/templates/design-themes/app-wire/design.md +0 -274
  281. package/yida-skills/skills/yida-design/templates/design-themes/app-wire/form-layout.json +0 -14
  282. package/yida-skills/skills/yida-design/templates/design-themes/basic-tokens.json +0 -118
  283. package/yida-skills/skills/yida-design/templates/design-themes/dark-inset-hairline/app_theme.css +0 -690
  284. package/yida-skills/skills/yida-design/templates/design-themes/dark-inset-hairline/design.md +0 -382
  285. package/yida-skills/skills/yida-design/templates/design-themes/dark-inset-hairline/form-layout.json +0 -13
  286. package/yida-skills/skills/yida-design/templates/design-themes/dark-rail-fine-lines/app_theme.css +0 -691
  287. package/yida-skills/skills/yida-design/templates/design-themes/dark-rail-fine-lines/design.md +0 -380
  288. package/yida-skills/skills/yida-design/templates/design-themes/dark-rail-fine-lines/form-layout.json +0 -13
  289. package/yida-skills/skills/yida-design/templates/design-themes/dark-rail-signal-panels/app_theme.css +0 -696
  290. package/yida-skills/skills/yida-design/templates/design-themes/dark-rail-signal-panels/design.md +0 -378
  291. package/yida-skills/skills/yida-design/templates/design-themes/dark-rail-signal-panels/form-layout.json +0 -13
  292. package/yida-skills/skills/yida-design/templates/design-themes/free-creative/app_theme.css +0 -689
  293. package/yida-skills/skills/yida-design/templates/design-themes/free-creative/design.md +0 -238
  294. package/yida-skills/skills/yida-design/templates/design-themes/free-creative/form-layout.json +0 -13
  295. package/yida-skills/skills/yida-design/templates/design-themes/graphite-bevel-grid/app_theme.css +0 -692
  296. package/yida-skills/skills/yida-design/templates/design-themes/graphite-bevel-grid/design.md +0 -375
  297. package/yida-skills/skills/yida-design/templates/design-themes/graphite-bevel-grid/form-layout.json +0 -13
  298. package/yida-skills/skills/yida-design/templates/design-themes/hairline-shared-bands/app_theme.css +0 -691
  299. package/yida-skills/skills/yida-design/templates/design-themes/hairline-shared-bands/design.md +0 -362
  300. package/yida-skills/skills/yida-design/templates/design-themes/hairline-shared-bands/form-layout.json +0 -13
  301. package/yida-skills/skills/yida-design/templates/design-themes/hairline-soft-blocks/app_theme.css +0 -691
  302. package/yida-skills/skills/yida-design/templates/design-themes/hairline-soft-blocks/design.md +0 -409
  303. package/yida-skills/skills/yida-design/templates/design-themes/hairline-soft-blocks/form-layout.json +0 -13
  304. package/yida-skills/skills/yida-design/templates/design-themes/index.json +0 -464
  305. package/yida-skills/skills/yida-design/templates/design-themes/ink-glow-soft-panels/app_theme.css +0 -701
  306. package/yida-skills/skills/yida-design/templates/design-themes/ink-glow-soft-panels/design.md +0 -379
  307. package/yida-skills/skills/yida-design/templates/design-themes/ink-glow-soft-panels/form-layout.json +0 -13
  308. package/yida-skills/skills/yida-design/templates/design-themes/inset-frame-pixel-rhythm/app_theme.css +0 -691
  309. package/yida-skills/skills/yida-design/templates/design-themes/inset-frame-pixel-rhythm/design.md +0 -404
  310. package/yida-skills/skills/yida-design/templates/design-themes/inset-frame-pixel-rhythm/form-layout.json +0 -13
  311. package/yida-skills/skills/yida-design/templates/design-themes/outlined-texture-duotone/app_theme.css +0 -698
  312. package/yida-skills/skills/yida-design/templates/design-themes/outlined-texture-duotone/design.md +0 -389
  313. package/yida-skills/skills/yida-design/templates/design-themes/outlined-texture-duotone/form-layout.json +0 -13
  314. package/yida-skills/skills/yida-design/templates/design-themes/soft-inset-surfaces/app_theme.css +0 -691
  315. package/yida-skills/skills/yida-design/templates/design-themes/soft-inset-surfaces/design.md +0 -372
  316. package/yida-skills/skills/yida-design/templates/design-themes/soft-inset-surfaces/form-layout.json +0 -13
  317. package/yida-skills/skills/yida-design/templates/design-themes/soft-outline-rhythm/app_theme.css +0 -690
  318. package/yida-skills/skills/yida-design/templates/design-themes/soft-outline-rhythm/design.md +0 -455
  319. package/yida-skills/skills/yida-design/templates/design-themes/soft-outline-rhythm/form-layout.json +0 -13
  320. package/yida-skills/skills/yida-design/templates/design-themes/soft-rail-bold-band/app_theme.css +0 -698
  321. package/yida-skills/skills/yida-design/templates/design-themes/soft-rail-bold-band/design.md +0 -394
  322. package/yida-skills/skills/yida-design/templates/design-themes/soft-rail-bold-band/form-layout.json +0 -13
  323. package/yida-skills/skills/yida-design/templates/design-themes/soft-spectral-panels/app_theme.css +0 -692
  324. package/yida-skills/skills/yida-design/templates/design-themes/soft-spectral-panels/design.md +0 -391
  325. package/yida-skills/skills/yida-design/templates/design-themes/soft-spectral-panels/form-layout.json +0 -13
  326. package/yida-skills/skills/yida-design/templates/design-themes/warm-canvas-contrast-panels/app_theme.css +0 -711
  327. package/yida-skills/skills/yida-design/templates/design-themes/warm-canvas-contrast-panels/design.md +0 -408
  328. package/yida-skills/skills/yida-design/templates/design-themes/warm-canvas-contrast-panels/form-layout.json +0 -13
  329. package/yida-skills/skills/yida-design/templates/design-themes/warm-rail-muted-panels/app_theme.css +0 -692
  330. package/yida-skills/skills/yida-design/templates/design-themes/warm-rail-muted-panels/design.md +0 -383
  331. package/yida-skills/skills/yida-design/templates/design-themes/warm-rail-muted-panels/form-layout.json +0 -13
  332. package/yida-skills/skills/yida-design/templates/navigation-styles.json +0 -769
  333. package/yida-skills/skills/yida-requirement-analysis/references/experience-groups.md +0 -79
  334. package/yida-skills/skills/yida-requirement-analysis/references/handoff.md +0 -68
@@ -0,0 +1,185 @@
1
+ # 输出:prd.md(兼容入口,owner 已迁移)
2
+
3
+ > 完整应用的 PRD 由 `yida-prd/workflow/output-prd.md` 负责。本文件只保留旧引用兼容,不得由 `yida-design` 工作流加载或写入 `prd.md`。
4
+
5
+ > 本文件定义完整应用的 `prd/<项目名>/prd.md` 输出格式。`prd.md` 记录业务语义、产品设计、页面结构、资源创建顺序、页面实现交付顺序和导航顺序。PRD 不写 UI 视觉设计规范,只写应用主题色和风格摘要,并引用 `design.md` 章节。
6
+
7
+ ## PRD 输出格式
8
+
9
+ ```markdown
10
+ # <应用名> PRD
11
+
12
+ ## 1. 应用基本信息
13
+
14
+ | 项目 | 内容 |
15
+ | --- | --- |
16
+ | 应用名称 | <业务名称> |
17
+ | 应用类型 | <企业管理 / 经营分析 / 流程审批 / 数据采集 / 客户服务 / 库存进销存 / 项目协作 / 资产设备 / 教育培训 / 知识内容 / 监控指挥 / 官网门户 / 活动报名 / 轻量工具> |
18
+ | 业务目标 | <一句话说明这个应用解决什么问题> |
19
+ | 核心用户 | <角色 1 / 角色 2 / 管理员等> |
20
+ | 使用场景 | <PC 办公 / 移动录入 / 大屏查看 / 外部官网等> |
21
+ | 核心对象 | <客户 / 订单 / 商品 / 工单 / 审批单等> |
22
+ | 主题色 | <当前应用主题色 / 用户指定品牌色 / 待创建后回填;写清色值或主题 key> |
23
+ | 权限口径 | <谁能看、谁能填、谁能审批、谁能管理> |
24
+
25
+ ## 2. 应用配置
26
+
27
+ | 配置项 | 值 |
28
+ | --- | --- |
29
+ | appType | <已有应用填真实 appType;从零创建时写“待创建后回填”> |
30
+ | corpId | <目标组织 corpId;未知时写“待登录态确认”> |
31
+ | baseUrl | <平台地址,如 https://www.aliwork.com 或私有化域名> |
32
+ | 是否隐藏平台导航 | <否 / 是;默认否。仅自绘应用级导航或用户明确要求隐藏时写“是”,并配置 `hideAppNav='y'`;`isRenderNav=false` 只隐藏当前页面导航> |
33
+
34
+ ## 3. 数据结构(业务语义,不含细节 ID)
35
+
36
+ ### <表单 / 数据对象名称>
37
+
38
+ | 字段名 | 字段类型 | 必填 | 默认值 / 选项 | 关联关系 | 分组 | 说明 |
39
+ | --- | --- | --- | --- | --- | --- | --- |
40
+ | <字段> | <文本 / 数字 / 日期 / 单选 / 多选 / 子表单 / 关联表> | <是/否> | <默认值或选项> | <关联对象> | <基础信息 / 状态 / 明细> | <业务说明> |
41
+
42
+ ### 初始示例数据计划
43
+
44
+ 完整应用默认在表单创建后、页面实现前,为核心业务普通表单写入 1-3 条业务化示例记录。这里写业务语义,真实 fieldId 由实现阶段通过 `openyida get-schema` 回填。
45
+
46
+ | 表单 | 默认写入数量 | 示例记录语义 | 是否允许跳过 | 跳过条件 |
47
+ | --- | --- | --- | --- | --- |
48
+ | <核心业务表单> | <1-3> | <记录 1:关键字段和值;记录 2:关键字段和值;记录 3:关键字段和值> | <否 / 是> | <用户明确不要造数 / 配置字典表 / 敏感数据 / 字段缺少可安全构造值> |
49
+
50
+ 要求:示例记录必须贴合当前业务,不写“测试1/测试2”;日期字段在实现阶段必须转成 13 位毫秒时间戳;普通表单逐条 `openyida data create form` 写入并 query 抽查。流程表单只有 processCode 已确认且页面需要流程实例时才发起。
51
+
52
+ 流程表单需要补充:
53
+
54
+ | 节点 | 处理人 | 流转条件 | 表单动作 |
55
+ | --- | --- | --- | --- |
56
+ | 提交 | <角色> | <条件> | <填写/校验> |
57
+
58
+ ## 4. 页面与功能设计
59
+
60
+ ### <页面名>
61
+
62
+ - 页面类型:<display-page / form-page / process-form / report / detail-entry>
63
+ - 页面定位:<主入口页面 / 核心业务页 / 详情页 / 报表页 / 配置页;说明为什么需要这个页面>
64
+ - 页面目标:<这个页面帮助用户完成什么判断或操作>
65
+ - 页面关系:<从哪里进入、下一步去列表 / 看板 / 表单提交 / 详情 / 报表中的哪一个>
66
+ - 设计文件:<display-page 填 `prd/<项目名>/design.md`;普通表单 / 流程表单填写表单结构与填写路径引导>
67
+ - 设计引用:<引用 design.md 中的章节 ID,例如 themeProfile、sceneRecipes.workbench、components.table、states.empty>
68
+ - 风格理由:<一句话说明该页面为什么采用 design.md 中的对应场景规则>
69
+ - 主题关系:<跟随当前应用主题 / 平台预置主题 / 应用自定义主题文件;只写摘要,具体 token 与 UI 规则见 design.md>
70
+ - 关联资源:
71
+ - 表单:<表单名称;用于新增、编辑、查询或作为列表数据来源>
72
+ - 流程:<流程名称;用于提交、审批、处理或状态流转>
73
+ - 报表 / 数据源:<报表或数据来源;用于指标、图表或大屏>
74
+ - 详情页:<原生 formDetail / 自定义详情页 / 抽屉详情>
75
+ - 需要设计的区块:
76
+ - <区块名称>:<区块目的;数据来源;主操作;状态>
77
+ - 工作台、首页、门户、看板、展示页和业务入口页推荐逐条列出 8-10 个 `contentBlocks` 以上,但这不是硬门槛。KPI 组、快捷入口组、列表组各只算 1 个区块,不能用子项或列表行凑数;窄场景可以更少,并说明取舍理由。
78
+ - 自定义页面需要逐个写清首屏、筛选、列表/卡片、图表、表单入口、详情抽屉、空态等区块。
79
+ - 布局骨架:<顶部概览 / 筛选区 / 表格 / 卡片列表 / 图表区 / 右侧详情等>
80
+ - 核心组件:<KPI / 快捷入口 / 表格 / 图表 / 表单入口 / 状态标签等>
81
+ - 主操作:<新增 / 提交 / 查看 / 审批 / 编辑 / 跳转>
82
+ - PC / 移动端差异:<PC 抽屉 / 移动端整页 / 卡片堆叠 / 隐藏低频列>
83
+ - pageSpecHandoff:
84
+ - pageStructure:<workbench / dashboard-overview / business-list / detail-profile / split-pane-detail / portal-shell-home / official-homepage / data-screen>
85
+ - scene:<workbench / dashboard / list / detail / landing / screen>
86
+ - contentBlocks:<推荐列出 8-10 个业务区块以上;KPI/快捷入口/列表/图表子项不分别计数>
87
+ - themeSummary:<应用主题色 / 风格关键词 / 主题交付方式摘要;必须与 design.md 一致,不写 token 和视觉规则>
88
+ - designFile:<prd/<项目名>/design.md>
89
+ - designRefs:<themeProfile / sceneRecipes.<scene> / components.<name> / states.<name>>
90
+ - dataBinding:<form / report / connector / static-empty;真实资源 ID 由实现阶段回填>
91
+ - primaryAction:<主操作和打开方式>
92
+
93
+ ## 5. 应用主题与风格摘要
94
+
95
+ | 项目 | 内容 |
96
+ | --- | --- |
97
+ | 设计文件 | `prd/<项目名>/design.md` |
98
+ | 应用主题色 | <平台预置 key 或自定义色盘名称;必须与 design.md 的 Theme Profile 一致> |
99
+ | 风格摘要 | <2-3 个业务风格关键词,例如高效协同、稳重可信、经营洞察;完整 UI 设计见 design.md> |
100
+ | 主题交付 | <平台预置 / 应用自定义主题文件 / 继承当前应用;具体 themeProfile、token、主题文件交付策略见 design.md> |
101
+ | 明暗模式 | <light 默认;dark 只在明确暗色/夜间/高对比/黑金时使用;具体色阶见 design.md> |
102
+ | 页面设计引用 | <逐页列出 designRefs,不复制 design.md 内容> |
103
+ | 素材策略摘要 | <官网/品牌页是否需要真实图片或生成图片;具体视觉表达见 design.md> |
104
+ | 一致性要求 | <PRD 中主题色和风格摘要必须与 design.md 保持一致;冲突时以 design.md 为准并修正 PRD 摘要> |
105
+
106
+ ## 6. 业务逻辑与交互状态
107
+
108
+ | 类型 | 规则 |
109
+ | --- | --- |
110
+ | 表单提交后 | <刷新列表 / 回到当前工作台 / 触发流程 / 更新状态> |
111
+ | 新增/提交入口 | <PC 侧边抽屉 iframe 承载页面级隐藏导航的 `submission/{formUuid}?isRenderNav=false`,抽屉默认半屏 `50vw`;移动端整页或新页打开;必要时用 `update-form-config` 持久化表单设置 `isRenderNav=false`> |
112
+ | 详情查看 | <PC 侧边抽屉 iframe 承载页面级隐藏导航的 `formDetail/{formUuid}?formInstId={formInstId}&navConfig.layout=1180&isRenderNav=false`,抽屉默认半屏 `50vw`;移动端整页或新页打开;formInstId 来自真实数据记录并优先取 row.formInstId,缺失时禁用详情入口> |
113
+ | 数据变更 | <自动计算、状态流转、通知或提醒> |
114
+ | 权限规则 | <角色能看、能改、能审批的边界> |
115
+ | 空状态 | <无数据时的说明、主操作入口和下一步> |
116
+ | 加载状态 | <骨架屏 / 表格 loading / 图表 loading> |
117
+ | 错误状态 | <错误提示、重试、回退入口> |
118
+
119
+ ## 7. 资源蓝图
120
+
121
+ | 资源 | 类型 | 用途 | 关键字段 / 功能 | 创建策略 |
122
+ | --- | --- | --- | --- | --- |
123
+ | <主页面> | display-page / main | <入口和概览> | <contentBlocks:推荐 8-10 个区块以上,如标题上下文、筛选、摘要、主操作、待办、最近记录、动态、提醒、右侧上下文、空态行动等;不作为硬门槛> | <复用 / 创建> |
124
+ | <业务表单> | normal-form | <数据录入和列表管理> | <核心字段> | <复用 / 创建 / 更新> |
125
+ | <审批表单> | process-form | <流程闭环> | <节点和条件> | <复用 / 创建 / 更新> |
126
+ | <报表> | report | <汇总分析> | <指标口径> | <复用 / 创建 / 更新> |
127
+
128
+ 默认不创建自定义列表页;用户明确要求时才新增 `display-page / list`。
129
+
130
+ ## 8. 资源创建顺序
131
+
132
+ 资源创建顺序服务于依赖关系;表单/流程在自定义页面之前创建,便于页面消费表单 URL、字段语义和数据来源。
133
+
134
+ | 顺序 | 资源 | 依赖原因 | 创建后记录 |
135
+ | --- | --- | --- | --- |
136
+ | 1 | 应用 | 承载所有页面、表单、流程和导航 | `appType` |
137
+ | 2 | 普通表单 / 流程表单 | 自定义页面需要表单 URL、字段语义和数据来源 | `formUuid`、字段映射 |
138
+ | 3 | 应用主题与导航配置 | 在应用级统一配置主题,并明确是否隐藏平台导航 | `themeFile`、`themeColor`、`navTheme`、`logoSource`、`layoutDirection`、`hideAppNav` |
139
+ | 4 | 初始示例数据 | 页面需要读取真实表单记录,完整应用默认写入 1-3 条核心业务记录 | 写入数量、抽查结果 |
140
+ | 5 | 主自定义页面 / 业务自定义页面 | 页面消费表单入口和表单数据 | `displayPageFormUuid` |
141
+ | 6 | 报表 / 数据看板数据源 | 看板或大屏需要汇总指标时创建 | `reportId` 或数据源信息 |
142
+ | 7 | 发布与导航排序 | 页面发布成功后再调整导航展示 | 发布 URL、导航状态 |
143
+
144
+ ## 9. 页面实现交付顺序
145
+
146
+ 页面实现交付顺序是页面开发和验收顺序,不等同于资源创建顺序,也不等同于导航顺序。
147
+
148
+ | 顺序 | 页面 | 实现重点 | 依赖资源 | 验收点 |
149
+ | --- | --- | --- | --- | --- |
150
+ | 1 | <主页面 / 工作台 / 官网首页> | <首屏、核心入口、主题风格> | <表单入口 / 空态 / 指标口径> | <打开后能完成核心判断> |
151
+ | 2 | <数据管理入口> | <默认使用表单数据管理页;用户要求时实现自定义列表> | <核心业务表单> | <可新增或查看详情> |
152
+ | 3 | <详情 / 看板 / 大屏> | <对象叙事、图表、状态、洞察> | <表单数据 / 报表> | <能解释业务状态> |
153
+ | 4 | <辅助页面> | <配置、说明、低频入口> | <相关表单或链接> | <不阻断主链路> |
154
+
155
+ ## 10. 导航顺序
156
+
157
+ 导航顺序是用户在平台导航中看到的顺序,按业务入口和使用频率排列。
158
+
159
+ | 分组 | 页面顺序 | 导航呈现 | 放置原则 |
160
+ | --- | --- | --- | --- |
161
+ | 门户 / 首页 | <主页面 / 工作台 / 官网首页> | <平台导航 / 顶部导航 / 侧边导航 / 单页入口> | 第一入口放最前 |
162
+ | 业务办理 | <流程表单 / 新增入口 / 待办相关页面> | <平台导航或页面内快捷入口> | 高频动作靠前 |
163
+ | 数据管理 | <表单数据管理页 / 用户要求的自定义列表页 / 详情页> | <平台导航分组> | 数据录入、查询和维护集中 |
164
+ | 经营分析 | <看板 / 报表 / 大屏> | <平台导航 / 大屏全屏入口 / 页面级隐藏导航 isRenderNav=false> | 管理者查看,放在业务操作之后或独立分组 |
165
+ | 系统配置 | <配置表 / 字典表 / 权限说明> | <平台导航靠后分组> | 低频维护靠后 |
166
+
167
+ ## 11. 验收标准
168
+
169
+ | 场景 | 验收标准 |
170
+ | --- | --- |
171
+ | 主页面访问 | <页面发布成功,打开后首屏能完成核心判断> |
172
+ | 数据录入 | <表单能提交,提交后页面能刷新或回到正确入口> |
173
+ | 主题配置与页面消费 | <应用主题文件已配置,自定义页面已消费对应主题变量> |
174
+ | 初始示例数据 | <完整应用默认已为核心普通表单写入 1-3 条业务化示例记录并 query 抽查;跳过时说明原因> |
175
+ | 数据查看 | <默认使用表单数据管理页;自定义列表 / 看板 / 详情显示真实数据或空态> |
176
+ | 权限 / 流程 | <权限规则或流程节点生效> |
177
+ | 视觉一致性 | <主题色、布局密度、状态、图标和当前业务一致> |
178
+ | 导航可用 | <导航顺序符合 PRD,主入口靠前,配置/低频资源靠后> |
179
+ ```
180
+
181
+ ## 交给实现阶段
182
+
183
+ - `yida-app` 读取 `prd/<项目名>/prd.md` 和 `prd/<项目名>/design.md` 后创建或复用资源。
184
+ - 真实 ID 写入 `.cache/<项目名>-schema.json`。
185
+ - 页面实现阶段读取 `prd.md` 的业务内容,并直接读取 `design.md` 的主题、布局、材质、圆角、密度、呼吸感、组件和状态规则;只有走页面生成器或需要稳定交接时才派生 `page-spec.json`,再交给 `yida-canvas-custom-page` 实现。
@@ -6,7 +6,7 @@
6
6
 
7
7
  1. 文件存在且 JSON 可解析,`schemaVersion=1`。
8
8
  2. 读取行业、目标用户、业务目标、核心功能、业务对象、页面场景、品牌和色彩偏好。
9
- 3. 读取 `userTasks` 和 `entryRecommendation`,沿用规划准备写入的导航决策,服务与管理体验按实际任务设计;平台导航或自定义导航不再交给用户选择。按已确认范围设计;自定义页面生成逐页场景规则,表单与流程沿用应用主题。
9
+ 3. 按已确认范围设计;自定义页面生成逐页场景规则,表单与流程沿用应用主题。
10
10
  4. 会改变视觉方向的 `openQuestions` 未解决时,暂停生成视觉设计并交回 `yida-app` 处理。
11
11
 
12
12
  ## 产出
@@ -1,13 +1,11 @@
1
1
  # 选择主题色和 token
2
2
 
3
- > 这一步同时设计导航、应用框架、表单、记录详情和自定义页面,确定配色、字体、形状、间距与状态,并写入应用 token。
3
+ > 这一步选择应用主色、辅助色、字体层级、组件基调和宜搭 token 作用域。
4
4
 
5
5
  视觉方向要从“高级 / 简洁 / 商务”继续落细。PRD 只写应用主题色和风格摘要;`design.md` 写完整 `themeProfile`、主题 token、主色、辅助色、中性色、字体层级和组件基调。
6
6
 
7
7
  已有应用里的单页重构/美化读取并沿用当前应用主题。用户要求更换主色时,更新应用级主题文件,不在页面代码中创建或向上层写入另一套主题。
8
8
 
9
- 先按[设计方向比较](../references/theme-selection.md#设计方向比较)确定本项目的构图、层级、材质和色彩关系,复用已经完成的选择。
10
-
11
9
  ## 选择主题色
12
10
 
13
11
  先确定主题色来源,再生成应用主题文件。用户确认“自然绿意”等整体风格时,页面浅底、卡片、填充、边界和交互一起协调,不能只改主按钮;字体保持清晰中性层级,状态保持语义色。模板固定雾白/灰阶不能覆盖该选择。完整规则见 [用户配色与模板的优先级](output-design.md#用户配色与模板的优先级)。主题色来源优先级如下:
@@ -15,14 +13,14 @@
15
13
  | 优先级 | themeColorSource | 触发条件 | 输出规则 |
16
14
  | --- | --- | --- | --- |
17
15
  | 1 | `user-specified` | 用户明确给出色值、品牌色、主题 key 或换肤要求 | 原样记录用户意图;命中平台 key 才允许传 `--theme`,任意色值写 token |
18
- | 2 | `application-theme` | 已有应用或工作区中能读到当前 `theme`、`colour`、`themeColor` 或 `navTheme` | 沿用应用整体配色和已定义的组件颜色角色;缺少角色时结合当前背景补齐,不要求所有强调都用主色 |
16
+ | 2 | `application-theme` | 已有应用或工作区中能读到当前 `theme`、`colour`、`themeColor` 或 `navTheme` | 单页美化和已有应用改造默认跟随;页面主按钮、链接、选中态和图表主序列跟随应用主题 |
19
17
  | 3 | `business-inferred` | 无明确主题证据,需要根据行业、品牌气质、业务情绪和视觉目标推导 | 设计任意合法的自定义品牌色盘,写应用主题 token 和文件交付方案 |
20
-
18
+ | 4 | `template-default` | 没有任何主题证据且无法稳定推导业务色彩 | 临时使用 UI 视觉设计阶段所选 style-design 的默认 brand token,并明确标记为兜底 |
21
19
 
22
20
  1. 先判断业务气质:行业、目标用户、品牌关键词、业务情绪、视觉目标,以及是否需要亲和/专业/活力/稳重/科技/自然感。
23
- 2. 在 `design.md` 中记录主题色、`navTheme`、`logoSource` 和业务已确定的 `layoutDirection`。命名模板继承完整导航 token 和模板派生的 `navTheme`;自由创意明确设计两者。按 [导航与应用框架](../references/application-theme-consistency.md#导航与应用框架) 将导航外观与各类页面一起写入主题。
21
+ 2. 在 `design.md` 中记录主题色、`navTheme`、`logoSource` 和 `layoutDirection`。
24
22
  3. 主题文件按 [生成与更新规则](output-design.md#cli-token-契约fast--plan-共用) 准备;Plan 复用已生成的主题 CSS。
25
- 4. 主题 CSS 生成后读取并核对目标 token;需要修改变量时回到设计源文件,再通过 CLI 生成并重新上传。只有 CLI 未覆盖且已核实选择器的样式覆盖,才在现有 CSS 末尾小范围追加。按 [共用主题规则](../references/application-theme-consistency.md) 处理,不另写脚本生成或重写主题文件。
23
+ 4. 主题 CSS 生成后只用 `Read` 查看目标 token、用小范围 `Edit` 逐组修改;不得用 Python、Node、Shell 或 `run_workspace_script` 脚本生成、复制、整文件重写、正则替换或 retheme `app-theme.css`,校验脚本只能读取并报告问题,不能改写主题文件。
26
24
  5. 整体暗色时,按 [浮层适配](../references/theme/theme-token-presets.md#暗色主题浮层适配) 补齐组件 token 和必要的 classname 覆盖。
27
25
  6. `podBlue`、`podGreen`、`podOrange` 只是常用浅底候选,不是固定默认。不要因为没有特别说明就自动回到 #1677ff,也不要套用“科技=蓝、宠物=橙、法律=蓝”这类行业刻板配色。
28
26
  7. 主题色只作为后续所选设计风格的换肤输入;除用户明确要求深色/夜间/高对比外,不用主题色反向决定风格。
@@ -33,13 +31,13 @@
33
31
 
34
32
  | token | 语义 | 典型用途 |
35
33
  | --- | --- | --- |
36
- | `--color-brand1-1` | 品牌交互悬停色 | 按主题定义用于交互 hover,不直接充当持续数据色 |
34
+ | `--color-brand1-1` | 明亮品牌浅色或浅 hover 色 | 列表 hover、菜单 hover、轻量背景,不直接当深色文字 |
37
35
  | `--color-brand1-2` | 品牌浅底 | 标签浅底、提示块、选中底、弱强调背景 |
38
- | `--color-brand1-3` | 品牌派生浅色 | 按主题和平台的既有消费关系使用 |
39
- | `--color-brand1-5` | 品牌派生深色 | 深色导航或强调表面等主题指定角色 |
36
+ | `--color-brand1-3` | 品牌透明/浅边界 | 选中边框、禁用/弱化品牌态、浅描边 |
37
+ | `--color-brand1-5` | 主色 hover 档 | 主按钮 hover、链接 hover、可点击强调 hover |
40
38
  | `--color-brand1-6` | 主品牌色 | 主按钮、链接、选中态、重点标签、图表主序列 |
41
- | `--color-brand1-9` | 品牌交互激活色 | active / 按下状态,持续数据焦点另用主题数据变量 |
42
- | `--color-brand1-10` | 品牌交互禁用色 | 品牌控件 disabled 状态 |
39
+ | `--color-brand1-9` | 深主色 | 深色强调、深底按钮、强调标题、深色场景锚点 |
40
+ | `--color-brand1-10` | 深色或透明强调档 | 深色 hover、强强调背景、深色主题补充 |
43
41
  | `--color-brand-1` | 移动端品牌浅/透明档 1 | 移动端壳层、移动端表单、移动组件浅品牌态 |
44
42
  | `--color-brand-2` | 移动端品牌浅/中档 2 | 移动端 hover、轻量强调、移动端组件浅色面 |
45
43
  | `--color-brand-3` | 移动端主品牌档 3 | 移动端主操作、选中态、原生表单移动主色 |
@@ -48,24 +46,23 @@
48
46
 
49
47
  自定义色盘生成时,先确定 `--color-brand1-6` 主色,再推导平台实际消费的浅底、hover、深色和移动端桥接色阶。移动端 `--color-brand-1` ~ `--color-brand-4` 必须保留,不能只输出 `--color-brand1-*`。
50
48
 
51
- 共享主题使用项目 `PRIMARY_COLOR` 作为主色输入,不默认采用 CSS 示例中的咖啡色。按选中主题推导品牌色阶和真实用到的图表色,保留成功、警告、错误、通知等独立语义。圆角与组件形状采用主题的用途映射,不统一改成大圆角或胶囊。
49
+ AI 默认直接使用模板内 coffee 咖啡色色阶和大圆角层级。若 `design.md` 选择其他主色,必须成套替换品牌色阶、基础品牌色阶、`--color-group`,以及按钮、表单、选中态、导航和日期组件中的品牌相关直接色值;成功、警告、错误、通知等语义色保持独立。除非 `roundedRule` 明确改变,不得拆散模板的页面/卡片/抽屉 20px、组件 8-12px、按钮胶囊形圆角层级。
52
50
 
53
51
  ## 处理应用主题和页面风格
54
52
 
55
- - 平台导航、页面和组件共用项目配色体系,但不同角色不必同色。主操作、指标强调、链接和选中态分别按背景、层级和用途选色,保留应用的整体气质。
56
- - `design.md` 明确各角色的颜色、搭配理由和适用表面;辅助色可以承担主操作或指标强调,前提是与整页协调、不会混淆状态,并在同类组件中一致使用。
57
- - 组件需要不同色相时,复用或补充项目角色变量,不重定义品牌 token。只有改变应用整体主色时,才同步主题摘要、`themeRelation` 和应用主题文件。
58
- - 导航选中态与按钮不同色不直接判为冲突。先检查是否符合项目设计、视觉主次是否清楚、前景是否可读;发现实现偏差时按已定义的角色修正,不一律改回品牌色。
53
+ - 平台导航、顶部壳层或应用菜单可见时,应用主题色是页面主色来源;页面主按钮、链接、选中态、重点标签、图表主序列和表单入口都使用应用主题 `--color-brand1-*`。
54
+ - `design.md` 负责布局配方、信息密度、卡片形态、图表语言和视觉 DNA;当 `design.md` 色相与应用主题不同,把 `design.md` 色相降为辅助色、浅背景、分组色或装饰色。
55
+ - 需要主色明显不同于当前应用主题时,PRD 记录业务原因;`design.md` 写 `themeRelation`、token 和应用主题文件。
56
+ - 若截图或预览中出现左侧导航选中态与页面主操作颜色不一致,优先把页面主操作和高频强调色改回应用主题;只有用户确认要改变整个应用主题时,再调用应用主题配置能力。
59
57
 
60
58
  ## 写颜色角色
61
59
 
62
60
  - 主色:先按行业、品牌、业务情绪和视觉目标做创意判断,可选择平台预置主题,也可设计自定义品牌色盘;不得固定为 `podBlue` / #1677ff,不得套用行业刻板配色。
63
- - 辅助色:按整体搭配用于内容分组、图表系列、指标或操作强调;明确用途和面积,状态提示仍沿用语义色。
61
+ - 辅助色:用于按钮强调、状态提示、图表分组和重点指标。
64
62
  - 中性色:背景、文字、边框、分割线,默认保持浅底业务风。
65
63
  - 语义色:成功、警告、错误、信息保持稳定,不随意改成品牌色。
66
64
  - 界面明暗:默认浅色;用户选择暗色、黑色或夜间主题时,按 [暗色主题浮层适配](../references/theme/theme-token-presets.md#暗色主题浮层适配) 确定浮层 token 与必要的 class 覆盖。
67
- - 导航明暗:`themeProfile.navTheme` 从所选主题模板的 `navTheme` 派生;深色导航可以搭配浅色内容界面。用户明确要求另一种导航明暗时重新匹配主题,不在项目化阶段改写模板导航 Token。
68
- - 明暗双轴:按[主题明暗双轴](../references/application-style-library.md#主题明暗双轴)分别填写 `themeProfile.contentTone` 与 `themeProfile.navTheme`。`contentTone` 默认 `light`;自由创意的导航明暗由项目设计明确填写,并配套导航 Token。
65
+ - 导航明暗:`themeProfile.navTheme` 单独按导航方案记录;深色导航可以搭配浅色界面。
69
66
  - `design.md` 的 `themeProfile.colorMode` 是宜搭配色模式,例如 `gradient`,不表示暗黑模式。
70
67
 
71
68
  主题 CSS 就绪后,将主题文件路径、`navTheme`、`logoSource` 和 `layoutDirection` 写入 `design.md`。获取真实 `appType` 后,必须执行 `openyida update-app <appType> --theme-file <CSS路径>` 更新应用基础设置,并以 `themeVerification.verified=true` 确认资源已绑定;后续修改 CSS 也须重新上传保存。平台负责整套应用的主题一致性;只有 `YidaCodeCanvas` 页面源码需要在组件内部使用主题 token。
@@ -90,12 +87,6 @@
90
87
 
91
88
  统一按钮、卡片、表格、标签、抽屉、弹窗、图标、空态、加载态和错误态,并写入 `design.md` 与应用主题 CSS。
92
89
 
93
- 包含表单时,按 [表单样式与提交页背景](../references/native-form-styles.md) 从已选应用风格推导提交、编辑和详情的字体、控件、密度、布局、标签节奏、背景及底栏。修改详情页时,同时设计只读字段数据框的背景、文字、圆角、指示线、阴影、字号、行高、最小高度、内距和元素间距,并将对应 `--pod-field-preview-*` 与 `--form-element-medium-font-size` 写入设计源。布局决策写入 `design.md` 并落实到表单配置;主题变量和经核实的样式规则归同一份应用主题 CSS。应用主题覆盖导航、自定义页面、表单、编辑和详情,形成一致的视觉语言。
94
-
95
- 指标卡与按钮按[配色规则](../references/application-theme-consistency.md#指标卡与按钮配色)成组设计,明确普通信息、重点信息、主操作与次操作的颜色关系,不能仅写“深色强调”或“跟随主题”。
96
-
97
- 表单主题同时显式确定 `--pod-page-footer-bg-color` 和 `--pod-sticky-footer-box-shadow`,写入设计源的 token 并生成到应用 CSS;背景及阴影随应用材质选择,不一律透明,也不漏配后沿用默认阴影。
98
-
99
90
  ## 产出
100
91
 
101
92
  ```markdown
@@ -104,15 +95,20 @@
104
95
  - 风格摘要:<2-3 个业务风格关键词>
105
96
  - 主题交付摘要:<平台预置 / 应用自定义主题文件 / 继承当前应用>
106
97
 
107
- design.md 的机器字段与正文分工按 output-design.md:
108
- - themeProfile:项目方向名称、真实主色及来源、contentTone、navTheme、themeDelivery、themeFile 与既有导航配置。
109
- - tokens:选中主题的全局和局部变量,以及明确的项目差异。
110
- - 正文:色彩角色、字体层级和组件规则;不再复制一组 customThemeTemplate/customThemeFile/themeColorToken 交接字段。
98
+ design.md Theme Profile:
99
+ - themeProfile.name:<平台预置 key 或自定义色盘名称>
100
+ - themeColorSource:<user-specified / application-theme / business-inferred / template-default>
101
+ - themeColorToken:<CSS 中 --color-brand1-6 的字面量值>
102
+ - themeDelivery:<app-custom-theme-file / current-app-theme>
103
+ - customThemeTemplate:yida-design/references/theme/app-custom-theme-template.css
104
+ - customThemeFile:<复制模板并修改 token 后的 .css 路径;平台预置时留空>
105
+ - themeColor:<#RRGGBB>
106
+ - navTheme:<light / dark / white / gray>
107
+ - colorMode:<宜搭配色模式,如 gradient;不表示暗黑>
108
+ - typography:<标题/正文/数字层级>
109
+ - componentTone:<按钮/卡片/表格/标签/抽屉风格>
111
110
  ```
112
111
 
113
112
  ## 下一步
114
113
 
115
114
  → [页面结构和交互设计](step-4-wireframe-interaction.md)
116
-
117
-
118
- 应用整体设计可使用[应用风格模板或自由创意](../references/application-style-library.md)。导航、自定义页面、表单与详情继承同一设计语言;自由创意从业务推演,不强制选模板。模板中的表单布局 JSON 提供结构起点,使用时填入真实字段并核对间距和响应式。
@@ -13,7 +13,7 @@
13
13
 
14
14
  ## 自定义导航设计
15
15
 
16
- 沿用 brief 中 AI 判断或用户明确指定的导航方式与布局。先按 [页面与导航连续性](../references/page-continuity.md) 区分连续展示页与业务工作区,再参考 [导航壳形态目录](../../yida-nav-shell/references/nav-shell-patterns.md) 设计位置、比例、留白与选中态。顶部默认贴顶通栏,有背景图时透明叠加,滚动加底色;浮导仅按明确设计选用;侧导及顶部+侧边布局写清折叠/展开、恢复宽度、拖拽边界、内容区联动和移动端收起方式。已有满意的导航保留外观,只补缺失交互。
16
+ 沿用需求阶段用户选择的导航归属,以及根据场景确定或用户指定的布局;不再询问顶部、侧边等布局选项。参考 [导航壳形态目录](../../yida-nav-shell/references/nav-shell-patterns.md) 设计位置、比例、留白与选中态,代码示例只按需参考。顶部默认浮导;侧导及顶部+侧边布局写清折叠/展开、恢复宽度、拖拽边界、内容区联动和移动端收起方式。已有满意的导航保留外观,只补缺失交互。
17
17
 
18
18
  区分三种操作:本页视图切换、保留导航并更新主内容 iframe、当前标签跨页跳转。管理入口使用 workbench,办理入口使用 submission;不要把应用级办理导航设计为每次弹抽屉。页面内新增/详情按钮才采用下面的抽屉规则。设计结果写入当前 `design.md`;Plan 模式先更新计划源事实再物化。
19
19
 
@@ -32,8 +32,6 @@
32
32
  - 主操作:按钮、行点击、抽屉、跳转或原生表单入口。
33
33
  - 状态:空态、加载、错误、无权限、无数据。
34
34
 
35
- 每页同时确定[分组标题与分割线](../references/application-theme-consistency.md#分组标题与分割线)的样式和理由,记录在本页说明中。同页同层级尽量一致,不同业务页面优先选择不同且合适的类型;不要直接复制上一页的分割线。
36
-
37
35
  ## 写操作路径
38
36
 
39
37
  - 列表下钻默认保留上下文,PC 用详情抽屉或主从分栏。
@@ -1,35 +1,119 @@
1
1
  # UI 视觉和状态设计
2
2
 
3
- 本步骤将选中共享主题应用到真实页面。最终内容与格式统一遵守 [输出契约](output-design.md),此处只说明设计顺序,不建立第二份字段清单。
3
+ > 这一步写 `design.md` 草稿。`design.md` 规定所有页面共同遵守的 UI 视觉、组件样式、状态样式和响应式规则。
4
4
 
5
- ## 1. 应用共享主题
5
+ ## 1. 生成 design.md 基准系统
6
6
 
7
- 1. 按 [共享主题选择规则](../references/theme-selection.md) 沿用已确认方向,先读索引摘要,选中后读一份完整主题。
8
- 2. 从需求、主题系统和页面结构确认业务任务、信息拓扑、交互重心与视觉焦点;主题不决定新增哪些业务模块。
9
- 3. 计算项目主色对应的 token 值,保留全局与页面局部变量,按已确认导航处理外观。主题的形状、材质和层次关系保持可识别,明确的项目差异写成最终规则。
10
- 4. 以共享主题五章为底稿写项目设计。清除主题身份、占位符、推导指令与作者编写说明;项目配色和导航融入对应章节。
7
+ 先为完整应用生成一套主设计契约,再为不同页面场景写局部变体。自定义展示页、工作台、列表管理页、处理台、看板和首页门户都遵守同一个 `prd/<项目名>/design.md`。
11
8
 
12
- ## 2. 写具体页面设计
9
+ 1. 读取 [design.md 生成规则](../references/style-design-selection.md)。
10
+ 2. 读取 [style-design 风格注册表](../references/style-designs/registry.md),再读取 `_design-md-template.md`。
11
+ 3. 从整理后的用户需求、主题系统和页面结构推演 `inferredUserTask`、`inferredInformationTopology`、`interactionFocus` 和 `requiredVisualDNA`。用户通常不会主动描述视觉结构,agent 必须从业务对象、数据形态、页面区块和操作路径中推演。
12
+ 4. 按 `业务任务匹配 30% + 信息拓扑匹配 25% + 视觉 DNA 命中 30% + 实现稳定性 10% - 风险扣分 5%` 选择唯一设计风格,并把对应 `style-designs/*.md` 记录为 `baseDesignSource`;纯表单、长文、品牌营销、移动端单任务、未要求暗色时要过滤明显不合适的风格。
13
+ 5. 读取被选中的 style-design 风格文件,抽取 `visual_dna`、`theme_adaptation`、`layout_stability`、`quality_anchors`、`components` 和 `modules`。
14
+ 6. 根据主题系统中的主题色来源和主题色输入执行换肤:替换风格文件中的 `theme_adaptation.replace_tokens`,派生 `derive_tokens`,保留不与用户整体配色冲突的 `preserve_tokens` 和结构性 `visual_dna.invariant`。主题色只换 hue,不换 DNA,不改结构。
15
+ 7. 需要判断详略时读取唯一示例 `generated-business-design.example.md`;只学习结构和粒度,不复制示例业务、色盘、字段、页面顺序或组件组合。
16
+ 8. 读取 [视觉结构配方库](../references/visual-scaffold-recipes.md),把应用内各类页面映射到统一 `visualScaffold` 规则。
17
+ 9. 读取 [页面质量门禁](../references/page-quality-gates.md),把质量门禁补进 `acceptanceChecks`。
18
+ 10. 写清 `roundedRule`、`densityRule` 与 `breathingRule` 的具体数值;默认业务页是圆润高密且有呼吸感,不得只写“圆润 / 舒适 / 留白合理 / 有呼吸感”。
19
+ 11. 完整应用内默认保持同一套主设计系统;页面场景差异很大时,在同一份 `design.md` 里写页面场景变体,不为每个页面另起独立设计文件。
13
20
 
14
- 每个真实自定义页按输出契约写页面任务、首屏焦点、布局、表面与组件、主操作、状态、响应式和验收八项。先把真实内容落在首屏与布局,再引用组件和状态规则;同一规则只在正文维护一次。
21
+ 输出字段:
15
22
 
16
- 设计需覆盖页面外壳、主要内容、焦点、状态摘要、动作与必要上下文的关系,但不要求把这些概念全部变为 `visualScaffold` 等结构化字段。复杂页面可参考 [视觉结构配方](../references/visual-scaffold-recipes.md),不能让示例布局覆盖业务或主题。
23
+ ```markdown
24
+ - designFile:prd/<项目名>/design.md
25
+ - baseDesignSource:references/style-designs/<selected-style>.md;所有内置风格都不适用时才写 generated-from-business-context
26
+ - styleDesignSelection:<推演任务 / 信息拓扑 / requiredVisualDNA / 选中风格 / 排除风格 / 置信度>
27
+ - themeAdaptationResult:<输入主题色 / 换肤策略 / replaced tokens / preservedVisualDNA / preservedMechanisms>
28
+ - styleReason:<为什么适合当前应用和页面组合>
29
+ - Visual DNA:<所有页面都必须保留的 2-5 个视觉 DNA>
30
+ - sceneRecipes:<workbench/list/detail/dashboard/landing/screen 各自如何遵守同一 design.md>
31
+ - themeRelation:<继承当前应用主题 / 平台预置主题 / 应用自定义主题文件>
32
+ ```
17
33
 
18
- - 主题给出圆角、内距、组间距、边界和密度基准,页面描述其实际消费方式,明确需要的局部尺寸差异。
19
- - 同色画布与面板通过主题的边界、共容器或留白建立层次;玻璃、渐变、纹理及动效按需启用。背景可以不规则,内容保持稳定栅格、对齐和可读对比。
20
- - 没有真实内容的侧栏、指标、图形或特色配方不渲染。内容不足时压缩高度或给出实际下一步动作,不用空白卡和额外 margin 填满页面。
21
- - 现有页美化保留数据源、字段映射、按钮、筛选、提交 URL、权限与业务状态;业务变动交回 PRD。
34
+ ## 2. 写 UI 视觉规则
22
35
 
23
- ## 3. 组件、状态与素材
36
+ 在应用级 `design.md` 中写清:
24
37
 
25
- - 按主题统一按钮、输入、卡片、表格、标签、浮层与抽屉;组件规则在第 3 章配显式 anchor,frontmatter 仅登记位置。
26
- - 相关组件覆盖 default/hover/active/focus/disabled/loading/selected/error;页面补充空态、无权限、无数据及恢复动作。表单验证和成功/失败提示沿用平台语义与原生能力。
27
- - 图片需求按实际页面标为 required/beneficial/none,需要时交给 `yida-image-assets`;记录用途、槽位、比例、尺寸、焦点、填充方式与生成许可。官网、品牌页和强视觉展示页需要真实或已授权生成的图片,素材暂缺时记录 draft 和缺口。
28
- - 图标使用 `iconSystem.library` 与 `iconSystem.mappings`,具体尺寸与描边规则放正文;不以 emoji、CSS 图形、字母或临时 SVG 代替图标组件。
29
- - 动效写 reduced motion 降级;状态表达不只依赖颜色,图标操作提供标签,交互保持键盘可达。
38
+ - 2-3 个气质关键词:稳重可信、轻盈现代、克制高端、温暖亲和、前沿科技等。
39
+ - 3-5 条业务专属设计原则:结合业务对象和用户任务写具体规则。
40
+ - 差异化 5 维:色彩、构图、密度、组件语言、动线;这些规则必须来自业务推演和所选风格视觉 DNA 的融合。
41
+ - 基础版式:全应用视觉锚点、区块节奏、密度、操作位置和响应式规则。
42
+ - `visualScaffold`:给所有页面实现使用的硬骨架,写清 `layoutRecipe`、`surfaceMap`、`sectionRhythm`、`densityRule`、`breathingRule`、`componentRecipe`、`emptyStateRecipe`、`responsiveSlots` 和 `acceptanceChecks`。这些字段属于 `design.md`,PRD 只引用。
43
+ - 默认业务工具页采用圆润高密且有呼吸感的规则:卡片 padding 默认 22-28px 且必须大于 20px,卡片与卡片的 gap 默认 12-18px 且必须小于 20px,卡片圆角范围 0-32px,控件 10-14px;状态摘要 64-88px,动作条 40-56px,列表行 44-56px,空态 88-120px 内。官网、品牌页或用户明确要求舒展时才放宽。
30
44
 
31
- ## 4. 交付前自检
45
+ `visualScaffold` 的最低要求:
32
46
 
33
- 按 [页面质量门禁](../references/page-quality-gates.md) 核对业务内容、首屏焦点、主次、密度、主题、状态、素材与响应式。每个 PRD 设计引用均须定位到真实正文,不能以整章复制充当多个组件规则。
47
+ - `layoutRecipe` 写成明确版式,例如「左 2/3 主工作区 + 右 1/3 上下文栏」「上方紧凑摘要条 + 中部双列表 + 右侧提醒」。
48
+ - `surfaceMap` 写清每个区块的容器形态:无框区、细线面板、浅底条、表格、列表行、右侧栏、抽屉;不要全写卡片。
49
+ - `sectionRhythm` 写清区块间距、首屏主次和阅读顺序。
50
+ - `densityRule` 写清页面边距、卡片 gap、卡片 padding、状态摘要高度、列表行高和空态高度,避免靠额外 margin 或空白高度撑页面。
51
+ - `breathingRule` 写清主区/右栏/工具条/列表之间的呼吸节奏、组内内距、贴边修正和内容不足时的压缩/补充策略。
52
+ - `roundedRule` 写清业务面板、主面板、控件、标签、抽屉和弹层圆角;卡片圆角必须在 0-32px 范围内。
53
+ - `componentRecipe` 写清按钮、入口、标签、列表、图表和空态的具体形态。
54
+ - 源码槽位写清 `rootShell`、`prioritySurface`、`statusPrimitive`、`actionPrimitive`、`contentPrimitive`、`contextPrimitive`、`statePrimitive` 和 `responsiveRule`。
55
+ - 视觉层次写清 `backgroundLayer`、`surfaceMaterial`、`surfaceContrast`、`colorRoles` 和 `depthRule`;需要玻璃感时,明确半透明表面、`backdrop-filter`、细边框、柔和阴影和背景层。
56
+ - `backgroundLayer` 写清基础画布和推荐装饰方式,可选 `softTintCanvas`、`topIrregularWash`、`radialGlowWash`、`flowLight` 或 `organicNoise`。工作台、看板、门户、官网、登录页和空状态页推荐使用非纯空白的画布;如果选择近白画布,要说明渐变、细线、星芒、插图、局部光影或内容密度如何形成背景感。
57
+ - `surfaceContrast` 写清页面背景与卡片背景的层次搭配:白色/浅色背景配有边框卡片,浅灰背景(如 `#F3F4F6`)配白色无边框卡片,浅彩色背景配白色无边框卡片,渐变背景配玻璃感卡片;禁止背景和卡片相近或相同。
58
+ - 不规则背景只作用于页面壳、顶部首屏、功能引导卡或空状态安全区;内容布局继续使用规则栅格、稳定分栏和清晰对齐,做到“背景自由、内容严谨”。
59
+ - `flowLight`、流动线条或光影动效必须低饱和、低对比、低速,并写 `prefers-reduced-motion` 静态降级;禁止离散装饰圆球、bokeh 或干扰文字阅读的背景动效。
60
+ - 这些字段要能直接指导实现,而不是形容词;实现者应能按 `design.md` 写出根容器、分栏、背景层、表面材质、按钮状态和空态。
61
+ - `acceptanceChecks` 建议包含:`contentBlocks` 推荐 8-10 个区块以上、KPI/快捷入口子项不计数、首屏至少两层信息、没有大空白卡、主色跟随应用主题、背景或装饰层不干扰前景对比度。区块数量不作为准出硬门槛。
34
62
 
35
- 随后进入 [写入与校验](step-6-handoff.md):Fast 手写后执行公共 check-design;Plan 由 CLI 物化并执行相同校验。
63
+ ## 3. 写组件和状态规则
64
+
65
+ - 按主题统一按钮、输入、卡片、表格、标签、弹窗、抽屉和图标样式;图标输出 `iconSystem`,只选择 `lucide-react` 或 `@ant-design/icons` 的具体组件,默认选择 `lucide-react`。
66
+ - 页面美感提升、重构和改 UI 时保留当前功能契约:数据源、字段映射、按钮动作、筛选逻辑、提交 URL、权限和业务状态继续有效。
67
+ - 明确正常、hover/active、禁用、加载、空态、错误、无权限、无数据状态。
68
+ - 表单验证、成功/失败提示使用平台语义色和原生能力。
69
+ - 下拉刷新、上拉加载、轮询刷新等只在真实场景需要时设计。
70
+
71
+ ## 4. 选择素材和图标
72
+
73
+ - 官网、产品首页、品牌页、视觉化工作台默认要有真实图片或生成图片。
74
+ - 强视觉官网至少形成“场景 Hero + 产品/服务 + 过程/空间”的素材故事。
75
+ - 素材暂缺时标注 `draft`,并按 `slotId` 写清缺口。
76
+ - 逐页写 `imageNeed: required|beneficial|none`;需要图片时列出槽位、比例、尺寸、焦点、填充方式和生成许可。
77
+ - 图标只使用 `lucide-react` 或 `@ant-design/icons`,默认使用 `lucide-react`。在 `design.md` 中输出 `iconSystem`、尺寸、描边/Outlined 风格、`actionIconMap`、`statusIconMap`、`navigationIconMap` 和 `emptyStateIconMap`,把新增、查询、刷新、查看、入库、出库、组织、告警、完成等业务语义映射到具体图标组件。emoji 不能退成 CSS 形状、字母占位、Unicode 符号或临时 SVG。
78
+
79
+ ## 5. 检查页面是否像真实产品
80
+
81
+ 检查:
82
+
83
+ 1. 页面是否有当前业务专属信息,而不是示例品牌名、默认指标和通用卖点。
84
+ 2. 首屏是否只有一个明确主张或核心判断。
85
+ 3. 每个区块是否有不同的信息目的和构图节奏。
86
+ 4. 颜色是否服务业务语义,语义色是否稳定。
87
+ 5. 图标是否来自 `lucide-react` 或 `@ant-design/icons` 的具体组件映射,页面渲染文案是否使用纯文本。
88
+ 6. 空态、加载态、错误态是否符合当前业务。
89
+ 7. 列表、看板、详情是否保留用户当前上下文。
90
+ 8. 新增/提交/编辑是否使用原生表单入口。
91
+ 9. 首屏是否有视觉锚点、主操作、关键状态和至少两个信息层。
92
+ 10. 自定义展示页是否在 PRD 中引用 `designFile` 和 `designRefs`,且 `design.md` 已写清视觉 DNA 和页面场景规则。
93
+ 11. 工作台 / 业务首页是否避开“4 个等宽大 KPI 卡 + 图标快捷卡 + 大空态白卡”的低密套路;空数据是否用薄空态行和主操作入口承接。
94
+ 12. 工作台、首页、门户、看板、展示页和业务入口页是否推荐有 8-10 个有业务目的的区块以上,并且不是靠重复卡片或空白容器凑数;窄场景可以更少并说明取舍。KPI 子项、快捷入口子项和列表行不能分别计数。
95
+ 13. 页面是否已考虑 `backgroundLayer`:优先选择淡色背景、顶部不规则色块、柔和光洗、低速流光、微噪点、细线装饰、插图或局部渐变之一;近白画布可以保留,但不能呈现为未设计的空白底。
96
+ 14. 不规则背景是否只服务氛围和视觉焦点,内容区是否仍保持规则栅格、稳定对齐、可读对比度和 reduced motion 静态降级。
97
+ 15. 页面背景与卡片背景是否形成明显层次对比,并按白色/浅色背景配边框、浅灰/浅彩背景配白色无边框、渐变背景配玻璃卡片的方案落地。
98
+ 16. 圆角、padding、gap 是否同时满足现代感和信息密度:卡片 padding >20px,卡片 gap <20px,卡片圆角 0-32px,状态摘要、任务列表、右侧上下文和空态没有被撑成大空白容器。
99
+ 17. `styleDesignSelection` 是否能从业务任务、信息拓扑和 requiredVisualDNA 解释风格选择,而不是按行业、颜色或主观喜好套风格。
100
+ 18. `themeAdaptationResult` 是否遵守所选风格的 `theme_adaptation`:换 hue,不换 DNA;换 token,不换结构;保留不与用户整体配色冲突的 `preserve_tokens` 和结构性 `visual_dna.invariant`。
101
+
102
+ ## 产出
103
+
104
+ ```markdown
105
+ - designFile:<prd/<项目名>/design.md>
106
+ - styleDesignSelection:<推演任务 / 信息拓扑 / requiredVisualDNA / selectedStyleDesign / rejectedStyleDesigns>
107
+ - themeAdaptationResult:<inputThemeColor / strategy / replaced / preservedVisualDNA / preservedMechanisms>
108
+ - designSystem:<themeProfile / Visual DNA / 基础版式 / visualScaffold / sceneRecipes>
109
+ - componentSpec:<按钮/表格/卡片/标签/抽屉/图标>
110
+ - iconSystem:<defaultLibrary / allowedLibraries / sizes / actionIconMap / statusIconMap>
111
+ - stateSpec:<正常/禁用/加载/空态/错误/无权限>
112
+ - assetStrategy:<图片/图标/素材缺口/materialStatus>
113
+ - pageDesignRefs:<每个 display 页面在 PRD 中引用 design.md 的章节 ID>
114
+ - deAiChecks:<通过项和需要修正项>
115
+ ```
116
+
117
+ ## 下一步
118
+
119
+ → [写入 design.md](step-6-handoff.md)
@@ -1,22 +1,29 @@
1
- # 写入与校验 design.md
1
+ # 写入 design.md
2
2
 
3
- Fast 直接维护 `prd/<项目名>/design.md`,Plan 更新计划事实后由 CLI 派生;单页改造只补当前页面并保留已有业务契约。完整应用的业务与基础视觉可并行,页面事实齐备后再补逐页应用,不覆盖 `yida-prd` 的业务文档。
3
+ 本步骤只写入 `prd/<项目名>/design.md`。完整应用的 `prd.md` 由同时运行的 `yida-prd` 生成;本技能不得等待、读取或覆盖本轮 PRD。
4
4
 
5
- ## 写入
5
+ ## 必填内容
6
6
 
7
- 已有设计文件只修改相关内容。Plan 按 [局部调整](../../yida-app/workflow/plan/step-4-deliver.md#4-处理调整) 更新;Fast 保留未改的章节和 token。下面的结构用于首版编写与完整性核对,不要求每次重写五章。
7
+ - frontmatter:version、design_id、themeProfile、tokens、visual_dna、scenes、density、layout、tone;
8
+ - 设计风格选择依据、主题色与换肤结果、视觉 DNA;
9
+ - `visualScaffold`、`backgroundLayer`、`surfaceMaterial`、`surfaceContrast`;
10
+ - `colorRoles`、`depthRule`、`roundedRule`、`densityRule`、`breathingRule`;
11
+ - 组件 default/hover/active/focus/disabled/loading/selected/error 状态;
12
+ - 各 `pageScenes` 对应的 `sceneRecipes` 和稳定 `designRefs`;
13
+ - loading、empty、error、mobile、reduced motion、焦点与对比度;
14
+ - CSS 变量和 Yida Application Theme Delivery Contract。
8
15
 
9
- 1. 读取 [唯一输出契约](output-design.md),按 frontmatter、H1、五章正文组织项目文件。
10
- 2. 保留选中主题的基础语言和完整变量,按 [整体主题规则](../references/application-theme-consistency.md#导航与应用框架) 合入导航、应用框架、表单、记录详情和自定义页面设计,清除模板身份和编写说明。
11
- 3. frontmatter 仅维护机器数据与 anchor 索引,完整规则只写在正文一次。每个实际自定义页覆盖输出契约的八项要点,场景和页面标识与共享需求/计划一致。
12
- 4. 检查 [页面质量门禁](../references/page-quality-gates.md),确认数据、动作、导航、权限与业务事实一致;主题、状态、素材和响应式均可实现。
16
+ ## 写入前检查
13
17
 
14
- ## 校验
18
+ 1. 已读取整理后的用户需求及 [design.md 输出格式](output-design.md)。
19
+ 2. 已读取 [页面质量门禁](../references/page-quality-gates.md)。
20
+ 3. 视觉规则只覆盖 `explicitScope` 或需求文件中的页面场景,不添加业务资源。
21
+ 4. `designRefs` 使用稳定章节 ID,供 `yida-app` 校验和页面实现阶段引用。
15
22
 
16
- Fast 完成手写后执行 `openyida check-design prd/<项目名>/design.md --json`;PRD 就绪时添加 `--prd prd/<项目名>/prd.md`。业务仍并行生成时,先完成单文件检查,由 `yida-app` 在合并时补跨文档校验。Plan 由物化流程调用同一校验,失败则修正源事实后重新生成。
23
+ ## 完成条件
17
24
 
18
- 完成条件:文件非空、公共校验通过、每个真实页面与 PRD 引用均能定位到正文、页面设计具体且无重复规则副本。设计步骤不写页面源码或编造真实资源 ID。
19
-
20
- 跨文档检查会核对 PRD 的 `designFile` 是否指向当前设计文件。默认从项目工作目录执行;从其他目录检查时用 `--base-dir <项目根目录>` 解析 PRD 中的相对引用,命令输入文件的路径仍相对当前工作目录。导出包按同一规则检查,不能忽略路径不一致错误。
21
-
22
- 主题 CSS 生成与上传沿用 [输出契约](output-design.md#应用主题-css-的职责)。CLI 会检查括号、字符串及注释闭合,报错时先修复源文件;`check-design` 通过不代表 CSS 已校验或页面视觉已验收。
25
+ - `prd/<项目名>/design.md` 存在且非空。
26
+ - frontmatter 包含 version、design_id、baseDesignSource、styleDesignSelection、themeProfile、themeAdaptationResult、yidaThemeDelivery、tokens、visual_dna、scenes、density、layout、tone。
27
+ - 主题、应用主题文件交付、视觉、布局、材质、圆角、密度、呼吸感、组件、状态和响应式契约完整。
28
+ - 每个目标 display 页面场景都有 `sceneRecipes` 或可定位 `designRefs`。
29
+ - 没有写入 `prd.md`、页面源码或真实资源 ID。
@@ -103,12 +103,6 @@ openyida save-permission <appType> <formUuid> --create --name <名称> [选项]
103
103
  }
104
104
  ```
105
105
 
106
- ### 匿名提交的 FREE_LOGIN 门禁
107
-
108
- 公开访问自定义页面向普通表单匿名提交时,目标表单 `DEFAULT` 权限组的 `dataPermit.rule` 必须包含 `{"type":"FREE_LOGIN","value":"y"}`。它只是三项前置门禁之一;显示页和目标表单还必须分别满足 `isOpen === 'y'`。完整运行时契约见[公开访问(匿名态)提交](../yida-canvas-custom-page/references/data-bridge-guide.md#公开访问匿名态提交)。
109
-
110
- 配置时必须先查询并锁定 `DEFAULT` 组的 `packageUuid`,复制其完整 `dataPermit`,只在原有 `rule` 中补入 `FREE_LOGIN`,保留 `ORIGINATOR` 及其他已有规则、`customDepartmentData`、`formulaData` 等非目标内容;不得用固定的 `ORIGINATOR + FREE_LOGIN` 模板覆盖现网规则。保存后按同一 `packageUuid` 回读,确认 `FREE_LOGIN` 存在且其他规则未漂移。
111
-
112
106
  ## 操作权限
113
107
 
114
108
  `operations` 至少有一个值为 true 的操作。当前 CLI 白名单为: