openyida 2026.9.21 → 2026.9.22-beta.2

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 +148 -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,377 @@
1
+ ---
2
+ name: "{{PROJECT_NAME}}"
3
+ description: 以近黑画布、分层暗面板、微光数据纹理和条件式主辅拼图构成中高密度、高对比且克制的视觉主题。
4
+ themeId: dark-luminous-modular
5
+ tokens:
6
+ application-global:
7
+ colors:
8
+ "--pod-page-bg-color": "#101010"
9
+ "--color-white": "#181818"
10
+ "--color-brand1-1": "<基于 --color-brand1-6 生成的实际色值:与白色混合 10%,用于悬停>"
11
+ "--color-brand1-2": "<基于 --color-brand1-6 生成的实际色值:与 #181818 混合 76%,用于品牌浅色>"
12
+ "--color-brand1-3": "<基于 --color-brand1-6 生成的实际色值:与 #101010 混合 90%,用于浅层导航框架>"
13
+ "--color-brand1-5": "<基于 --color-brand1-6 生成的实际色值:降低明度约 18%,用于深层导航框架>"
14
+ "--color-brand1-6": "{{PRIMARY_COLOR}}"
15
+ "--color-brand1-9": "<基于 --color-brand1-6 生成的实际色值:降低明度约 10%,用于激活和按下>"
16
+ "--color-brand1-10": "<基于 --color-brand1-6 生成的实际色值:与 #181818 混合 58%,用于禁用>"
17
+ "--color-line1-1": "#292929"
18
+ "--color-line1-2": "#3B3B3B"
19
+ "--color-fill1-1": "#202020"
20
+ "--color-fill1-2": "#252525"
21
+ "--color-fill1-3": "#303030"
22
+ "--color-fill1-10": "rgba(28, 28, 28, 0.96)"
23
+ "--color-text1-4": "#F5F5F5"
24
+ "--color-text1-10": "#B8B8B8"
25
+ "--color-text1-3": "#777777"
26
+ typography:
27
+ base:
28
+ "--font-family-base": "Inter, ui-sans-serif, 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.3
33
+ body-2:
34
+ "--font-size-body-2": 16px
35
+ "--font-weight-body-2": 600
36
+ "--font-lineheight-body-2": 1.45
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": 14px
43
+ "--font-weight-table": 500
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": 20px
55
+ "--s-8": 24px
56
+ rounded:
57
+ "--corner-zero": 0px
58
+ "--corner-1": 4px
59
+ "--corner-2": 8px
60
+ "--corner-3": 12px
61
+ "--corner-4": 16px
62
+ "--corner-5": 20px
63
+ "--corner-circle": 50%
64
+ "--corner-semicircle": 500px
65
+ custom-page:
66
+ colors:
67
+ "--oyd-brand-glow-soft": "<基于 --color-brand1-6 生成的实际色值:主题色 18% + 透明 82%,用于局部辉光>"
68
+ "--oyd-brand-chart-strong": "<基于 --color-brand1-6 生成的实际色值:与白色混合 6%,用于主图形>"
69
+ "--oyd-brand-chart-muted": "<基于 --color-brand1-6 生成的实际色值:主题色 46% + 透明 54%,用于次图形>"
70
+ "--oyd-brand-chart-area": "<基于 --color-brand1-6 生成的实际色值:主题色 14% + 透明 86%,用于面积填充>"
71
+ typography:
72
+ metric-primary:
73
+ "--font-size-metric-primary": 30px
74
+ "--font-weight-metric-primary": 500
75
+ "--font-lineheight-metric-primary": 1.18
76
+ chart-emphasis:
77
+ "--font-size-chart-emphasis": 40px
78
+ "--font-weight-chart-emphasis": 500
79
+ "--font-lineheight-chart-emphasis": 1.1
80
+ ---
81
+
82
+ # {{PROJECT_NAME}} design.md
83
+
84
+ ## 设计总览
85
+
86
+ - 业务领域:{{BUSINESS_DOMAIN}}
87
+ - 产品形态:{{EXPERIENCE_TOPOLOGY}}
88
+ - 主题来源:{{THEME_SOURCE}}
89
+ - 项目约束:{{PROJECT_CONSTRAINTS}}
90
+
91
+ 本主题以近黑无彩画布承载一组轻微抬升的暗色模块,依靠 1px 弱边界、内侧柔光和极低透明度阴影建立层级,而不是依靠大面积色块。首层可由等宽指标卡形成微光摘要带;主要内容在契约满足时采用约 2:1 的主辅拼图,主面板承载带细网格与面积雾化的多序列趋势,辅面板承载分段环或竖向步骤列表;下层结构化明细保持低对比行底与精确数字对齐。主题色只用于关键曲线、活跃节点、短条和少量图标辉光,深色表面与高亮文字关系始终不变。
92
+
93
+ ### 风格定位与应用说明
94
+
95
+ - 核心气质是“低照度舞台上的精确微光”:整体中高密度、卡片内部留白克制、信息对比集中在数值与图形焦点。
96
+ - 所有页面共享本主题的全应用 Token 和基础组件语言;逐页视觉应用根据项目实际页面、页面模式和真实内容生成,视觉记忆点仅在满足内容契约时使用。
97
+ - 代表性构图迁移到其他页面时保留暗面层级、微光焦点、主次对比、细网格和紧凑信息节奏,不复制具体指标、品类、步骤或固定模块顺序。
98
+ - 缺少图表数据时将发光描边迁移到进度、选中态或时间轴;缺少主辅内容时回退 PRD 的单列结构。任何会新增业务指标、报告入口或步骤数据的迁移均降级为 `suggest_only`。
99
+
100
+ ### 视觉 DNA
101
+
102
+ | 设计母体 | 可见证据与置信度 | 复用规则与实现钩子 | 缺失后的失败表现 |
103
+ | --- | --- | --- | --- |
104
+ | 低照度分层暗面 | 近黑画布上叠放略亮面板,边界和阴影都极弱,面板内部仍有可辨层级。`observed` | 不可变:画布、一级表面、嵌套表面至少三级明度;可变:模块内容与数量。复用 `--pod-page-bg-color`、`--color-white` 与 Fill Token。 | 退化为纯黑平面或高灰卡片堆叠,暗色质感与层级同时消失。 |
105
+ | 微图嵌入指标卡 | 等宽摘要卡内同时出现标签、主值、趋势说明、图标与迷你趋势纹理。`observed` | 不可变:主值左上、微图右下、趋势贴底、图标置于柔光区域;可变:数据语义和微图类型。使用固定卡高与 SVG/canvas 小图。 | 指标卡退化为只有数字的通用卡,首屏缺少细节密度。 |
106
+ | 发光双轨网格 | 主图使用细密暗网格、两条同色相不同强度曲线、轻面积雾化与悬浮对齐线。`observed` | 不可变:主序列高亮、次序列降权、网格克制、tooltip 与定位线共同出现;可变:序列数量不超过三条、数据和轴语义。 | 退化为默认图表库样式,线条与背景没有空间感。 |
107
+ | 外置标注分段环 | 分段圆环留出明显间隙,关键值居中,少量标签悬浮在环外,底部以短条图例收束。`observed` | 不可变:圆角弧段、分段间隙、中心值、外置短标与底部对齐图例;可变:2-5 个分段及文案。 | 退化为普通饼图或满环仪表,失去辨识度和层次。 |
108
+ | 条件式主辅拼图 | 宽主面板与窄辅助列组合,辅助列再纵向分层,底部明细与上方网格对齐。`observed` | 不可变:仅在主数据与独立辅助数据同时存在时使用约 2:1 分栏;可变:各槽位内容。CSS Grid 统一 gap 与拉伸。 | 强制分栏会制造空洞;无分栏则失去聚焦与辅助阅读节奏。 |
109
+
110
+ ### 视觉记忆点应用策略
111
+
112
+ | 视觉记忆组件或构图 | 内容契约 | 落地策略 | 可迁移机制与适配目标 | 无匹配内容时 |
113
+ | --- | --- | --- | --- | --- |
114
+ | 微图指标卡带 | `content_contract`: PRD 提供 2-6 个同层级摘要值及趋势或变化信息 | `render_policy: prd_match_only`;`direct_trigger`: 摘要值可横向比较且存在最小时间序列 | `transferable_mechanism`: 固定高暗卡、主值优先、右下微图、底部趋势;`adaptation_targets`: `primary_metrics` | `fallback`: 无趋势时移除微图但保留结构;`forbidden`: 不得编造时间序列或变化值 |
115
+ | 发光双轨网格 | `content_contract`: PRD 提供带共同横轴的 1-3 条连续序列 | `render_policy: prd_match_only`;`direct_trigger`: 需要比较趋势、目标或基准 | `transferable_mechanism`: 细暗网格、主次线、面积雾化、定位线;`adaptation_targets`: `primary_content_panel`、已有图表槽 | `fallback`: 数据不连续时改柱、点或列表;`forbidden`: 不得伪造序列、预测或百分比 |
116
+ | 外置标注分段环 | `content_contract`: PRD 提供 2-5 个构成整体的分类值 | `render_policy: adapt_existing_slot`;`direct_trigger`: 分类总量具有明确整体关系 | `transferable_mechanism`: 圆角弧段、环外短标、中心值与短条图例;`adaptation_targets`: `supporting_panel`、现有占比组件 | `fallback`: 不满足整体关系时改排序条;`forbidden`: 不得强行归一化无关数据 |
117
+ | 主辅拼图骨架 | `content_contract`: PRD 同时存在一个主要可视槽和一组独立辅助槽 | `render_policy: adapt_existing_slot`;`direct_trigger`: 主内容需要聚焦且辅助内容可独立阅读 | `transferable_mechanism`: 2:1 分栏、右侧纵向堆叠、统一面板边线;`adaptation_targets`: `primary_content_panel` + `supporting_panel` | `fallback`: 契约不成立时单列或按页面模式布局;`forbidden`: 不得为保持分栏新增辅助模块 |
118
+ | 暗面结构化明细 | `content_contract`: PRD 提供多字段对象集合或步骤序列 | `render_policy: adapt_existing_slot`;`direct_trigger`: 内容需要逐行扫描和比较 | `transferable_mechanism`: 低对比行底、左侧识别锚、右侧数值、末端微趋势;`adaptation_targets`: `detail_table`、`detail_list` | `fallback`: 字段少时使用紧凑列表;`forbidden`: 不得新增列、缩略图或趋势字段 |
119
+
120
+ - 先匹配 `content_contract`,再决定是否渲染组件本体;不能为了保留视觉记忆点而新增 PRD 未要求的字段、数据、入口、对象或流程。
121
+ - 每页优先清楚落地 1-3 个与 PRD 匹配的主记忆点,不要求全部组件同时出现。
122
+ - 无合法业务承载时保留为 `recipe_only`;若需要新增业务能力则使用 `suggest_only`,不进入默认实现。
123
+
124
+ ### 设计变量范围
125
+
126
+ `tokens.application-global` 是原生表单、流程页面和自定义页面共同遵守的全应用设计契约;本主题保留平台变量名,但将基础表面语义映射为深色:`--color-white` 在本主题中承担全应用一级暗表面,而不是字面白色。`tokens.custom-page` 只补充近黑画布、主题辉光与三档主题派生图形色,以及全局字体层级缺少的指标数字和图表强调值;弱网格复用 `--color-line1-1`,常规浮层复用 `--color-fill1-10`,不重复声明。
127
+
128
+ ## 色彩
129
+
130
+ - 色彩来源:{{COLOR_SOURCE}}
131
+ - 颜色 Token 的名称和值以文档顶部 YAML 的 `tokens` 为唯一事实源;AI 可以根据主题调整色值,不改变宜搭应用全局变量名。
132
+ - 画布消费 `--pod-page-bg-color`(当前值 `#101010`),一级表面消费 `--color-white`(当前值 `#181818`),普通嵌套填充消费 `--color-fill1-1`(当前值 `#202020`);文字依次消费 `--color-text1-4`、`--color-text1-10`、`--color-text1-3`。括号内色值仅说明本主题当前取值,组件实现禁止硬编码。
133
+
134
+ ### 设计变量消费规则
135
+
136
+ | 固定消费语义 | 消费 Token | 作用域 |
137
+ | --- | --- | --- |
138
+ | 主题色交互元素悬停 | `--color-brand1-1` | 应用全局 |
139
+ | 平台预留品牌浅色;自定义页不主动绑定 | `--color-brand1-2` | 应用全局 |
140
+ | 浅层导航框架背景 | `--color-brand1-3` | 应用全局 |
141
+ | 深层导航框架背景 | `--color-brand1-5` | 应用全局 |
142
+ | 主按钮、关键焦点、主曲线和选中强调 | `--color-brand1-6` | 应用全局 |
143
+ | 主题色交互元素激活或按下 | `--color-brand1-9` | 应用全局 |
144
+ | 主题色交互元素禁用状态 | `--color-brand1-10` | 应用全局 |
145
+ | 弱分隔线、表格行线和图表网格 | `--color-line1-1` | 应用全局 |
146
+ | 控件与一级面板常规边界 | `--color-line1-2` | 应用全局 |
147
+ | 页面底层画布 | `--pod-page-bg-color` | 自定义页 |
148
+ | 一级暗面板、卡片和表单容器 | `--color-white` | 应用全局 |
149
+ | 图标井、节点和局部边缘柔光 | `--oyd-brand-glow-soft` | 自定义页 |
150
+ | 图表主序列与关键短条 | `--oyd-brand-chart-strong` | 自定义页 |
151
+ | 图表次序列与非主分段 | `--oyd-brand-chart-muted` | 自定义页 |
152
+ | 图表面积雾化填充 | `--oyd-brand-chart-area` | 自定义页 |
153
+ | 菜单悬停、弱标签和嵌套暗底 | `--color-fill1-1` | 应用全局 |
154
+ | 菜单点击和中性选中底 | `--color-fill1-2` | 应用全局 |
155
+ | 标题、核心数字、正文和主要图标 | `--color-text1-4` | 应用全局 |
156
+ | 表头和输入框 placeholder | `--color-text1-10` | 应用全局 |
157
+ | 坐标轴、时间和次要说明 | `--color-text1-3` | 应用全局 |
158
+
159
+ `--color-brand1-6` 来自前置确定的全应用主题色,先解析为实际色值;AI 再以它为唯一品牌色种子生成其余 Brand Token。最终项目 `design.md` 必须写入七个 Brand Token 的实际色值,不得保留生成期标记。没有品牌色时选择在近黑背景上达到至少 4.5:1 对比的明亮交互色作为锚点;换色后仍保持约 82% 暗中性表面、12% 文字与边界、6% 主题辉光和图形焦点的面积关系。
160
+
161
+ ### 本主题的配色约束
162
+
163
+ - `--color-white`、`--color-line1-1`、`--color-line1-2`、`--color-fill1-1`、`--color-fill1-2`、`--color-fill1-3`、`--color-text1-4`、`--color-text1-10`、`--color-text1-3` 与 `--pod-page-bg-color` 均为固定 `neutral-gray`,Hex 三通道相等;`--color-fill1-10` 也是无彩透明层。
164
+ - `--oyd-brand-glow-soft`、`--oyd-brand-chart-strong`、`--oyd-brand-chart-muted`、`--oyd-brand-chart-area` 均由 `--color-brand1-6` 派生,实例化时必须写入实际色值;它们是主题同色演变,不是独立分类色。
165
+ - 主题色只用于主操作、关键焦点、选中状态、主图形和少量图标辉光;不得用主题色铺满画布或普通面板。
166
+ - 成功、警告、错误和信息状态直接消费平台语义色,并同时配合文字、图标或方向符号;`custom-page` 不重复声明同义状态 Token。
167
+ - 同一图表最多三条主题派生序列;外部分类色仅在 PRD 明确要求区分类别且同色相无法满足辨识时使用,面积不超过可视区 10%。
168
+ - 默认强调色可被任意合法主题色替换;换色不改变近黑画布、面板明度阶、发光强度、圆角、网格密度或主辅构图。
169
+
170
+ ## 字体与排版
171
+
172
+ - 全局只使用 `tokens.application-global.typography.base.--font-family-base` 定义的字体栈。
173
+ - 视觉材料原始尺寸为 2174×1810、工具展示尺寸为 1728×1438;viewport、DPR、浏览器缩放和导出倍率未知,因此字号按平台 Token 范围推断,不按图片物理像素换算。
174
+ - `page-title` 消费 `tokens.application-global.typography.subhead`:`--font-size-subhead: 24px`、`--font-weight-subhead: 600`、`--font-lineheight-subhead: 1.3`。
175
+ - `panel-title` 消费 `body-2`:16px / 600 / 1.45;内容标题与正文消费 `body-1`:14px / 400 / 1.5。
176
+ - 表格与结构化列表消费 `table`:14px / 500 / 1.45;轴标签、趋势说明和元信息消费 `caption`:12px / 400 / 1.4。
177
+ - 主要指标消费 `tokens.custom-page.typography.metric-primary`:30px / 500 / 1.18;主图内独立强调值消费 `chart-emphasis`:40px / 500 / 1.1。二者是全局层缺失的数据展示语义,不覆盖页面或面板标题。
178
+ - 数值启用 `font-variant-numeric: tabular-nums`;标签单行省略,说明最多两行,长内容在面板内部滚动或进入详情。
179
+ - 图标使用 1.5px 线宽、圆角端点和 18-20px 视图盒;图标默认消费高对比文字色,柔光只作为背景,不降低轮廓可读性。
180
+
181
+ ## 布局与间距
182
+
183
+ - 页面安全边距使用 `--s-3` 或 `--s-4`,主要模块间距使用 `--s-4`,卡片网格 gap 使用 `--s-3`,卡内 padding 使用 `--s-4`,图标与文本使用 `--s-2`。
184
+ - 内容容器建议 `max-width: 1720px; margin-inline: auto; min-width: 0`;所有区块间距由父级 grid/flex 的 `gap` 管理。
185
+ - 指标卡带仅在 PRD 有 2-6 个同层摘要值时出现;宽桌面等分为 4-6 列,较窄桌面自动折为 2-3 列,小屏单列或双列。
186
+ - 主辅拼图仅在主要可视槽和独立辅助槽同时存在时使用:宽桌面 `grid-template-columns: minmax(0, 2fr) minmax(320px, 1fr)`;辅助列内部垂直堆叠。契约不成立时采用 PRD 的单列、列表、表单或详情结构。
187
+ - 页面标题、全局操作、主要内容和辅助内容是否出现及其顺序由 PRD 和页面模式决定;页面结构只使用 `page_identity`、`primary_metrics`、`primary_content_panel`、`supporting_panel`、`detail_table`、`detail_list` 等中性槽位。
188
+
189
+ ### 布局稳定性硬规则
190
+
191
+ - 桌面端主网格必须使用 `align-items: stretch`,同一行同类面板顶部和底部对齐;禁止瀑布流和 `align-items: start`。
192
+ - 面板使用 `height: 100%`、`min-width: 0`、`min-height: 0`、`display: flex`、`flex-direction: column`;标题区固定,内容区使用 `flex: 1; min-height: 0`。
193
+ - `metric_card` 建议高度 196-220px;`chart_panel` 建议 520-640px;`detail_panel` 建议 360-460px;辅助环形面板建议 360-430px;可选 `quick_action_item` 高度 72-88px。
194
+ - 图表、表格、列表和长文案必须在面板内部滚动、截断或折叠,不得撑破外层网格;主图绘图区高度固定 360-440px,微图高度固定 56-72px。
195
+ - 区块间距由父级 grid/flex 的 `gap` 管理,不用零散 `margin-top`、`margin-bottom` 拼接页面节奏。
196
+ - ≥1440px 可执行指标横排与 2:1 主辅分栏;960-1439px 指标折为两列、主辅比改为 3:2;640-959px 主辅上下堆叠且辅助面板双列;<640px 全部单列、图表高度降至 300px、表格内部横向滚动。移动端可解除桌面等高,但保留控件高度、截断与溢出策略。
197
+
198
+ ## 表面与层级
199
+
200
+ - 页面画布必须消费 `--pod-page-bg-color`,一级面板必须消费 `--color-white`,普通嵌套块消费 `--color-fill1-1`,悬停、选中或需要提高层级的嵌套块消费 `--color-fill1-2`;面板弱边界使用 `1px solid var(--color-line1-1)`,常规阴影为 `0 10px 28px rgba(0,0,0,0.24)`。这些 Token 的当前值以 YAML 为唯一事实源,组件实现不得直接写入 Hex。
201
+ - 面板可增加 `inset 0 1px 0 rgba(255,255,255,0.025)` 形成精细内缘;主题辉光只允许围绕图标井、活跃节点和图形端点,范围 18-32px、透明度受 `--oyd-brand-glow-soft` 控制。
202
+ - tooltip 与 popover 复用 `--color-fill1-10`,边界为 `--color-line1-2`,阴影 `0 14px 36px rgba(0,0,0,0.42)`;背景模糊只用于浮层,普通面板不使用玻璃效果。
203
+ - 嵌套层级优先使用明度与 1px 分隔线,不无限叠加阴影;一个面板内最多一层可见嵌套卡。
204
+
205
+ ## 圆角与形状
206
+
207
+ - `--corner-1` 用于图例短条、进度端点和微型标记;`--corner-2` 用于 28-32px 控件、表格缩略图和 tooltip;`--corner-3` 用于图标井、筛选器和嵌套块;`--corner-4` 用于一级面板;`--corner-5` 仅用于大幅聚焦容器。
208
+ - `--corner-circle` 用于圆点、节点和纯圆图标底;`--corner-semicircle` 用于短状态胶囊、环外标注和紧凑计数。
209
+ - 折线端点与分段环端帽保持圆润,细网格保持直线;圆角只柔化容器和图形端部,不将所有内容胶囊化。
210
+ - 同一网格层级使用一致圆角,禁止随机混用直角、小圆角和超大圆角。
211
+
212
+ ## 组件
213
+
214
+ ### 按钮与操作
215
+
216
+ - 迷你/行内按钮高 28px、紧凑工具栏按钮高 32px、常规按钮高 36px、强调操作高 40px;图标按钮使用对应档位的正方形尺寸,禁止其他高度或超过 40px。
217
+ - 主按钮使用 `--color-brand1-6` 与高对比文字;次按钮使用 `--color-fill1-1`、`--color-line1-2` 和 `--color-text1-4`。同一操作区只保留一个视觉主操作。
218
+ - hover 消费 `--color-brand1-1`,active 消费 `--color-brand1-9`,disabled 消费 `--color-brand1-10` 并保留边界;focus 使用 2px 主题色外环加 2px 暗色间隔。
219
+ - 图标与文字间距为 `--s-2`,纯图标按钮必须提供可访问名称与 tooltip。
220
+
221
+ ### 输入与筛选控件
222
+
223
+ - 紧凑工具栏控件高 32px、常规表单控件高 36px、宽松搜索和选择器高 40px;背景 `--color-fill1-1`、边界 `--color-line1-2`、圆角 `--corner-3`。
224
+ - 输入值消费 `--color-text1-4`,placeholder 消费 `--color-text1-10`;focus 提升主题边界并出现柔光,error 使用平台错误色加文字说明。
225
+ - 搜索、时间筛选和视图选择组成紧凑工具组;不得把每个筛选器做成发光主按钮。
226
+
227
+ ### 卡片与面板
228
+
229
+ - 一级面板使用 `--color-white`、1px 弱边界、`--corner-4` 和低扩散暗阴影;嵌套块使用 `--color-fill1-1` 或 `--color-fill1-2`,不重复阴影。
230
+ - 标题区高 48-56px,内容区 `flex: 1; min-height: 0`;标题与操作两端对齐。面板 padding 使用 `--s-6`,高密度列表可收为 `--s-4`。
231
+ - 不把每段内容包成独立卡;图例、工具提示和行项目通过明度、分隔线和局部填充区分。
232
+
233
+ ### 微图指标卡带
234
+
235
+ - 公式:左上标签 → 下方主值 → 左下变化信息;右上图标井 → 右下固定高度微图。卡片保持 196-220px 等高。
236
+ - 微柱宽 6-8px、间距 5-7px、圆角端帽;微线最多两条,主线消费 `--oyd-brand-chart-strong`,次线消费 `--oyd-brand-chart-muted`,面积消费 `--oyd-brand-chart-area`。
237
+ - 图标井为 40px 圆角块,使用 `--oyd-brand-glow-soft`,轮廓不低于 3:1 对比。趋势同时显示方向和文字,不只依赖颜色。
238
+
239
+ ### 发光双轨网格
240
+
241
+ - 公式:面板标题与轻量筛选 → 独立强调值 → 细网格绘图区 → 主次双线与面积雾化 → 悬浮定位线、双节点和紧凑 tooltip → 低对比轴标。
242
+ - 网格消费 `--color-line1-1`,透明度控制在 35%-55%;主线 2.5px,次线 1.5px,曲线平滑但不得过度圆滑掩盖数据变化。
243
+ - tooltip 同时列出相关序列,宽度 136-184px;垂直定位线与节点保持同一 x 坐标。不得用默认白底 tooltip 或高亮整列背景。
244
+ - 数据点常态隐藏,只在 hover、键盘聚焦和关键节点显示;面积填充只在主序列下方,底部透明归零。
245
+
246
+ ### 外置标注分段环
247
+
248
+ - 公式:2-5 个圆角弧段组成开放间隙圆环 → 中心展示一个核心值 → 1-3 个短标签悬浮环外 → 底部等宽图例块与短进度线。
249
+ - 圆环宽度为外径的 10%-13%,分段间隙 8-12px;同色相强弱由主色派生,最弱弧段仍须与暗底区分。
250
+ - 外置标签使用高对比中性表面和深色文字,不使用大面积主题色;标签必须通过位置或引导关系与弧段对应。
251
+ - 当分类超过五个或标签过长时改用排序条形图,禁止压缩成难读碎环。
252
+
253
+ ### 条件式主辅拼图
254
+
255
+ - 公式:宽主面板占约 2/3,窄辅助列占约 1/3;辅助列按内容分成 1-2 张等宽面板,下层明细与主列边线对齐。
256
+ - 仅在主要可视内容和独立辅助内容同时存在时使用;无辅助内容时主面板全宽,不保留空列。
257
+ - 同一行使用 `align-items: stretch`,辅助列内部使用 `grid-auto-rows: minmax(0, 1fr)`;小屏按主要内容、辅助摘要、辅助明细顺序堆叠。
258
+
259
+ ### 图表或主内容面板
260
+
261
+ - 连续趋势优先使用发光双轨网格;构成关系优先使用外置标注分段环;离散比较使用圆角短柱。图表类型由数据语义决定,不为主题记忆点强行转换。
262
+ - 图例使用 8px 圆点或 20-28px 短线,靠近绘图区;轴文字使用 `--color-text1-3`,关键数值使用 `--color-text1-4`。
263
+ - 图表容器必须有确定高度,并在 resize 后重新计算;加载态保持坐标区和标题区尺寸不变。
264
+
265
+ ### 表格与列表
266
+
267
+ - 表头高 44px、背景与面板同色或 `--color-fill1-1`;正文行高 60-68px,行线使用 `--color-line1-1`。首行或选中行可使用 `--color-fill1-2`,不得整表高亮。
268
+ - 首列使用 32-36px 识别图标或缩略图;文字列左对齐、数值列右对齐、趋势列固定宽度。数值启用等宽数字。
269
+ - 竖向步骤列表使用 40px 圆形图标井、主标签、次趋势和尾部数值;每行保持单一识别焦点。
270
+ - 长标题单行省略,说明最多两行;表格在面板内部横向滚动,首要识别列可黏附。
271
+
272
+ ### 快捷入口(推断)
273
+
274
+ - `confidence: inferred`,`render_policy: recipe_only`。仅当 PRD 有明确高频入口时,以 72-88px 暗色条目实现,图标井使用局部柔光,标题与说明纵排。
275
+ - 快捷入口不得塞进图表图例或表格表头;移动端单列,禁止彩色宫格和持续脉冲辉光。
276
+
277
+ ### 状态与交互
278
+
279
+ - 悬停:面板边界由 `--color-line1-1` 提升到 `--color-line1-2`,局部辉光增强约 20%,持续 180ms,不改变尺寸。
280
+ - 按下:按钮使用 100-140ms 明度反馈;卡片不整体缩放,避免暗面网格抖动。
281
+ - 聚焦:控件显示清晰 focus ring;图表节点可键盘访问并显示同等 tooltip;纯图标按钮必须有可访问名称。
282
+ - 加载:保持指标卡、图表和列表固定高度,以暗色骨架与稳定占位替代内容。
283
+ - 空态与错误:保留原面板结构,以高对比说明和一个合法操作引导下一步,不把整面板染成状态色。
284
+ - 禁用与选中:通过边界、图标、文字和状态词共同表达,不只依赖透明度或辉光。
285
+ - 动效:使用 160-220ms `cubic-bezier(.2,.8,.2,1)`;数值更新可短暂淡入,禁止循环闪烁。`prefers-reduced-motion` 下移除线条绘制、面积过渡和辉光扩散。
286
+
287
+ ## 项目应用
288
+
289
+ ### 项目上下文与主题应用
290
+
291
+ - 当前产品形态:{{EXPERIENCE_TOPOLOGY}}
292
+ - 主题在当前项目中的应用说明:{{PRODUCT_TOPOLOGY_APPLICATION}}
293
+
294
+ 产品形态只提供任务与内容上下文,不决定主题是否可用。原生页面和自定义页面共同继承深色全局 Token、按钮、输入、面板、表格和状态语言;图表、指标卡和主辅拼图仅在真实内容满足契约时落地。
295
+
296
+ ### 页面模式
297
+
298
+ {{PAGE_PATTERN_SUMMARY}}
299
+
300
+ 页面模式决定任务、内容和模块;本主题只规定视觉表达,不能强行把所有页面改造成同一种页面结构。没有图表的页面仍通过近黑画布、暗面明度阶、精确分隔、局部主题焦点和紧凑排版保持一致。
301
+
302
+ ### 逐页视觉应用
303
+
304
+ {{PAGE_APPLICATIONS}}
305
+
306
+ 实例化最终项目 `design.md` 时,只展开项目真实存在的页面;每页说明主要中性槽位的位置、跨度、高度、移动端顺序和采用的视觉 DNA。页面不必使用全部组件母体,但采用对应信息类型时必须遵守构图公式。
307
+
308
+ ### 素材要求
309
+
310
+ - 页面图片需求:{{PAGE_IMAGE_NEEDS}}
311
+ - 素材缺口:{{ASSET_GAPS}}
312
+ - 图片、图表、缩略图和辅助图形必须有真实来源;没有素材时使用结构化数据或中性占位,不编造客户、对象、指标或图片地址。
313
+
314
+ ## 设计规范与禁忌
315
+
316
+ ### 必须做到
317
+
318
+ - 全应用无条件保护近黑画布、三级暗面明度、弱边界、高对比文字和小面积主题辉光。
319
+ - 内容契约满足时,微图指标卡必须保持固定构图;双轨图必须保护细网格、主次线、面积雾化与定位 tooltip;分段环必须保护间隙、中心值、外置标注和底部图例。
320
+ - 主辅分栏仅在主要内容与独立辅助内容同时存在时启用,并在窄屏按同一契约有序折叠。
321
+ - 同类面板等高、图表高度固定、长内容内部处理、父级 gap 统一;图形和文字必须达到暗色背景可访问对比。
322
+ - hover、active、focus、loading、empty、error、disabled、selected 和 reduced motion 必须完整,图表焦点可键盘访问。
323
+
324
+ ### 禁止项
325
+
326
+ - 禁止复制视觉材料中的业务内容,或让 DESIGN.md 覆盖 PRD 的内容决策。
327
+ - 禁止把输入主题色铺满背景、普通面板或大面积区域;禁止把默认色相误当成视觉 DNA。
328
+ - 禁止把 2:1 分栏、右侧辅助列、指标带或模块顺序写成所有页面无条件执行的结构。
329
+ - 禁止将三级暗面压成单一纯黑,禁止用高亮边框包围所有卡片,禁止把柔光升级为霓虹外发光。
330
+ - 禁止把双轨网格替换成默认白底 tooltip、粗网格或彩虹多序列;禁止把分段环替换成无间隙饼图。
331
+ - 禁止瀑布流、自由高度卡片、`align-items: start`、无固定高度图表、长内容撑破父级和零散 margin 拼接。
332
+ - 禁止默认后台质感、无依据装饰、持续闪烁和与主题不一致的组件库默认样式。
333
+
334
+ ### 错误与正确
335
+
336
+ - 错误:所有暗色层级都用纯黑或在组件中硬编码 Hex;正确:依次消费 `--pod-page-bg-color`、`--color-white`、`--color-fill1-1`,交互层消费 `--color-fill1-2`,并以 `--color-line1-1` 建立弱边界。
337
+ - 错误:指标卡只保留大数字;正确:契约满足时固定标签、主值、趋势、图标井与微图的五点构图。
338
+ - 错误:图表使用高亮粗网格和彩色多线;正确:细暗网格、单主题主次线、轻面积雾化和对齐 tooltip。
339
+ - 错误:构成数据使用无间隙饼图;正确:2-5 个圆角弧段、外置短标、中心值与底部图例共同表达。
340
+ - 错误:所有页面强制使用代表性分栏;正确:内容契约成立时使用主辅拼图,否则保留 PRD 页面模式并迁移暗面层级与微光语言。
341
+ - 错误:主题色铺满页面;正确:主题色只连接主操作、关键焦点、图形强调与选中状态,其余表面保持暗中性。
342
+ - 错误:卡片随内容自由增高形成瀑布流;正确:同类卡片固定高度、网格拉伸,长内容内部滚动或截断。
343
+ - 错误:快捷入口使用默认彩色宫格;正确:仅由 PRD 触发并继承暗面、弱边界和局部柔光。
344
+
345
+ ### AI 使用提示
346
+
347
+ 先读取 PRD,再解析 `{{PRIMARY_COLOR}}` 并生成全部实际 Brand Token 与主题派生图形 Token。所有真实页面先继承深色全应用 Token 和基础组件语言,再按内容契约选择可落地的视觉记忆点。主辅拼图、微图指标卡、双轨网格和分段环只作为视觉配方,不用于枚举项目不存在的指标、分类、步骤或数据;主题色只替换色相,不改变近黑画布、三级暗面、构图、密度、圆角、辉光强度和交互机制。不匹配时迁移表面、边界、排版与焦点语言,不创造业务内容。
348
+
349
+ ### 交付自检
350
+
351
+ - [ ] 全部页面内容和模块是否来自 PRD,而非模板来源?
352
+ - [ ] 画布、一级面板和嵌套表面是否保持三级暗面明度,而非单一纯黑?
353
+ - [ ] 微图指标卡是否保持标签、主值、趋势、图标井和微图的固定构图?
354
+ - [ ] 双轨网格是否包含细网格、主次序列、轻面积、定位线、节点和紧凑 tooltip?
355
+ - [ ] 分段环是否限制为 2-5 段,并保留间隙、圆角端帽、中心值、外置标注和底部图例?
356
+ - [ ] 主辅拼图是否只在主要内容与独立辅助内容同时存在时启用?
357
+ - [ ] 每个视觉记忆组件是否都有 `content_contract`、`render_policy`、迁移目标和无匹配回退策略?
358
+ - [ ] 固定列数、主辅比例、辅助列和模块顺序是否具有内容契约,且未被写成全页面硬规则?
359
+ - [ ] 未被 PRD 触发的组件是否没有强行渲染,视觉迁移是否没有新增业务内容?
360
+ - [ ] 主操作、关键焦点、主图形和选中状态是否共享 `--color-brand1-6`,其余表面保持暗中性?
361
+ - [ ] `application-global` 的变量名和消费语义是否稳定,具体值是否依据当前主题生成?
362
+ - [ ] 全局与自定义页 Token 属性是否全部使用以 `--` 开头的完整 kebab-case 名称?
363
+ - [ ] `custom-page` 是否逐项通过全局语义复用检查,没有同值同义或角色重叠的重复 Token?
364
+ - [ ] 文字对比是否保持 `text1-4` 高于 `text1-10`、`text1-10` 高于 `text1-3`?
365
+ - [ ] `themeId`、描述、视觉 DNA、组件标题和正文总结是否没有绑定默认色相?
366
+ - [ ] `themeId` 和描述是否只表达视觉机制,没有把某种页面任务或业务领域写成主题身份?
367
+ - [ ] 描述中的中高密度、高对比、弱边界、暗面层级和克制辉光是否与 Token 和正文一致?
368
+ - [ ] 是否没有建立适用/不适用产品形态清单,页面类型只用于视觉解读?
369
+ - [ ] 所有真实页面是否共享全应用 Token 和基础组件语言,视觉记忆点是否只按内容契约条件式落地?
370
+ - [ ] `{{PAGE_APPLICATIONS}}` 是否只展开项目真实存在的页面?
371
+ - [ ] 主题同色演变是否由 `--color-brand1-6` 派生;独立分类色是否角色明确;平台状态色是否未在 `custom-page` 重复声明?
372
+ - [ ] 所有固定灰色 Token 是否为 `neutral-gray` 且满足三通道相等;是否没有未声明的偏色灰?
373
+ - [ ] 同类面板是否等高对齐,图表是否有固定高度,长内容是否在内部处理?
374
+ - [ ] 快捷入口如有生成,是否由 PRD 触发并继承本主题的组件语言?
375
+ - [ ] hover、active、focus、loading、empty、error、disabled、selected 是否完整且不引发布局跳动?
376
+ - [ ] 移动端折叠、触控目标、键盘访问、对比度、非纯颜色状态与 reduced motion 是否达标?
377
+ - [ ] 最终项目 `design.md` 是否替换全部占位符并写入七个 Brand Token 和主题派生图形 Token 的实际色值?