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,355 @@
1
+ ---
2
+ name: "{{PROJECT_NAME}}"
3
+ description: 以柔和中性画布、深色聚焦舞台、半透明信息组和主题色派生数据纹理构成克制而鲜明的层次化界面主题。
4
+ themeId: dark-focus-layered
5
+ tokens:
6
+ application-global: # 全应用 Token,原生页面和自定义页面共同使用
7
+ colors:
8
+ "--pod-page-bg-color": "#F7F7F7" # neutral-gray;固定中性画布,不随主题色变化
9
+ "--color-white": "#FFFFFF" # 全应用基础表面色
10
+ "--color-brand1-1": "<基于 --color-brand1-6 生成的实际色值>" # 悬停色
11
+ "--color-brand1-2": "<基于 --color-brand1-6 生成的实际色值>" # 品牌浅色,保留平台既有消费关系
12
+ "--color-brand1-3": "<基于 --color-brand1-6 生成的实际色值>" # 浅色导航框架背景色
13
+ "--color-brand1-5": "<基于 --color-brand1-6 生成的实际色值>" # 深色导航框架背景色
14
+ "--color-brand1-6": "{{PRIMARY_COLOR}}" # 前置确定的全应用主题主色
15
+ "--color-brand1-9": "<基于 --color-brand1-6 生成的实际色值>" # 激活、按下状态色
16
+ "--color-brand1-10": "<基于 --color-brand1-6 生成的实际色值>" # 禁用状态色
17
+ "--color-line1-1": "#E8E8E8" # neutral-gray;弱边界、图表辅助线和表格行分隔线
18
+ "--color-line1-2": "#DADADA" # neutral-gray;控件和容器常规边界
19
+ "--color-fill1-1": "#F4F4F4" # neutral-gray;菜单悬停和弱状态填充
20
+ "--color-fill1-2": "#ECECEC" # neutral-gray;点击或中性选中填充
21
+ "--color-fill1-3": "#E3E3E3" # neutral-gray;更重的中性填充
22
+ "--color-fill1-10": "rgba(18, 18, 18, 0.94)" # neutral-gray;气泡浮层背景色
23
+ "--color-text1-4": "#171717" # neutral-gray;默认一级文字色
24
+ "--color-text1-10": "#8A8A8A" # neutral-gray;表头和 placeholder
25
+ "--color-text1-3": "#6F6F6F" # neutral-gray;二级文字色
26
+ typography:
27
+ base:
28
+ "--font-family-base": "Inter, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif"
29
+ subhead:
30
+ "--font-size-subhead": 24px
31
+ "--font-weight-subhead": 600
32
+ "--font-lineheight-subhead": 1.2
33
+ body-2:
34
+ "--font-size-body-2": 16px
35
+ "--font-weight-body-2": 500
36
+ "--font-lineheight-body-2": 1.4
37
+ body-1:
38
+ "--font-size-body-1": 14px
39
+ "--font-weight-body-1": 400
40
+ "--font-lineheight-body-1": 1.5
41
+ table:
42
+ "--font-size-table": 13px
43
+ "--font-weight-table": 400
44
+ "--font-lineheight-table": 1.45
45
+ caption:
46
+ "--font-size-caption": 12px
47
+ "--font-weight-caption": 400
48
+ "--font-lineheight-caption": 1.4
49
+ spacing:
50
+ "--s-1": 4px
51
+ "--s-2": 8px
52
+ "--s-3": 12px
53
+ "--s-4": 16px
54
+ "--s-6": 24px
55
+ "--s-8": 32px
56
+ rounded:
57
+ "--corner-zero": 0px
58
+ "--corner-1": 4px
59
+ "--corner-2": 8px
60
+ "--corner-3": 12px
61
+ "--corner-4": 18px
62
+ "--corner-5": 24px
63
+ "--corner-circle": 50%
64
+ "--corner-semicircle": 500px
65
+ custom-page: # 页面专属 Token,仅在指定自定义页生效
66
+ colors:
67
+ "--oyd-surface-soft": "#F3F3F3" # neutral-gray;固定中性弱表面
68
+ "--oyd-stage-top": "#121212" # neutral-gray;固定中性深色舞台基底
69
+ "--oyd-stage-bottom": "<由 --color-brand1-6 与 --oyd-stage-top 混合生成的低明度实际色值>"
70
+ "--oyd-stage-card": "rgba(255, 255, 255, 0.10)"
71
+ "--oyd-stage-border": "rgba(255, 255, 255, 0.28)"
72
+ "--oyd-heat-1": "<由 --color-brand1-6 与白色混合生成的 8% 强度实际色值>"
73
+ "--oyd-heat-2": "<由 --color-brand1-6 与白色混合生成的 20% 强度实际色值>"
74
+ "--oyd-heat-3": "<由 --color-brand1-6 与白色混合生成的 38% 强度实际色值>"
75
+ "--oyd-heat-4": "<由 --color-brand1-6 与白色混合生成的 68% 强度实际色值>"
76
+ "--oyd-heat-5": "<与 --color-brand1-6 一致的实际色值>"
77
+ "--oyd-chart-deep": "#161616" # neutral-gray;固定中性深色图表材质
78
+ "--oyd-chart-stripe": "<基于 --color-brand1-6 生成的实际色值>"
79
+ "--oyd-chart-pale": "<由 --color-brand1-6 与白色混合生成的 16% 强度实际色值>"
80
+ typography: # 仅补充全局字体体系没有的指标数字语义
81
+ metric-primary:
82
+ "--font-size-metric-primary": 32px
83
+ "--font-weight-metric-primary": 500
84
+ "--font-lineheight-metric-primary": 1.1
85
+ data-emphasis:
86
+ "--font-size-data-emphasis": 20px
87
+ "--font-weight-data-emphasis": 600
88
+ "--font-lineheight-data-emphasis": 1.2
89
+ ---
90
+
91
+ # {{PROJECT_NAME}} design.md
92
+
93
+ ## 设计总览
94
+
95
+ - 业务领域:{{BUSINESS_DOMAIN}}
96
+ - 产品形态:{{EXPERIENCE_TOPOLOGY}}
97
+ - 主题来源:{{THEME_SOURCE}}
98
+ - 项目约束:{{PROJECT_CONSTRAINTS}}
99
+
100
+ 本主题面向 SaaS 分析工作台、运营看板和数据洞察页。柔和中性画布承托大圆角白色分析面板,首屏用一块横向深色聚焦摘要舞台建立明确视觉重心;舞台内部通过半透明深色指标单元、细亮边界和底部主题色派生辉光形成层次。下方数据区以同色相离散热力矩阵、斜纹/深色/浅色三组对比柱和高密度明细表构成精致数据纹理。页面强调清楚的标题工具带、稳定双列网格和小面积主题色,不使用官网式 Hero、超大字号或大号 CTA。
101
+
102
+ ### 适用范围
103
+
104
+ - 适用于分析工作台、运营看板、指标概览、趋势洞察、成员或对象分析、行为矩阵和带明细记录的管理页面。
105
+ - 列表、详情、表单和流程页面可继承画布、Token、圆角、按钮和表格语言,但不强制复制摘要舞台与全部图表。
106
+ - 不适用于官网落地页、内容阅读页、沉浸式深色监控、极高密度专业终端或以复杂录入为唯一任务的页面。
107
+
108
+ ### 视觉 DNA
109
+
110
+ | 设计母体 | 可见证据与置信度 | 复用规则与实现钩子 | 缺失后的失败表现 |
111
+ | --- | --- | --- | --- |
112
+ | 中性灰画布上的白色分析浮岛 | 页面底色为中性浅灰,数据模块使用纯白大圆角面板,阴影极弱,主要靠明度差与留白分层。`observed` | 画布消费 `--pod-page-bg-color`,一级面板消费 `--color-white`、`--corner-5` 和极弱中性阴影;主题色变化不得染色普通面板。 | 会退化成纯白后台页面,丢失柔和画布和精致浮岛感。 |
113
+ | 深色聚焦横向摘要舞台 | 首屏存在一块全宽深色渐变舞台,顶部保留标题说明,底部排列多个半透明指标单元,并在下沿形成主题色派生光带。`observed` | `summary_stage` 使用中性 `--oyd-stage-top` 到由 `--color-brand1-6` 派生的低明度同色相渐变;指标单元消费 `--oyd-stage-card`、`--oyd-stage-border` 和白色文字。换色时只重算派生光带,不改变深色舞台与横向指标阵列。 | 页面会变成普通白色 KPI 卡组,失去最强视觉识别点和首屏聚焦。 |
114
+ | 同色相热力矩阵与离散色阶 | 主分析区使用规则小方格表达二维强度分布,色阶从近白中性色过渡到当前主题色,顶部带筛选和离散图例。`observed` | `intensity_matrix` 使用由 `--color-brand1-6` 派生的 5 档 `--oyd-heat-1 / --oyd-heat-2 / --oyd-heat-3 / --oyd-heat-4 / --oyd-heat-5` 色阶、统一小圆角单元、固定行列间距和清楚的横纵标签;数据和维度由 PRD 决定。 | 若替换为普通折线图或连续彩虹热图,页面会失去精密、可扫描的矩阵纹理。 |
115
+ | 纹理化三柱对比 | 辅助分析面板以三根宽柱表达并列比例:一根主题色斜纹、一根深色实心、一根浅色实心,标签悬浮于柱顶。`observed` | `ratio_triptych` 保留三类材质、统一圆角、底部对齐和顶部浮动标签;颜色可随主题同色相适配,但斜纹/深色/浅色的材质对比不可改变。 | 会退化为普通同色柱图,失去鲜明材质差和小面板记忆点。 |
116
+ | 圆角表头与图标化明细行 | 明细区使用白色大面板、弱化表头、图标化身份列、双行主次信息和克制行分隔。`observed` | `insight_table` 使用固定工具带、44-48px 表头、52-60px 行高、13px 表格字号和 24-28px 图标容器;状态和数值稳定对齐。 | 会回落为组件库默认表格,破坏页面精致度和扫描节奏。 |
117
+
118
+ ### 视觉记忆点应用策略
119
+
120
+ | 视觉记忆组件 | 内容契约 | 落地策略 | 可迁移机制与适配目标 | 无匹配内容时 |
121
+ | --- | --- | --- | --- | --- |
122
+ | 午夜摘要舞台 | `content_contract`:PRD 存在一个首要概览,以及 3-6 个可并列的摘要、状态或指标。 | `render_policy: adapt_existing_slot`;`direct_trigger`:存在 `primary_summary` 与 `primary_metrics`,或同义概览槽位。 | `transferable_mechanism`:深色横向舞台、底部同色相辉光、半透明信息单元;`adaptation_targets`:现有概览区、状态总览或高优先摘要组。 | `fallback: recipe_only`;没有概览与并列摘要时不生成舞台。`forbidden`:编造 KPI、角色、用户数、金额或趋势。 |
123
+ | 同色相热力矩阵 | `content_contract`:PRD 提供二维离散强度数据,例如时间×类别、对象×状态或其他矩阵维度。 | `render_policy: prd_match_only`;`direct_trigger`:存在合法二维矩阵数据和色阶语义。 | `transferable_mechanism`:由主题色派生的离散五档色阶、规则小方格、顶部图例和筛选;`adaptation_targets`:已有热力图、状态矩阵或活动矩阵。 | `fallback: recipe_only`;没有二维数据时不渲染。`forbidden`:伪造日期、类别、活动量或矩阵值。 |
124
+ | 纹理化三柱对比 | `content_contract`:PRD 存在 2-4 个可比较比例或同尺度数值。 | `render_policy: prd_match_only`;`direct_trigger`:存在合法比例比较或目标/实际/基准数据。 | `transferable_mechanism`:斜纹主题柱、深色实心柱、浅色实心柱和顶部浮动标签;`adaptation_targets`:已有比例比较、进度对比或小型柱图。 | `fallback: recipe_only`;无比例数据时不渲染。`forbidden`:伪造百分比、目标或比较组。 |
125
+ | 圆角图标化明细表 | `content_contract`:PRD 存在重复记录,以及可展示的主字段、辅助字段和数值/状态列。 | `render_policy: adapt_existing_slot`;`direct_trigger`:存在 `detail_table`、`detail_list` 或记录集合。 | `transferable_mechanism`:弱化圆角表头、图标化主列、双行信息和稳定数值列;`adaptation_targets`:现有表格、列表或任务记录。 | `fallback: recipe_only`;没有重复记录时不创建明细区。`forbidden`:编造姓名、机构、联系方式、字段、记录或操作。 |
126
+ | 胶囊分段筛选 | `content_contract`:PRD 存在两个或多个互斥视图、维度或时间范围。 | `render_policy: adapt_existing_slot`;`direct_trigger`:存在真实 tabs、segment 或 view switch。 | `transferable_mechanism`:固定 `neutral-gray` 胶囊容器、白色选中项和克制文字层级;`adaptation_targets`:现有筛选器、分段控件或视图切换。 | `fallback: recipe_only`;没有互斥视图时不添加切换。`forbidden`:编造筛选维度或隐藏页面。 |
127
+
128
+ - 每个页面优先清楚落地 1-3 个满足内容契约的主记忆点,不要求五个组件同时出现。
129
+ - 只能迁移视觉机制,不能借记忆组件新增 PRD 未要求的数据、对象、筛选、导出、操作或流程。
130
+
131
+ ### 设计变量范围
132
+
133
+ `tokens.application-global` 是原生表单、流程页面和自定义页面共同遵守的全应用设计契约;字号变化先更新全局字体 Token,并严格遵守 `subhead ≤ 24px`。`tokens.custom-page` 只补充中性灰画布、摘要舞台、半透明指标单元、离散热力色阶、对比柱材质和全局体系没有的指标数字语义,不覆盖全应用 Token。
134
+
135
+ ## 色彩
136
+
137
+ - 色彩来源:{{COLOR_SOURCE}}
138
+ - 颜色 Token 的名称和值以文档顶部 YAML 的 `tokens` 为唯一事实源;AI 可以根据主题调整色值,不改变宜搭应用全局变量名。
139
+ - 柔和中性画布、纯白分析面板和深色聚焦摘要舞台构成三档主表面;主题派生浅色只承担弱数据纹理,不能替代中性表面。
140
+
141
+ ### 设计变量消费规则
142
+
143
+ | 固定消费语义 | 消费 Token | 作用域 |
144
+ | --- | --- | --- |
145
+ | 主题色交互元素悬停 | `--color-brand1-1` | 应用全局 |
146
+ | 平台预留品牌浅色;自定义页不主动绑定 | `--color-brand1-2` | 应用全局 |
147
+ | 浅色导航框架背景 | `--color-brand1-3` | 应用全局 |
148
+ | 深色导航框架背景 | `--color-brand1-5` | 应用全局 |
149
+ | 全应用主题主色;用于主操作、选中态、热力高阶和舞台光带 | `--color-brand1-6` | 应用全局 |
150
+ | 主题色交互元素激活或按下 | `--color-brand1-9` | 应用全局 |
151
+ | 主题色交互元素禁用状态 | `--color-brand1-10` | 应用全局 |
152
+ | 弱分隔线、表格行分隔线和辅助线 | `--color-line1-1` | 应用全局 |
153
+ | 输入框、按钮和面板常规边界 | `--color-line1-2` | 应用全局 |
154
+ | 页面底层中性灰画布 | `--pod-page-bg-color` | 自定义页 |
155
+ | 面板、卡片、弹窗和表单容器 | `--color-white` | 应用全局 |
156
+ | 分段控件、弱状态和内嵌工具区 | `--oyd-surface-soft` | 自定义页 |
157
+ | 摘要舞台深色上沿和同色相下沿 | `--oyd-stage-top` / `--oyd-stage-bottom` | 自定义页 |
158
+ | 舞台内半透明指标表面与亮边界 | `--oyd-stage-card` / `--oyd-stage-border` | 自定义页 |
159
+ | 离散热力矩阵五档色阶 | `--oyd-heat-1` 至 `--oyd-heat-5` | 自定义页 |
160
+ | 对比柱深色、斜纹和浅色材质 | `--oyd-chart-deep` / `--oyd-chart-stripe` / `--oyd-chart-pale` | 自定义页 |
161
+ | 菜单悬停、弱标签和默认浅填充 | `--color-fill1-1` | 应用全局 |
162
+ | 菜单点击和中性选中底 | `--color-fill1-2` | 应用全局 |
163
+ | 标题、核心数字、正文和主要图标 | `--color-text1-4` | 应用全局 |
164
+ | 表格表头和输入框 placeholder | `--color-text1-10` | 应用全局 |
165
+ | 辅助说明、坐标轴、时间和元信息 | `--color-text1-3` | 应用全局 |
166
+
167
+ `--color-brand1-6` 来自前置确定的全应用主题色,先解析为实际色值;AI 再以它为唯一品牌色种子生成其余 Brand Token。最终项目 `design.md` 必须写入七个 Brand Token 及全部主题派生页面 Token 的实际色值,不得保留生成期标记。没有品牌色输入时由上游主题流程提供中性默认主色;换色时同步重建舞台下沿、热力矩阵色阶和斜纹柱,但保持“深色中性基底 + 同色相高亮 + 大面积中性表面”的消费关系。
168
+
169
+ ### 本主题的配色约束
170
+
171
+ - 画布保持中性浅灰,常规分析面板保持纯白;所有固定中性灰必须满足 RGB 三通道相等,主题色不能铺满普通面板或页面背景。
172
+ - 本主题的画布、弱表面、文字、边界、阴影和深色基底均定义为 `neutral-gray`,不使用 `theme-gray`;它们不随 `--color-brand1-6` 改变。
173
+ - 摘要舞台以近黑中性色为主,主题色只在下沿辉光、内部渐变和少量选中态出现,不能把舞台改成整块高饱和纯色。
174
+ - 热力矩阵使用同一色相的五档离散明度,不引入彩虹色阶。
175
+ - 对比柱依赖材质差而非多色:主题斜纹、近黑实心和浅同色相实心。
176
+ - 状态色沿用平台语义色,并同时使用图标、文字或形状,不能只靠颜色。
177
+
178
+ ## 字体与排版
179
+
180
+ - 全局只使用 `tokens.application-global.typography.base` 定义的一套无衬线字体。
181
+
182
+ ```text
183
+ page-title → tokens.application-global.typography.subhead
184
+ panel-title → tokens.application-global.typography.body-2
185
+ content-title → tokens.application-global.typography.body-1
186
+ body → tokens.application-global.typography.body-1
187
+ table → tokens.application-global.typography.table
188
+ caption → tokens.application-global.typography.caption
189
+ metric-primary → tokens.custom-page.typography.metric-primary
190
+ data-emphasis → tokens.custom-page.typography.data-emphasis
191
+ ```
192
+
193
+ - 页面标题消费全局 `subhead`:24px/600/1.2,不新增展示型大标题。
194
+ - 一级面板标题消费全局 `body-2`:16px/500/1.4;内容标题、正文和常规控件标签消费全局 `body-1`:14px/400/1.5。
195
+ - 表格消费全局 `table`:13px/400/1.45;说明、图例和辅助标签消费全局 `caption`:12px/400/1.4。
196
+ - 摘要舞台核心数字消费页面级 `metric-primary`:32px/500/1.1;图表顶部比例等重点数据消费 `data-emphasis`:20px/600/1.2。
197
+ - 数值统一启用 `font-variant-numeric: tabular-nums`;长文本单行截断并提供完整内容查看方式。
198
+ - 图标采用 16-18px 圆角线性风格;摘要指标图标可置于 28-32px 半透明圆角方形容器。
199
+
200
+ ## 布局与间距
201
+
202
+ - 所有间距统一消费顶部 YAML 的 `--s-1` 至 `--s-8`;页面外边距 12-20px,主区块间距 20-24px,一级面板内边距 24px,舞台内边距 24-28px。
203
+ - 桌面端使用 12 列网格:标题工具带和摘要舞台跨 12 列;中部主分析面板占 7-8 列,辅助分析面板占 4-5 列;明细区跨 12 列。
204
+ - 标题位于左侧,日期、范围、导出或其他 PRD 操作位于右侧;操作组使用 8-12px gap,不挤压标题。
205
+ - 页面结构以 `page_identity / global_actions → primary_summary / primary_metrics → primary_analysis / supporting_analysis → detail_table` 为主,模块是否存在由 PRD 决定。
206
+
207
+ ### 布局稳定性硬规则
208
+
209
+ - 主网格必须使用 `align-items: stretch`;同一行分析面板顶部和底部对齐,禁止瀑布流和 `align-items: start`。
210
+ - 面板使用 `height: 100%`、`min-width: 0`、`min-height: 0`、`display: flex`、`flex-direction: column`;标题区固定,内容区使用 `flex: 1; min-height: 0`。
211
+ - 建议高度:`summary_stage` 260-300px,`metric_card` 112-136px,`analysis_panel` 340-400px,`detail_panel` 420-560px,推断的 `quick_action_item` 64-80px。
212
+ - 摘要舞台的指标单元在桌面端等高;空间不足时横向滚动或改为 2-3 列换行,不压缩到不可读宽度。
213
+ - 热力矩阵和对比柱必须有确定绘图区;表格和长列表在面板内部滚动,不撑高外层网格。
214
+ - 区块间距由父级 grid/flex 的 `gap` 管理,不使用零散 margin 拼接页面节奏。
215
+ - 1200-1439px 时中部改为 7/5 列;768-1199px 时分析面板改单列,摘要指标改为 2-3 列;小于 768px 时标题工具带换行、指标改单列或横向滚动、图表内部横向滚动、表格内部滚动,并解除桌面等高要求。
216
+
217
+ ## 表面与层级
218
+
219
+ - 一级分析面板使用纯白、`--corner-5`、1px `--color-line1-1` 边界和不超过 `0 10px 30px rgba(24, 24, 24, 0.04)` 的极弱中性阴影。
220
+ - 摘要舞台使用 `--corner-5`、午夜渐变和底部主题色辉光,不再叠加外投影;舞台之外不得使用同等强度的深色大面板。
221
+ - 舞台指标单元使用半透明白色表面、1px 亮边界和极弱内高光,不使用强毛玻璃模糊。
222
+ - 热力矩阵单元使用主题色派生浅阶;分段筛选和顶部浮动标签使用中性表面,无明显阴影。
223
+ - tooltip 使用白色或近黑中性表面、`--corner-3` 和轻阴影;保证深浅场景下文字对比。
224
+
225
+ ## 圆角与形状
226
+
227
+ - 一级舞台和分析面板使用 `--corner-5`;舞台指标、图表内框和大型筛选容器使用 `--corner-4`;输入、按钮、表头和 tooltip 使用 `--corner-3`。
228
+ - 分段控件、图例标签和浮动比例标签可以使用 `--corner-semicircle`;数据柱使用 12-16px 顶部圆角或完整圆角。
229
+ - 图标按钮和单点操作使用 `--corner-circle` 或 `--corner-3` 正方形;热力单元使用 `--corner-1` 或 `--corner-2`。
230
+ - 同一组件层级使用一致圆角,禁止随机混用直角、胶囊和超大圆角。
231
+
232
+ ## 组件
233
+
234
+ ### 按钮与操作
235
+
236
+ 按钮只使用四档高度:迷你/行内 28px、紧凑工具栏 32px、常规 36px、强调或宽松场景 40px;图标按钮从同一四档中选择正方形尺寸,所有按钮不得超过 40px。页面顶部主操作使用 40px 深色实底或主题色实底,日期/日历等辅助图标按钮使用 40px 白色表面;常规页面操作默认 36px。按钮标签消费全局 `body-1`,图标 16-18px。同一操作组只保留一个视觉主操作。
237
+
238
+ ### 输入与筛选控件
239
+
240
+ 表单输入默认 36px,宽松搜索与选择器使用 40px,紧凑工具栏控件使用 32px。分段筛选使用 32px 高固定 `neutral-gray` 胶囊容器,选中项为白色或主题浅色表面。搜索按钮/输入边界消费 `--color-line1-2`,聚焦时消费主题色焦点环;错误状态使用独立语义色和说明文字。
241
+
242
+ ### 卡片与面板
243
+
244
+ 一级面板由固定标题工具带与自适应内容区组成,内边距 24px;面板标题与说明保持 4-8px 间距。卡片只用于摘要、图表、记录分组或明确对象,不把每段文字包成白卡。深色舞台内部指标单元使用等高 grid,标题和图标位于上行,核心数字位于下行。
245
+
246
+ ### 深色聚焦摘要舞台(可见记忆点)
247
+
248
+ `summary_stage` 使用纵向深色渐变:顶部为 `--oyd-stage-top`,下沿过渡到由主题色派生的 `--oyd-stage-bottom`;可增加低透明径向光带但禁止霓虹外发光。舞台顶部为标题和一行辅助说明,底部为 3-6 个等高 `metric_card`。每个指标单元包含 28-32px 图标容器、14px 短标签和 32px 核心数字;单元背景为 `--oyd-stage-card`,边界为 `--oyd-stage-border`。没有 PRD 指标时不得生成虚构数字。
249
+
250
+ ### 离散热力矩阵(可见记忆点)
251
+
252
+ `intensity_matrix` 由等尺寸小方格构成,单元建议 18-24px、gap 4-6px,使用 `--oyd-heat-1` 至 `--oyd-heat-5` 五档离散色阶。横纵标签固定在矩阵外侧,图例从低到高排列并与色阶一一对应。顶部可放 PRD 已有分段筛选。hover 显示 tooltip,键盘聚焦显示边界;无数据单元使用最浅档,不使用透明消失。
253
+
254
+ ### 纹理化比例三柱(可见记忆点)
255
+
256
+ `ratio_triptych` 使用 2-4 根等宽粗柱,推荐三柱;柱底对齐,宽度 76-104px,柱顶使用 14-18px 圆角。第一材质为主题同色斜纹,第二为 `--oyd-chart-deep` 深色实心,第三为 `--oyd-chart-pale` 浅色实心。比例标签置于柱顶上方的小型浅色胶囊中,重点数字消费 `data-emphasis`。禁止改成彩虹柱、3D 柱、连续渐变或无数据装饰柱。
257
+
258
+ ### 表格与列表
259
+
260
+ `insight_table` 使用固定标题工具带、44-48px 弱化表头、52-60px 行高和无竖向分隔线结构。主信息列使用 24-28px 图标容器与双行文字;数值列使用等宽数字并稳定对齐,辅助时间或说明使用 `caption`。行间只使用 `--color-line1-1`,选中行使用轻中性底,不能整行高饱和染色。
261
+
262
+ ### 快捷入口(推断)
263
+
264
+ `quick_actions` 的 `confidence: inferred`,`render_policy: prd_match_only`。若 PRD 明确需要快捷入口,将其放在摘要舞台之后或明细区之前,使用 64-80px 等高白色条目、`--corner-4`、主题色线性图标和短标签;按钮本体仍遵守 28/32/36/40px 四档。若 PRD 没有入口需求,保留配方不渲染。禁止彩色宫格、营销插画和超大图标墙。
265
+
266
+ ### 状态与交互
267
+
268
+ - 悬停:舞台指标单元边界略增强;白色面板不整体浮起,热力单元只提高一档对比或显示描边。
269
+ - 按下:按钮消费 `--color-brand1-9`,持续 100-140ms;不使用明显弹跳。
270
+ - 聚焦:控件显示 2px 清楚焦点环;纯图标按钮必须有可访问名称和 tooltip。
271
+ - 加载:保持舞台、图表和表格确定高度,以中性或深色环境匹配的骨架屏替代内容。
272
+ - 空态与错误:保留面板结构;没有合法数据时不绘制虚构图形,显示简短说明与 PRD 已有下一步操作。
273
+ - 禁用:降低对比但保持文字可读,同时禁用指针与键盘触发。
274
+ - 动效:颜色与透明度过渡 140-180ms,使用 `ease-out`;`prefers-reduced-motion` 下关闭位移与缩放。
275
+
276
+ ## 项目应用
277
+
278
+ ### 产品形态与主题应用
279
+
280
+ - 当前产品形态:{{EXPERIENCE_TOPOLOGY}}
281
+ - 主题应用:{{PRODUCT_TOPOLOGY_APPLICATION}}
282
+
283
+ ### 页面模式
284
+
285
+ {{PAGE_PATTERN_SUMMARY}}
286
+
287
+ 页面模式决定是否存在摘要、矩阵、比例比较和明细记录;本主题只规定中性画布、深色聚焦摘要舞台、主题色派生数据纹理、圆角分析面板和稳定网格的视觉表达。普通列表、表单或详情页只继承兼容的 Token 和组件语言,不能强行补齐整套分析看板。
288
+
289
+ ### 逐页视觉应用
290
+
291
+ {{PAGE_APPLICATIONS}}
292
+
293
+ 每页先按“视觉记忆点应用策略”检查内容契约,再从 `summary_stage`、`intensity_matrix`、`ratio_triptych`、`insight_table` 和可选 `quick_actions` 中选择 1-3 个兼容组件。没有矩阵数据就不生成热力图,没有比例数据就不生成三柱对比,没有重复记录就不生成表格;可迁移的表面、圆角、色阶和工具带机制只能应用到 PRD 已有槽位。
294
+
295
+ ### 素材要求
296
+
297
+ - 页面图片需求:{{PAGE_IMAGE_NEEDS}}
298
+ - 素材缺口:{{ASSET_GAPS}}
299
+ - 图标、图表数据、头像、缩略内容和辅助图形必须有真实来源;没有素材时使用中性占位,不编造人物、机构、指标、联系方式、品牌或外部资源地址。
300
+
301
+ ## 设计规范与禁忌
302
+
303
+ ### 必须做到
304
+
305
+ - 保留中性灰画布、白色分析面板和唯一深色聚焦摘要舞台的深浅关系。
306
+ - PRD 存在首要概览与并列摘要时,使用横向深色舞台、底部主题辉光和半透明指标单元。
307
+ - PRD 存在二维强度数据时,使用由当前主题色派生的五档离散色阶和规则热力矩阵。
308
+ - PRD 存在比例比较时,使用主题斜纹、深色实心和浅色实心三类材质。
309
+ - PRD 存在重复记录时,使用圆角弱化表头、图标化主列、双行信息和稳定行高。
310
+ - 保持同一行分析面板等高、确定图表高度、父级 `gap` 和内部溢出处理。
311
+ - 页面标题不超过 24px;按钮只使用 28/32/36/40px 四档且不超过 40px。
312
+ - 保证 hover、active、focus、loading、empty、error、disabled、selected、移动端和 reduced motion 状态完整。
313
+
314
+ ### 禁止项
315
+
316
+ - 禁止复制模板来源中的业务字段、人物、机构、指标、示例数据、分类名称或页面专属文案;禁止让 DESIGN.md 覆盖 PRD 内容决策。
317
+ - 禁止把普通 SaaS 工作台改造成官网 Hero,禁止大于 24px 的普通页面标题和大于 40px 的按钮。
318
+ - 禁止为保留摘要舞台而编造 KPI、角色或趋势,为热力矩阵编造二维数据,为三柱比较编造比例。
319
+ - 禁止把午夜舞台复制成多个深色大面板,或把主题色铺满普通白色卡片。
320
+ - 禁止把离散热力矩阵改成连续彩虹热图,或随意混用不等尺寸单元。
321
+ - 禁止把纹理化三柱改成普通多色柱、3D 图表、饼图或无数据装饰图形。
322
+ - 禁止组件库默认表格、重表格线、彩色整行状态和自由行高。
323
+ - 禁止瀑布流、`align-items: start`、自由高度分析卡、无固定高度图表和零散 margin 拼接。
324
+
325
+ ### 错误与正确
326
+
327
+ - 错误:用多张深色卡片铺满页面;正确:只保留一个横向午夜摘要舞台,其余分析面板保持白色。
328
+ - 错误:摘要数据使用普通白色 KPI 卡;正确:在 PRD 有摘要时使用半透明指标单元嵌入深色舞台。
329
+ - 错误:无二维数据也生成热力图;正确:降级为 `recipe_only`,使用 PRD 已有内容面板。
330
+ - 错误:三组比例使用三种高饱和纯色;正确:使用同色相斜纹、深色实心和浅色实心形成材质差。
331
+ - 错误:明细区直接使用默认表格;正确:使用弱化表头、图标化主列、双行信息和克制分隔线。
332
+ - 错误:普通 SaaS 页面使用 48px 标题或 56px 按钮;正确:普通页标题映射到 24px `subhead`,按钮从 28/32/36/40px 中按角色选择。
333
+
334
+ ### AI 使用提示
335
+
336
+ 先判断页面为 SaaS 产品界面,再读取 PRD、解析 `{{PRIMARY_COLOR}}` 并生成全部实际 Brand Token 与主题派生页面 Token。按“视觉记忆点应用策略”逐项检查 `content_contract`:直接匹配则落地组件本体,只有相近槽位则迁移视觉机制,无合法承载则使用 `recipe_only`,涉及新增能力则使用 `suggest_only`。每页优先选择 1-3 个兼容主记忆点,不编造指标、矩阵、比例、记录、筛选或导出能力。无论组件是否落地,都保持中性画布、白色浮岛、单一深色聚焦舞台、主题色派生数据纹理、稳定网格和完整组件状态。
337
+
338
+ ### 交付自检
339
+
340
+ - [ ] 页面是否按 SaaS 分析工作台处理,没有误用官网 Hero、display title 或大号 CTA?
341
+ - [ ] `themeId`、主题名称、描述、视觉 DNA 和组件标题是否没有绑定某个默认色相?
342
+ - [ ] `themeId` 和描述是否只表达视觉机制,没有把某一种页面类型写成主题身份?
343
+ - [ ] 除状态语义色外,强调色与图表色是否都由 `--color-brand1-6` 派生,而非写死为任意固定色相?
344
+ - [ ] 全部页面内容、字段、数据和操作是否来自 PRD?
345
+ - [ ] 五个视觉记忆组件是否都有内容契约、落地策略、迁移目标与回退方式?
346
+ - [ ] 每页是否只选择与 PRD 匹配的 1-3 个主记忆点,未匹配组件是否没有强行渲染?
347
+ - [ ] 中性灰画布、白色分析面板、细边界和极弱阴影是否形成稳定中性基底,所有固定中性颜色是否满足 RGB 三通道相等?
348
+ - [ ] PRD 有首要概览与并列摘要时,是否使用唯一午夜舞台、底部辉光和半透明指标单元?
349
+ - [ ] PRD 有二维强度数据时,是否使用五档离散色阶、规则矩阵、标签和图例?
350
+ - [ ] PRD 有比例比较时,是否使用斜纹、深色和浅色三类材质并保持底部对齐?
351
+ - [ ] PRD 有重复记录时,是否使用弱化表头、图标化主列、双行信息和稳定行高?
352
+ - [ ] 页面标题是否不超过 24px,按钮是否只使用 28/32/36/40px 四档?
353
+ - [ ] 同行面板是否等高,图表是否有固定绘图区,长内容是否在内部处理?
354
+ - [ ] hover、active、focus、loading、empty、error、disabled、selected 和 reduced motion 是否完整?
355
+ - [ ] 最终项目 `design.md` 是否替换全部占位符并写入七个 Brand Token 的实际色值?