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