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
@@ -1,398 +0,0 @@
1
- [
2
- {
3
- "id": "app-wire",
4
- "label": "精密线框",
5
- "ink": "#242826",
6
- "canvas": "#f7f8f6",
7
- "surface": "#ffffff",
8
- "border": "#c0c6c2",
9
- "radius": 2,
10
- "height": 38,
11
- "width": 940,
12
- "padding": 28,
13
- "gap": 18,
14
- "columns": "6:6",
15
- "intro": "顶端编号标题与标尺式章节",
16
- "composition": "横向工具带与精确双列工作区",
17
- "material": "细线框、浅网格、平面无阴影",
18
- "scenario": "适合研发、资产与审计。",
19
- "accent": "#242826",
20
- "background": "repeating-linear-gradient(0deg, transparent 0 23px, rgba(36,40,38,.045) 23px 24px), repeating-linear-gradient(90deg, transparent 0 23px, rgba(36,40,38,.045) 23px 24px)"
21
- },
22
- {
23
- "id": "app-paper",
24
- "label": "奶油手账",
25
- "ink": "#745338",
26
- "canvas": "#e9dfcd",
27
- "surface": "#fffaf0",
28
- "border": "#b49a76",
29
- "radius": 8,
30
- "height": 44,
31
- "width": 690,
32
- "padding": 42,
33
- "gap": 30,
34
- "columns": "12",
35
- "intro": "纸页顶部题签与短说明",
36
- "composition": "窄幅纵向阅读与按日期组织的清单",
37
- "material": "暖纸面、虚线章节、柔和纸张阴影",
38
- "scenario": "适合服务登记、档案与内容策划。",
39
- "accent": "#745338",
40
- "headingFont": "Georgia, 'Songti SC', serif",
41
- "headingSize": 44,
42
- "rule": "dashed",
43
- "shadow": "0 4px 12px rgba(116,83,56,.10)",
44
- "background": "repeating-linear-gradient(0deg, transparent 0 31px, rgba(116,83,56,.04) 31px 32px)"
45
- },
46
- {
47
- "id": "app-sage",
48
- "label": "植物浮雕",
49
- "ink": "#345b49",
50
- "canvas": "#dce7df",
51
- "surface": "#eaf1ea",
52
- "border": "#bfcebf",
53
- "radius": 16,
54
- "height": 46,
55
- "width": 900,
56
- "padding": 40,
57
- "gap": 30,
58
- "columns": "6:6",
59
- "intro": "低对比色块介绍与圆弧分组",
60
- "composition": "宽松双列、纵向状态清单与柔和分区",
61
- "material": "柔绿表面、轻内凹、圆润控件",
62
- "scenario": "适合健康服务、员工关怀与资源协作。",
63
- "accent": "#345b49",
64
- "shadow": "inset 0 1px 2px rgba(52,91,73,.10)"
65
- },
66
- {
67
- "id": "app-pop",
68
- "label": "波普印刷",
69
- "ink": "#211c21",
70
- "canvas": "#ffde59",
71
- "surface": "#fffdf6",
72
- "border": "#211c21",
73
- "radius": 0,
74
- "height": 46,
75
- "width": 1000,
76
- "padding": 32,
77
- "gap": 26,
78
- "columns": "8:4",
79
- "intro": "大字印刷标题与偏置章号",
80
- "composition": "不对称二比一工作区与粗线信息带",
81
- "material": "方角、粗墨线、硬偏移阴影",
82
- "scenario": "适合活动执行、创意制作与品牌运营。",
83
- "accent": "#211c21",
84
- "stroke": 3,
85
- "shadow": "4px 4px 0 #211c21",
86
- "headingSize": 44
87
- },
88
- {
89
- "id": "app-neon",
90
- "label": "午夜霓虹",
91
- "ink": "#b4f5f1",
92
- "canvas": "#080f21",
93
- "surface": "#111b31",
94
- "border": "#356274",
95
- "radius": 10,
96
- "height": 44,
97
- "width": 1040,
98
- "padding": 32,
99
- "gap": 22,
100
- "columns": "6:6",
101
- "intro": "小号技术编号与发光横线",
102
- "composition": "横向监控总览与双列任务区",
103
- "material": "深海蓝层次、局部青色微光",
104
- "scenario": "适合明确要求暗色的技术值守。",
105
- "accent": "#b4f5f1",
106
- "contentTone": "dark",
107
- "navTheme": "dark",
108
- "background": "radial-gradient(ellipse at 10% 0%, rgba(80,205,210,.14), transparent 55%), radial-gradient(ellipse at 90% 100%, rgba(139,93,228,.12), transparent 55%)"
109
- },
110
- {
111
- "id": "app-line",
112
- "label": "极简下划线",
113
- "ink": "#242323",
114
- "canvas": "#f2f1ee",
115
- "surface": "#ffffff",
116
- "border": "#aaa5a0",
117
- "radius": 0,
118
- "height": 48,
119
- "width": 680,
120
- "padding": 48,
121
- "gap": 38,
122
- "columns": "12",
123
- "intro": "纯文字标题与短红色侧线",
124
- "composition": "窄幅单列、连续正文与留白章节",
125
- "material": "无浮起卡片、平面纸白、强调下划线",
126
- "scenario": "适合申请、访谈与简洁审批。",
127
- "accent": "#242323"
128
- },
129
- {
130
- "id": "app-glass",
131
- "label": "雾面玻璃",
132
- "ink": "#45345f",
133
- "canvas": "#e5dff2",
134
- "surface": "#f9f7fd",
135
- "border": "#c8bfd6",
136
- "radius": 20,
137
- "height": 48,
138
- "width": 880,
139
- "padding": 40,
140
- "gap": 28,
141
- "columns": "6:6",
142
- "intro": "轻透标题面与辅助说明",
143
- "composition": "流动双列、层叠摘要与留白工作区",
144
- "material": "雾紫衬底、柔边和低强度漫射阴影",
145
- "scenario": "适合服务门户与体验反馈。",
146
- "accent": "#45345f",
147
- "shadow": "0 10px 32px rgba(69,52,95,.12)",
148
- "background": "radial-gradient(ellipse at 5% 20%, rgba(159,209,220,.35), transparent 60%), radial-gradient(ellipse at 90% 70%, rgba(179,145,223,.3), transparent 60%)"
149
- },
150
- {
151
- "id": "app-ticket",
152
- "label": "复古票据",
153
- "ink": "#733c26",
154
- "canvas": "#b96b49",
155
- "surface": "#fff2d5",
156
- "border": "#a7744d",
157
- "radius": 0,
158
- "height": 40,
159
- "width": 660,
160
- "padding": 28,
161
- "gap": 16,
162
- "columns": "12",
163
- "intro": "票据抬头、单据编号与细密说明",
164
- "composition": "窄单据纵向排布与对齐的键值清单",
165
- "material": "暖纸、双分割线、印章式操作",
166
- "scenario": "适合订单、交付与报销。",
167
- "accent": "#733c26",
168
- "rule": "double"
169
- },
170
- {
171
- "id": "app-editorial",
172
- "label": "杂志编辑",
173
- "ink": "#692e3e",
174
- "canvas": "#ede7e0",
175
- "surface": "#fffdf8",
176
- "border": "#ac8490",
177
- "radius": 0,
178
- "height": 44,
179
- "width": 1100,
180
- "padding": 40,
181
- "gap": 28,
182
- "columns": "6:6",
183
- "intro": "左侧大衬线标题、导语与右侧章节正文",
184
- "composition": "非对称编辑栏与跨栏内容摘要",
185
- "material": "酒红细线、纸白表面、大标题与克制留白",
186
- "scenario": "适合知识、内容与文化业务。",
187
- "accent": "#692e3e",
188
- "rail": true,
189
- "headingFont": "Georgia, 'Songti SC', serif",
190
- "headingSize": 44
191
- },
192
- {
193
- "id": "app-terminal",
194
- "label": "终端像素",
195
- "ink": "#9fe5ad",
196
- "canvas": "#0e1813",
197
- "surface": "#15231a",
198
- "border": "#558966",
199
- "radius": 0,
200
- "height": 40,
201
- "width": 960,
202
- "padding": 24,
203
- "gap": 12,
204
- "columns": "6:6",
205
- "intro": "命令行式短标题与流程提示",
206
- "composition": "紧凑双列与可扫描的日志清单",
207
- "material": "像素直角、点线边界、等宽排版",
208
- "scenario": "适合明确要求终端风格的技术工具。",
209
- "accent": "#9fe5ad",
210
- "contentTone": "dark",
211
- "navTheme": "dark",
212
- "font": "'SFMono-Regular', Consolas, monospace",
213
- "rule": "dotted"
214
- },
215
- {
216
- "id": "app-platinum",
217
- "label": "铂金商务",
218
- "ink": "#35434b",
219
- "canvas": "#eef0ef",
220
- "surface": "#ffffff",
221
- "border": "#d1d8d7",
222
- "radius": 6,
223
- "height": 38,
224
- "width": 1000,
225
- "padding": 36,
226
- "gap": 24,
227
- "columns": "6:6",
228
- "intro": "克制抬头与细线章节",
229
- "composition": "稳定双列与合同摘要侧栏",
230
- "material": "铂灰细线、低圆角、均衡留白",
231
- "scenario": "适合合同、采购与商务审批。",
232
- "accent": "#35434b"
233
- },
234
- {
235
- "id": "app-executive",
236
- "label": "墨金行政",
237
- "ink": "#d9c49a",
238
- "canvas": "#151919",
239
- "surface": "#222826",
240
- "border": "#596054",
241
- "radius": 4,
242
- "height": 42,
243
- "width": 1080,
244
- "padding": 40,
245
- "gap": 30,
246
- "columns": "12",
247
- "intro": "左侧香槟金衬线标题与用途说明,右侧单列章节",
248
- "composition": "四分之一介绍栏与四分之三主工作区",
249
- "material": "墨绿黑表面、金色细节与长横线",
250
- "scenario": "适合明确要求暗色的战略与高管事项。",
251
- "accent": "#d9c49a",
252
- "contentTone": "dark",
253
- "navTheme": "dark",
254
- "rail": true,
255
- "headingFont": "Georgia, 'Songti SC', serif",
256
- "headingSize": 44,
257
- "background": "linear-gradient(120deg, rgba(217,196,154,.04), transparent 65%)"
258
- },
259
- {
260
- "id": "app-finance",
261
- "label": "金融蓝图",
262
- "ink": "#274e78",
263
- "canvas": "#edf2f7",
264
- "surface": "#ffffff",
265
- "border": "#c4d1df",
266
- "radius": 4,
267
- "height": 36,
268
- "width": 1080,
269
- "padding": 28,
270
- "gap": 16,
271
- "columns": "6:6",
272
- "intro": "技术抬头与编号章节",
273
- "composition": "密集双列、水平标签与对齐金额",
274
- "material": "淡蓝图纸、清晰细边界、低圆角",
275
- "scenario": "适合预算、风险与资金计划。",
276
- "accent": "#274e78"
277
- },
278
- {
279
- "id": "app-nordic",
280
- "label": "北欧云白",
281
- "ink": "#526361",
282
- "canvas": "#f2f5f3",
283
- "surface": "#ffffff",
284
- "border": "#dce4df",
285
- "radius": 14,
286
- "height": 46,
287
- "width": 720,
288
- "padding": 52,
289
- "gap": 36,
290
- "columns": "12",
291
- "intro": "简短自然标题与舒展说明",
292
- "composition": "单列阅读与低密度任务清单",
293
- "material": "云白表面、柔圆角与大段间距",
294
- "scenario": "适合员工服务与预约申请。",
295
- "accent": "#526361"
296
- },
297
- {
298
- "id": "app-teal",
299
- "label": "青岚运营",
300
- "ink": "#24665f",
301
- "canvas": "#edf4f2",
302
- "surface": "#ffffff",
303
- "border": "#bfd6d0",
304
- "radius": 8,
305
- "height": 40,
306
- "width": 980,
307
- "padding": 32,
308
- "gap": 24,
309
- "columns": "8:4",
310
- "intro": "窄色带章节与任务说明",
311
- "composition": "二比一主次区、任务流与状态摘要条",
312
- "material": "青绿弱填充、清晰分组、适度圆角",
313
- "scenario": "适合运营排班、供应与项目协同。",
314
- "accent": "#24665f"
315
- },
316
- {
317
- "id": "app-amber",
318
- "label": "琥珀工单",
319
- "ink": "#805c26",
320
- "canvas": "#f3f0e9",
321
- "surface": "#fffefa",
322
- "border": "#d6cbb8",
323
- "radius": 3,
324
- "height": 34,
325
- "width": 1140,
326
- "padding": 24,
327
- "gap": 14,
328
- "columns": "4:4:4",
329
- "intro": "工单编号与薄型摘要带",
330
- "composition": "三列短字段、项目名跨列、子表整行",
331
- "material": "低圆角、琥珀细边、紧凑清单",
332
- "scenario": "适合设备工单与现场服务。",
333
- "accent": "#805c26"
334
- },
335
- {
336
- "id": "app-graphite",
337
- "label": "石墨数据",
338
- "ink": "#c7d4dc",
339
- "canvas": "#171d23",
340
- "surface": "#242d35",
341
- "border": "#485863",
342
- "radius": 4,
343
- "height": 36,
344
- "width": 1100,
345
- "padding": 24,
346
- "gap": 10,
347
- "columns": "6:6",
348
- "intro": "小标题、信息计数与细行分隔",
349
- "composition": "密集双列与连续数据表、横向标签",
350
- "material": "石墨层次、细行线、低圆角",
351
- "scenario": "适合明确要求暗色的数据运营。",
352
- "accent": "#c7d4dc",
353
- "contentTone": "dark",
354
- "navTheme": "dark"
355
- },
356
- {
357
- "id": "app-plum",
358
- "label": "绛紫咨询",
359
- "ink": "#685167",
360
- "canvas": "#f2eef1",
361
- "surface": "#fffdfd",
362
- "border": "#d8cad5",
363
- "radius": 10,
364
- "height": 44,
365
- "width": 1060,
366
- "padding": 44,
367
- "gap": 32,
368
- "columns": "7:5",
369
- "intro": "衬线标题、导语与双线章节",
370
- "composition": "接近三比二的咨询内容与上下文分栏",
371
- "material": "绛紫细线、柔白表面与舒展阅读",
372
- "scenario": "适合咨询、客户服务与调研。",
373
- "accent": "#685167",
374
- "headingFont": "Georgia, 'Songti SC', serif",
375
- "headingSize": 44,
376
- "rule": "double"
377
- },
378
- {
379
- "id": "free-creative",
380
- "label": "自由创意",
381
- "ink": "#242424",
382
- "canvas": "#f6f6f6",
383
- "surface": "#ffffff",
384
- "border": "#cccccc",
385
- "radius": 4,
386
- "height": 36,
387
- "width": 1000,
388
- "padding": 24,
389
- "gap": 20,
390
- "columns": "12",
391
- "intro": "从业务内容自主决定介绍的位置与形态",
392
- "composition": "从任务频率和内容拓扑推导工作区",
393
- "material": "从品牌与使用环境自主决定材质",
394
- "scenario": "不从命名模板选择,必须提交独立推演依据。",
395
- "accent": "#242424",
396
- "mode": "creative"
397
- }
398
- ]
@@ -1,73 +0,0 @@
1
- # 共享主题模板维护规则
2
-
3
- 本目录是 Fast、Plan 和单页设计共用的唯一主题库。先读取索引摘要选型,再按 `templatePath` 读取选中的完整模板。索引路径相对 `yida-design`,不相对 Plan 子技能。Plan 的项目化流程见 [visual-design.md](../../sub_skill/yida-design-plan/references/visual-design.md)。
4
-
5
- ## 文件职责
6
-
7
- - [index.json](index.json) 维护主题 ID、用户可读名称、模板路径和选型摘要,`schemaVersion` 为 `2.0`。
8
- - `<themeId>/design.md` 保存完整 V2 主题模板,是视觉规则和 Token 数值的事实源。
9
- - 每个主题目录统一包含 `design.md`、`app_theme.css`、`form-layout.json` 三个文件;CSS 保留品牌颜色占位,布局文件提供可填入业务字段的组件结构。
10
- - [basic-tokens.json](basic-tokens.json) 保存 70 个全局变量及固定值,作为模板校验依据。
11
- - [validate_design_themes.py](../../scripts/validate_design_themes.py) 校验索引、模板及变量引用。
12
-
13
- 每条索引记录包含以下字段:
14
-
15
- | 字段 | 维护要求 |
16
- | --- | --- |
17
- | `themeId` | 唯一的小写连字符 ID,与模板 frontmatter 和主题目录名一致 |
18
- | `label` | 唯一的用户可读名称 |
19
- | `templatePath` | `templates/design-themes/<themeId>/design.md`,相对公共 `yida-design` 根目录 |
20
- | `cssTemplatePath` | `templates/design-themes/<themeId>/app_theme.css` |
21
- | `formLayoutPath` | `templates/design-themes/<themeId>/form-layout.json` |
22
- | `legacyTemplatePath` | 已迁移主题的原 Markdown 路径,供历史方案读取;新方案使用 `templatePath` |
23
- | `styleSummary` | 以“深色/浅色导航,深色/浅色内容界面。”开头,再从模板“风格摘要”精简约 150–250 字;使用自然语言,避免把 `dark` 误解为纯黑色,同时保留外观、核心差异、偏离风险与真实内容适用条件 |
24
-
25
- 34 个主题入口均采用三文件结构,可通过 `sample yida-design application-style --style-id <themeId>` 导出。一条索引记录对应一个主题目录,所有模板均须登记。修改风格摘要后同步修改索引摘要,不增加原文没有的特征或另一组关键词。`openyida design-plan catalog --json` 返回同一份索引;三种设计入口不得维护平行主题清单。主题不按业务领域或产品形态限制候选资格,具体布局与特色表达由真实内容决定。
26
-
27
- ## V2 模板结构
28
-
29
- Frontmatter 包含 `name`、`description`、`themeId`、`navTheme` 和 `tokens`;`navTheme` 只允许 `light` 或 `dark`,并与主题导航 Token 的实际明暗一致。正文依次包含五个章节:
30
-
31
- 1. 风格摘要
32
- 2. 页面视觉系统
33
- 3. 基础组件表达
34
- 4. 特色表达配方
35
- 5. 项目应用与调整规则
36
-
37
- 特色配方只在页面存在匹配内容时启用,不为套用主题新增业务内容。
38
-
39
- ## Token 契约
40
-
41
- `tokens.application-global` 按 `appearance`(含表面和导航)、`colors`、`typography`、`spacing`、`rounded`、`shadow` 分组,完整定义契约中的 70 个基础变量;这是最小集合,允许按角色补充变量。`tokens.custom-page` 可为空,也可组织跨页面与组件复用的项目扩展变量,包括材质、布局、字体、动效等。两组均写入主题 CSS 的 `:root`,分组不是运行时隔离作用域,变量前缀不限定为 `--oyd-*`。递归读取以 `--` 开头的标量叶子,分组名不拼入 CSS 变量名。
42
-
43
- - 字体与间距使用契约固定值;页面标题使用 subhead,表格正文使用 table。
44
- - 颜色与圆角保留主题差异。Tooltip 固定使用 `#262626` 与 `#FFFFFF`。
45
- - `--color-white` 和 `--pod-table-cell-color` 通过 `var(--pod-card-bg-color)` 继承内容表面;页面桥接 `--oyd-page-bg` 若存在,使用 `var(--pod-page-bg-color)`。
46
- - `design.md` 与 `app_theme.css` 中,`--color-brand1-6` 保留 `{{PRIMARY_COLOR}}`,`--color-brand1-1` 保留品牌悬停色的同源生成占位,其他品牌档位也由主色种子推导。`<生成实际色值:…>` 属于推导指令,项目化时替换为实际 CSS 值。先完成项目 `design.md`,再运行 `sample yida-design app-theme --design-file <design.md> --output <app_theme.css>`;该命令会替换导出 CSS 的占位。
47
- - 变量名在两层及各分组中均唯一;平台基础与项目扩展均在主题中声明,可无环引用,并按实际设计补充变量。声明与正文中的引用必须存在,不得循环引用,不使用后缀缩写或 `*` 通配写法。
48
- - 原生导航选中项阴影统一由 `--pod-nav-menu-item-selected-shadow` 控制;不需要额外标记的主题显式写 `none`,需要标记的主题写完整 `box-shadow` 值。该值不绑定方向:左、右、下强调线分别使用正水平偏移、负水平偏移、负垂直偏移的 `inset` 阴影。公共 CSS 模板负责消费该变量,主题模板不保存平台 DOM 选择器。
49
- - 标量可用双引号、单引号或普通 CSS 文本;数字可以不加引号。不使用 YAML 数组、别名、标签或多行标量。
50
-
51
- ## 项目化占位符
52
-
53
- | 占位符 | 数据来源 |
54
- | --- | --- |
55
- | `{{PROJECT_NAME}}` | 项目名称;Plan 使用 `meta.projectName` |
56
- | `{{PRIMARY_COLOR}}` | 已选项目主色;Plan 使用 `visualStyle.forUser.colorStrategy.primaryColor` |
57
- | `{{COLOR_SOURCE}}` | 主色来源;Plan 使用 `visualStyle.forUser.colorStrategy.source` |
58
- | `{{PAGE_APPLICATIONS}}` | 基于页面事实、主题规则和逐页配方选择生成的项目应用说明 |
59
-
60
- ## 维护与校验
61
-
62
- 新增、修改或删除主题时,同步更新模板与索引,然后从仓库根目录运行:
63
-
64
- ```bash
65
- python3 yida-skills/skills/yida-design/scripts/validate_design_themes.py
66
- npm run check:skills
67
- ```
68
-
69
- 校验器只依赖 Python 3.9+ 标准库;`check:skills` 自动尝试 `python3`、`python`、Windows 的 `py -3`,找不到可用解释器时明确失败,不能跳过。`check:ci` 已包含 `check:skills`。
70
-
71
- `check:skills` 还通过 CLI 的公共主题校验检查 `references/theme/app-custom-theme-template.css`,包括括号、字符串和注释闭合、品牌色阶及受限内容。主题生成测试检查全部主题的 token 位于顶层 `:root`,并保留白色、灰色导航的变量引用与回退链;不能用正则匹配到变量代替作用域验证。
72
-
73
- 校验覆盖索引与模板一一对应、ID 和路径安全、五章节与四个项目占位符、分组变量声明、固定值、同源关系、未知与循环引用。测试使用真实共享库,并以缺失字段、非法路径、固定值漂移和错误引用等坏样例验证错误能被拦截。