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,389 @@
1
+ ---
2
+ name: "{{PROJECT_NAME}}"
3
+ description: "以近白开放画布、无卡片分区、横纵发丝轨道、错位大数值和低饱和阶段条构成宽松、直接且高度秩序化的结构主题。"
4
+ themeId: "hairline-runway-clarity"
5
+ tokens:
6
+ application-global:
7
+ colors:
8
+ "--pod-page-bg-color": "var(--color-white, #fff)"
9
+ "--color-white": "#FFFFFF"
10
+ "--color-brand1-1": "AI 根据 --color-brand1-6 与白色混合生成 10% 品牌色"
11
+ "--color-brand1-2": "AI 根据 --color-brand1-6 与白色混合生成 18% 品牌色"
12
+ "--color-brand1-3": "AI 根据 --color-brand1-6 与白色混合生成 26% 品牌色"
13
+ "--color-brand1-5": "AI 根据 --color-brand1-6 与黑色混合生成 18% 深色"
14
+ "--color-brand1-6": "{{PRIMARY_COLOR}}"
15
+ "--color-brand1-9": "AI 根据 --color-brand1-6 与黑色混合生成 12% 按下色"
16
+ "--color-brand1-10": "AI 根据 --color-brand1-6 与白色混合生成 70% 禁用色"
17
+ "--color-line1-1": "#EEEEEE"
18
+ "--color-line1-2": "#DCDCDC"
19
+ "--color-fill1-1": "#F8F8F8"
20
+ "--color-fill1-2": "#F2F2F2"
21
+ "--color-fill1-3": "#E8E8E8"
22
+ "--color-fill1-10": "rgba(255, 255, 255, 0.98)"
23
+ "--color-text1-4": "#111111"
24
+ "--color-text1-10": "#666666"
25
+ "--color-text1-3": "#929292"
26
+ typography:
27
+ base:
28
+ "--font-family-base": "Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Microsoft YaHei', 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.4
37
+ body-1:
38
+ "--font-size-body-1": 14px
39
+ "--font-weight-body-1": 400
40
+ "--font-lineheight-body-1": 1.5
41
+ table:
42
+ "--font-size-table": 14px
43
+ "--font-weight-table": 400
44
+ "--font-lineheight-table": 1.45
45
+ caption:
46
+ "--font-size-caption": 12px
47
+ "--font-weight-caption": 400
48
+ "--font-lineheight-caption": 1.4
49
+ spacing:
50
+ "--s-1": 4px
51
+ "--s-2": 8px
52
+ "--s-3": 12px
53
+ "--s-4": 16px
54
+ "--s-6": 24px
55
+ "--s-8": 32px
56
+ rounded:
57
+ "--corner-zero": 0px
58
+ "--corner-1": 3px
59
+ "--corner-2": 6px
60
+ "--corner-3": 10px
61
+ "--corner-4": 14px
62
+ "--corner-5": 18px
63
+ "--corner-circle": 50%
64
+ "--corner-semicircle": 500px
65
+ custom-page:
66
+ colors:
67
+ "--oyd-series-strong": "#2477D4"
68
+ "--oyd-series-soft": "#A9D8F5"
69
+ "--oyd-category-1": "#6F8BFF"
70
+ "--oyd-category-2": "#74D4F3"
71
+ "--oyd-category-3": "#B895EE"
72
+ "--oyd-category-4": "#A5D9D2"
73
+ typography:
74
+ metric-primary:
75
+ "--font-size-metric-primary": 30px
76
+ "--font-weight-metric-primary": 600
77
+ "--font-lineheight-metric-primary": 1.2
78
+ metric-hero:
79
+ "--font-size-metric-hero": 42px
80
+ "--font-weight-metric-hero": 500
81
+ "--font-lineheight-metric-hero": 1.15
82
+ ---
83
+
84
+ # {{PROJECT_NAME}} design.md
85
+
86
+ ## 设计总览
87
+
88
+ - 业务领域:{{BUSINESS_DOMAIN}}
89
+ - 产品形态:{{EXPERIENCE_TOPOLOGY}}
90
+ - 主题来源:{{THEME_SOURCE}}
91
+ - 项目约束:{{PROJECT_CONSTRAINTS}}
92
+
93
+ 本主题把页面视为一张连续的近白信息画布,不依赖常规卡片堆叠。一级区域由贯穿宽度的 1px 发丝横线划分;同层摘要用竖向发丝线分栏;核心数据通过左侧超大数值锚与右侧淡化双层柱带形成不对称焦点;阶段或类别信息使用低饱和跑道条;明细则以文本标签、下划线选中态和轻量表格承接。页面整体留白宽松但数据密度中等,主题色仅用于主操作、焦点与选中,图表序列和等权类别色保持独立角色。布局通过统一分区内边距、固定可视高度和内部溢出维持稳定。
94
+
95
+ ### 风格定位与应用说明
96
+
97
+ - 核心气质是开放、直接、平面且具有编辑式秩序;当真实内容同时包含摘要、一个主视觉量值、阶段分组与结构化明细时最能展现记忆点,但这不是页面类型限制。
98
+ - 所有页面共享本主题的全应用 Token 和基础组件语言;逐页视觉应用根据项目实际页面、页面模式和真实内容生成,视觉记忆点仅在满足内容契约时使用。
99
+ - 迁移时保留连续画布、发丝分区、错位数据锚、淡化双层柱、阶段跑道和下划线筛选,不复制具体字段、数值、状态、对象或模块次序。
100
+ - 内容不匹配时只迁移平面表面、分隔、排版、间距与交互;无合法承载的视觉组件降级为 `recipe_only`,需要新增能力时使用 `suggest_only`。
101
+
102
+ ### 视觉 DNA
103
+
104
+ | 设计母体 | 可见证据与置信度 | 复用规则与实现钩子 | 缺失后的失败表现 |
105
+ | --- | --- | --- | --- |
106
+ | 连续画布发丝分区 | 一级内容直接落在统一近白画布上,区域之间由贯穿宽度的细横线划分,几乎没有外卡框。`observed`,高置信度 | 连续表面、整行分隔和统一水平内边距不可变;分区数量与内容由 PRD 决定。使用 section border 与父级 padding | 退化为常规圆角卡片墙,开放感和整体节奏消失 |
107
+ | 竖轨摘要带 | 同层摘要并排放置,以短竖线分隔,标签、数值与比较信息共享三条水平基线。`observed`,高置信度 | 无外框、内部竖线、同高三段基线不可变;摘要数量和内容可变。使用 grid 与 `border-inline-start` | 退化为浮动 KPI 卡片,平面编辑式语言被破坏 |
108
+ | 错位数据锚与淡化双层柱 | 左侧用超大数值建立锚点,右侧柱带由低透明全高柱与底部实色短柱叠加,浮层悬于数据上方。`observed`,高置信度 | 左右不对称、双层柱和白色浮层不可变;时间范围、序列和值可变。使用主辅 grid、absolute 双柱与 portal tooltip | 变成普通柱图面板,主数值与趋势之间失去张力 |
109
+ | 阶段跑道组 | 多个阶段横向并列,每项先显示细色标、名称与数值,再以低饱和圆角长条压住底部。`observed`,高置信度 | 顶部元信息+底部长跑道的两层结构不可变;阶段数、比例、标签与分类色可变。使用等分 grid 和固定轨高 | 退化为默认进度条列表,缺少横向推进节奏 |
110
+ | 下划线筛选账册 | 文本型筛选项位于表格上方,激活项以短黑线压底;搜索与导出贴右,明细行无卡片化。`observed`,高置信度 | 文本标签、底部选中线、右侧工具和轻表格不可变;标签、列和操作由 PRD 决定。使用 tablist 与语义 table | 退化为胶囊标签和卡片行,轻量连续性消失 |
111
+
112
+ ### 视觉记忆点应用策略
113
+
114
+ | 视觉记忆组件或构图 | 内容契约 | 落地策略 | 可迁移机制与适配目标 | 无匹配内容时 |
115
+ | --- | --- | --- | --- | --- |
116
+ | 连续画布发丝分区 | `content_contract`: 页面存在两个以上可按阅读顺序独立分组的真实内容区 | `render_policy: adapt_existing_slot`;`direct_trigger`: 已有一级内容区块 | `transferable_mechanism`: 统一表面、整行发丝线、共享水平内边距;`adaptation_targets`: 页面现有 section、`primary_content_panel`、`detail_table` | `fallback`: 保留 PRD 原结构但迁移表面语言;`forbidden`: 为制造分区新增模块 |
117
+ | 竖轨摘要带 | `content_contract`: 存在 2-4 个同层级摘要值及可选比较信息 | `render_policy: prd_match_only`;`direct_trigger`: 同屏摘要集合 | `transferable_mechanism`: 无外框等分栏、内部竖线、三段基线;`adaptation_targets`: `primary_metrics` | `fallback`: 显示已有摘要但不强制并排;`forbidden`: 凑数新增指标或比较基准 |
118
+ | 错位数据锚与淡化双层柱 | `content_contract`: 存在一个总量锚点和两条可按同一横轴比较的真实序列 | `render_policy: prd_match_only`;`direct_trigger`: 总量与配对时序数据同时存在 | `transferable_mechanism`: 左侧大数值、右侧双层柱、浮层与轻轴;`adaptation_targets`: `primary_content_panel`、已有趋势槽位 | `fallback`: 仅显示真实总量或单序列图;`forbidden`: 推算第二序列、时间轴或总量 |
119
+ | 阶段跑道组 | `content_contract`: 存在 2-5 个有顺序或同层比较关系的阶段/类别及量值 | `render_policy: adapt_existing_slot`;`direct_trigger`: 真实阶段或类别集合 | `transferable_mechanism`: 元信息顶排、细色标、底部长跑道;`adaptation_targets`: 状态摘要、分组进度、流程概览 | `fallback`: 使用普通分组列表;`forbidden`: 为保持跑道数量创造阶段或百分比 |
120
+ | 下划线筛选账册 | `content_contract`: 存在可筛选的结构化记录和至少两个真实筛选维度 | `render_policy: prd_match_only`;`direct_trigger`: 筛选集合与记录列表同时存在 | `transferable_mechanism`: 文本 tab、短下划线、贴右工具、轻表格;`adaptation_targets`: `detail_table`、已有数据列表 | `fallback`: 保留原筛选和列表;`forbidden`: 新增筛选、字段、记录或导出能力 |
121
+
122
+ - 先匹配 `content_contract`,再决定是否渲染组件本体;不能为了保留视觉记忆点而新增 PRD 未要求的字段、数据、入口、对象或流程。
123
+ - 每页优先清楚落地 1-3 个与 PRD 匹配的主记忆点,不要求全部组件同时出现。
124
+ - 无合法业务承载时保留为 `recipe_only`;若需要新增业务能力则使用 `suggest_only`,不进入默认实现。
125
+
126
+ ### 设计变量范围
127
+
128
+ `tokens.application-global` 是原生表单、流程页面和自定义页面共同遵守的全应用设计契约;本主题使用高对比文字、极轻边界、紧凑圆角与宽松区块间距形成平面秩序。`tokens.custom-page` 只补充近白连续画布、两枚独立数据序列色、四枚等权阶段色和两级指标数字:序列色与阶段色用于真实数据编码而非主题或状态;两级指标数字是全局字体体系没有的大数值语义,因此不与全局 Token 重复。
129
+
130
+ ## 色彩
131
+
132
+ - 色彩来源:{{COLOR_SOURCE}}
133
+ - 颜色 Token 的名称和值以文档顶部 YAML 的 `tokens` 为唯一事实源;AI 可以根据主题调整色值,不改变宜搭应用全局变量名。
134
+ - 页面使用 `--pod-page-bg-color` 作为连续画布,必要浮层与控件使用 `--color-white`;区域层级依靠 `line1` 发丝线,而不是卡片背景或阴影。
135
+
136
+ ### 设计变量消费规则
137
+
138
+ | 固定消费语义 | 消费 Token | 作用域 |
139
+ | --- | --- | --- |
140
+ | 主题色交互元素悬停 | `--color-brand1-1` | 应用全局 |
141
+ | 平台预留品牌浅色 | `--color-brand1-2` | 应用全局 |
142
+ | 浅色导航框架背景 | `--color-brand1-3` | 应用全局 |
143
+ | 深色导航框架背景 | `--color-brand1-5` | 应用全局 |
144
+ | 主按钮、关键焦点、链接和选中强调 | `--color-brand1-6` | 应用全局 |
145
+ | 主题色交互元素激活或按下 | `--color-brand1-9` | 应用全局 |
146
+ | 主题色交互元素禁用 | `--color-brand1-10` | 应用全局 |
147
+ | 全宽分区线、表格行线与轻辅助线 | `--color-line1-1` | 应用全局 |
148
+ | 控件与浮层常规边界 | `--color-line1-2` | 应用全局 |
149
+ | 悬停、弱标签和淡化表头 | `--color-fill1-1` | 应用全局 |
150
+ | 中性选中底与按下填充 | `--color-fill1-2` | 应用全局 |
151
+ | 禁用轨道与骨架占位 | `--color-fill1-3` | 应用全局 |
152
+ | tooltip、popover 和菜单表面 | `--color-fill1-10` | 应用全局 |
153
+ | 标题、核心数值、正文与主要图标 | `--color-text1-4` | 应用全局 |
154
+ | 表头、输入占位和次级标签 | `--color-text1-10` | 应用全局 |
155
+ | 时间、说明、坐标和比较基准 | `--color-text1-3` | 应用全局 |
156
+ | 连续近白页面画布 | `--pod-page-bg-color` | 自定义页 |
157
+ | 双层柱的强、弱配对序列 | `--oyd-series-strong`、`--oyd-series-soft` | 自定义页 |
158
+ | 阶段跑道与对应细色标 | `--oyd-category-1` 至 `--oyd-category-4` | 自定义页 |
159
+
160
+ `--color-brand1-6` 是唯一品牌色种子。最终项目实例化时必须把其余六枚 Brand Token 的生成期标记解析为实际色值;没有品牌色时使用中等明度、满足对比的暖色作为主操作锚点。换色后至少 90% 的画布、文字、分隔与表格保持中性,独立数据色不参与主题同色推演。
161
+
162
+ ### 本主题的配色约束
163
+
164
+ - `--color-white`、所有 `line1`、`fill1`、`text1` 均为 `neutral-gray`;固定 Hex 的 RGB 三通道相等。
165
+ - 本主题不声明固定偏色灰或 `theme-gray`;主题色的浅深变化全部由七枚 Brand Token 承担,并在实例化时写入实际值。
166
+ - `--oyd-series-strong` 与 `--oyd-series-soft` 是一组具有强弱关系的独立数据序列色,仅用于真实配对序列;弱序列允许 22%-36% 透明度,强序列保持实色。
167
+ - `--oyd-category-1` 至 `--oyd-category-4` 为等权独立分类色,只用于阶段跑道、细色标和必要图例;单屏每种色面积不超过 8%。
168
+ - 主题色只用于主操作、焦点、链接和选中状态;成功、警告、错误和信息状态直接消费平台语义色,并配合文字、图标或方向符号。
169
+
170
+ ## 字体与排版
171
+
172
+ - 全局只使用 `tokens.application-global.typography.base` 的字体栈。
173
+ - `page-title` 使用 `tokens.application-global.typography.subhead`:24px / 600 / 1.3;普通页面不引入展示型标题。
174
+ - `panel-title` 使用 `tokens.application-global.typography.body-2`:16px / 600 / 1.4;用于分区标题与重点标签。
175
+ - `content-title` 和正文使用 `tokens.application-global.typography.body-1`:14px / 400 / 1.5;内容标题只提高字重到 600。
176
+ - 表格使用 `tokens.application-global.typography.table`:14px / 400 / 1.45;表头使用同字号、500 字重。
177
+ - 辅助说明使用 `tokens.application-global.typography.caption`:12px / 400 / 1.4。
178
+ - 常规摘要使用 `tokens.custom-page.typography.metric-primary`:30px / 600 / 1.2;主视觉总值使用 `metric-hero`:42px / 500 / 1.15。二者都是全局排版未覆盖的数据语义,不得用于页面标题。
179
+ - 数值使用 `font-variant-numeric: tabular-nums`;小数的次要部分可使用 `--color-text1-3`,但保持同一字号和基线。
180
+ - 标题单行省略;副标题最多两行;表格长文本单行省略并通过 tooltip 或详情操作提供完整信息。
181
+ - 图标为 1.75px 线性描边、圆角端点;常规 18px、强调 20px,与文字首行光学居中。
182
+
183
+ ## 布局与间距
184
+
185
+ - 页面水平安全边距使用 `--s-8`,垂直区块内边距使用 `--s-6` 至 `--s-8`;小组 gap 用 `--s-4`,行内元素 gap 用 `--s-2` 或 `--s-3`。
186
+ - 最大内容宽度建议 1760px;一级分区共享相同左右边线,使用 `width:100%`,不在每个区块外再套卡。
187
+ - 同层摘要契约满足时使用 2-4 个等分单元,以内部竖线分隔;数量变化时重新等分,不保留空列。
188
+ - 主视觉总值与时序数据同时存在时,桌面使用约 `28% / 72%` 不对称分栏;契约不成立时按 PRD 原内容模式组织。
189
+ - 页面标题、全局操作、摘要、主视觉、阶段组、筛选和明细是否出现及顺序由 PRD 决定。
190
+
191
+ ### 布局稳定性硬规则
192
+
193
+ - 桌面主网格使用 `align-items:stretch`;内容容器统一 `min-width:0; min-height:0`,需要面板语义时使用 `height:100%; display:flex; flex-direction:column`。
194
+ - `metric_card` 在本主题表现为无外框摘要单元,建议高 120-148px;错位数据锚主视觉建议高 360-440px;`chart_panel` 固定高 280-340px;`detail_panel` 建议高 260-360px;可选 `quick_action_item` 高 64-80px。
195
+ - 图表、表格和列表在分区内部滚动或分页;图表容器确定高度,表头可 sticky,长文本截断,不得撑破连续画布。
196
+ - 区块节奏由 section padding 和父级 gap 管理,不用零散外边距拼接。
197
+ - ≥1280px:摘要 3-4 列,数据锚与图表按 28/72 布局,阶段跑道 3-5 列;960-1279px:摘要 2 列,数据锚与图表改为 34/66 或按契约上下堆叠;<960px:全部单列,数据锚位于图表前,阶段跑道两列。
198
+ - <640px:阶段跑道单列;筛选 tab 横向滚动,搜索与操作另起一行;表格在内部横向滚动,不强制转卡片;触控目标最小 40×40px。
199
+ - 移动端可解除桌面等高,但沿用同一内容契约、控件高度、下划线选中、文本截断和内部溢出策略。
200
+
201
+ ## 表面与层级
202
+
203
+ - 页面使用连续 `--pod-page-bg-color`,一级分区不设卡片边框、圆角或阴影;上下只使用 1px `--color-line1-1` 发丝分隔。
204
+ - 控件和 tooltip 是少数独立表面:白底、1px `--color-line1-2`、`--corner-3`;tooltip 可使用 `0 8px 24px rgba(0,0,0,.08)`。
205
+ - 表格表头保持透明或极浅填充,数据行无独立表面;状态标签和头像使用局部轮廓,不形成卡片层。
206
+ - 禁止大面积渐变、玻璃模糊、投影卡阵列和多层嵌套边框;低饱和跑道条允许轻微同色明度渐变。
207
+ - 同一分区内部优先用留白、对齐和发丝线分层,嵌套轮廓最多一层。
208
+
209
+ ## 圆角与形状
210
+
211
+ - `--corner-1` 3px:图例色块、细标记和微型柱。
212
+ - `--corner-2` 6px:表格头像、复选框和紧凑行内状态。
213
+ - `--corner-3` 10px:输入框、按钮、选择器和 tooltip。
214
+ - `--corner-4` 14px:少量独立浮层和提示容器。
215
+ - `--corner-5` 18px:仅用于需要强独立性的弹窗或大浮层,不用于一级分区。
216
+ - `--corner-circle` 用于头像与圆点;`--corner-semicircle` 用于状态标签、阶段跑道和文本选中指示器。
217
+ - 一级分区保持直角连续表面;禁止给每个 section 随机添加大圆角。
218
+
219
+ ## 组件
220
+
221
+ ### 按钮与操作
222
+
223
+ - 迷你或行内按钮 28px、紧凑工具栏按钮 32px、常规按钮 36px、强调或宽松按钮 40px;图标按钮使用对应正方形档位。
224
+ - 主按钮使用 `--color-brand1-6` 与白字,可采用直角感较强的 `--corner-2` 或 `--corner-3`;次按钮白底、常规边界和一级文字。同一操作区只保留一个视觉主操作。
225
+ - hover 使用 `--color-brand1-1` 或 `--color-fill1-1`;active 使用 `--color-brand1-9` 或 `--color-fill1-2`;focus 显示 2px 主题色外环并留 2px 间隔。
226
+ - disabled 保留边界与可读文字,使用禁用色或中性填充,不只降低透明度;图标与文字间距 8px。
227
+
228
+ ### 输入与筛选控件
229
+
230
+ - 紧凑工具栏 32px、常规表单 36px、宽松搜索与选择器 40px;不得出现其他高度。
231
+ - 控件使用白底、1px `--color-line1-2`、`--corner-3`,placeholder 使用 `--color-text1-10`。
232
+ - focus 通过 2px 外环表达,不改变控件尺寸;error 同时显示平台错误色边界、图标和说明文字。
233
+ - 筛选 tab 优先文本型并以底部 2px 选中线表达;不要默认改为胶囊按钮组。
234
+
235
+ ### 卡片与面板
236
+
237
+ - 一级内容不做卡片,直接成为连续画布中的 section;内边距 24-32px,上下用发丝线分隔。
238
+ - 只有 tooltip、popover、modal 或强独立嵌套内容才使用白底、10-18px 圆角和局部阴影。
239
+ - 标题区与内容区间隔 16-24px;不能把每段内容、每个指标或每行记录都包成卡。
240
+
241
+ ### 连续画布发丝分区
242
+
243
+ - `content_contract`: 两个以上真实一级内容区;`render_policy: adapt_existing_slot`。
244
+ - 每个 section 使用统一水平内边距,上下边界为 1px `--color-line1-1`;相邻 section 共享边界,避免双线。
245
+ - 标题、工具和内容共用同一左边线;内部用 16-32px 留白分组,不再叠加外卡框。
246
+ - hover 不作用于整个 section;不可替换成圆角投影面板阵列。
247
+
248
+ ### 竖轨摘要带
249
+
250
+ - `content_contract`: 2-4 个同层级摘要及可选比较值;`render_policy: prd_match_only`。
251
+ - 无外框等分 grid,每个单元高 120-148px;除首项外使用 1px 竖线分隔,左右内边距 24-32px。
252
+ - 采用“标签 / `metric-primary` 数值 / 趋势+基准”三段基线;趋势必须使用平台语义色、方向图标和文字。
253
+ - 单元 hover 只改变局部文字或弱底,不生成卡片阴影;不可拆成独立悬浮卡。
254
+
255
+ ### 错位数据锚与淡化双层柱
256
+
257
+ - `content_contract`: 一个真实总量和两条共享横轴的真实序列;`render_policy: prd_match_only`。
258
+ - 外层使用约 28/72 grid;左侧大数值靠近底部基线,右侧柱带占据固定 280-340px 高度。
259
+ - 每个横轴位置叠放一根低透明全高柱和一根实色底部短柱,宽 10-14px,gap 10-16px;弱序列在后、强序列在前。
260
+ - tooltip 为白底局部浮层,显示时间键、图例色标和右对齐值;位置不遮挡选中柱,键盘聚焦可触发。
261
+ - 不可替换成常规卡片柱图、饼图或面积图;只有单序列时保留大数值锚并降级为单层柱。
262
+
263
+ ### 阶段跑道组
264
+
265
+ - `content_contract`: 2-5 个有顺序或可并列比较的真实阶段/类别;`render_policy: adapt_existing_slot`。
266
+ - 每项由细竖色标、名称、主值、辅助比例和底部 16-20px 高跑道组成;元信息与跑道间距 12px。
267
+ - 跑道使用对应独立分类色的低饱和同色渐变,端部圆角 4-6px;同一行所有跑道等高且铺满各自列宽。
268
+ - 状态与阶段必须有文字,不只靠颜色;不可替换为竖向柱、默认进度条或彩色卡片。
269
+
270
+ ### 下划线筛选账册
271
+
272
+ - `content_contract`: 可筛选结构化记录;`render_policy: prd_match_only`。
273
+ - tablist 高 48px,项目使用文本标签和 0 背景;选中项以 2px `--color-text1-4` 下划线、600 字重和 `aria-selected` 表达。
274
+ - 搜索与次操作贴右并与 tab 基线对齐;表头高 48px,数据行高 56-60px,只画横向弱分隔。
275
+ - 首列可包含复选框、28px 中性头像和名称;状态使用细描边胶囊+图标/文字;数字右对齐。
276
+ - 表体内部滚动、表头 sticky、长文本省略;不可把 tab 改成彩色胶囊或把数据行做成卡片。
277
+
278
+ ### 图表或主内容面板
279
+
280
+ - 图表必须由 PRD 的真实数据触发;本主题优先使用低饱和双层柱、极少轴线、简洁图例和白色 tooltip。
281
+ - 图表固定高 280-340px;弱基线使用 `--color-line1-1`,轴与说明使用 `--color-text1-3`,配对序列使用 `--oyd-series-strong` 与 `--oyd-series-soft`。
282
+ - 没有配对序列时使用单序列并保留留白和轻轴;没有图表契约时用表格、列表、表单或详情承载主内容。
283
+
284
+ ### 表格与列表
285
+
286
+ - 表头 48px、数据行 56-60px;仅使用横向 `--color-line1-1`,不画纵向网格,不为整表加圆角卡壳。
287
+ - 行 hover 使用 `--color-fill1-1`,selected 使用 `--color-brand1-3` 并保留选择控件;状态同时使用文字或图标。
288
+ - 头像或缩略图仅在 PRD 提供真实素材时出现,建议 28-32px;尾部操作使用 28px 图标按钮并提供可访问名称。
289
+ - 数字等宽、长文本省略、表体内部滚动;加载骨架与真实行同高,避免列宽跳动。
290
+
291
+ ### 快捷入口(推断)
292
+
293
+ - 未形成独立快捷入口母体,因此不默认生成。若 PRD 明确存在 `quick_actions`,仅保留 `inferred / render_policy: recipe_only` 配方:在连续 section 中以文本操作或 40px 描边按钮排列,不创建彩色宫格。
294
+ - 数量建议 2-4 个;移动端单列或横向滚动;禁止为填充布局新增操作。
295
+
296
+ ### 状态与交互
297
+
298
+ - 悬停:文字、下划线或弱背景在 120-160ms 内变化,不产生卡片抬升。
299
+ - 按下:使用品牌按下色或中性点击底,可 `translateY(1px)`,不改变占位。
300
+ - 聚焦:控件显示 2px 高对比 focus ring;tab、图表数据点和纯图标按钮均可键盘访问并有可访问名称。
301
+ - 加载:保持 section、图表和表格高度;双层柱、跑道和行使用稳定骨架,避免全宽布局跳动。
302
+ - 空态与错误:保留标题、工具和区域边线,提供简短说明与下一步操作,不新增整卡状态背景。
303
+ - 禁用与选中:保留轮廓、文字和状态标记;选中不只依赖颜色,tab 同时使用下划线和字重。
304
+ - 动效:颜色与边线 120-180ms,tooltip 160-220ms;`prefers-reduced-motion` 下取消位移和柱高补间。
305
+
306
+ ## 项目应用
307
+
308
+ ### 项目上下文与主题应用
309
+
310
+ - 当前产品形态:{{EXPERIENCE_TOPOLOGY}}
311
+ - 主题在当前项目中的应用说明:{{PRODUCT_TOPOLOGY_APPLICATION}}
312
+
313
+ 产品形态只提供任务和内容上下文,不决定主题资格。原生页面和自定义页面共同继承全应用文字、边界、间距、圆角和交互;自定义页仅在内容契约成立时采用连续发丝分区、竖轨摘要、错位数据锚、阶段跑道或下划线账册。
314
+
315
+ ### 页面模式
316
+
317
+ {{PAGE_PATTERN_SUMMARY}}
318
+
319
+ 页面模式决定任务、内容和模块;本主题只规定视觉承载。单列、列表、表单、详情、流程或其他真实结构均应保留,不能为了代表构图创建不存在的内容。
320
+
321
+ ### 逐页视觉应用
322
+
323
+ {{PAGE_APPLICATIONS}}
324
+
325
+ 实例化时仅展开项目真实存在的页面。每页说明 `page_identity`、`global_actions`、`primary_metrics`、`primary_content_panel`、`supporting_panel`、`detail_table` 或 `detail_list` 等真实槽位的位置、跨度、建议高度、移动端顺序和采用的 1-3 个视觉 DNA;未匹配的母体不渲染。
326
+
327
+ ### 素材要求
328
+
329
+ - 页面图片需求:{{PAGE_IMAGE_NEEDS}}
330
+ - 素材缺口:{{ASSET_GAPS}}
331
+ - 图片、图表、缩略图和辅助图形必须有真实来源;没有素材时使用结构化数据或中性占位,不编造对象、指标、状态、记录或图片地址。
332
+
333
+ ## 设计规范与禁忌
334
+
335
+ ### 必须做到
336
+
337
+ - 无条件保护连续近白画布、贯穿发丝线、共享左右边线、宽松区块留白和小面积主题焦点。
338
+ - 摘要契约成立时保护无外框等分栏、内部竖线和三段数据基线。
339
+ - 配对时序契约成立时保护左侧大数值锚、右侧双层柱、轻轴与白色 tooltip。
340
+ - 阶段契约成立时保护细色标、顶部元信息与底部长跑道;筛选账册契约成立时保护文本 tab、下划线选中和轻表格。
341
+ - 保护父级拉伸、固定图表高度、面板内部溢出、完整状态、响应式和可访问性。
342
+
343
+ ### 禁止项
344
+
345
+ - 禁止复制视觉材料中的业务内容,或让主题文件覆盖 PRD 的字段、模块、数据和优先级。
346
+ - 禁止把主题色铺满背景、普通 section 或表格行;禁止把独立图表色和阶段色当作主题身份。
347
+ - 禁止把固定摘要列数、28/72 图表比例、阶段数或模块顺序写成所有页面硬规则。
348
+ - 禁止给每个一级区块加圆角卡、阴影和独立背景,或把竖轨摘要拆成悬浮卡片。
349
+ - 禁止把双层柱替换成默认柱图,把阶段跑道变成通用进度条,把下划线 tab 改成彩色胶囊。
350
+ - 禁止瀑布流、自由高度同类区块、`align-items:start`、无固定高度图表、长内容撑破父级和零散 margin 拼接。
351
+ - 禁止默认后台卡片墙、玻璃模糊、重投影、大面积装饰渐变和组件库默认样式漂移。
352
+
353
+ ### 错误与正确
354
+
355
+ - 错误:每个 section 都是一张圆角投影卡;正确:一级内容共享连续画布,仅以全宽发丝线划分。
356
+ - 错误:摘要各自悬浮;正确:摘要无外框等分,并以短竖线和三段基线建立秩序。
357
+ - 错误:主数值塞进图表标题栏;正确:左侧建立独立大数值锚,右侧保留淡化双层柱和轻轴。
358
+ - 错误:阶段只显示普通进度条;正确:使用细色标、名称、主值、辅助值和底部长跑道组成完整单元。
359
+ - 错误:筛选使用高饱和胶囊;正确:使用文本标签、短下划线和贴右工具连接轻表格。
360
+ - 错误:所有页面强制使用代表性结构;正确:内容契约成立时使用对应母体,否则保留 PRD 页面模式。
361
+ - 错误:主题色铺满页面;正确:主题色只连接主操作、焦点和选中,大部分画布保持中性。
362
+ - 错误:同类内容随高度自由生长;正确:桌面网格拉伸,图表定高,长内容在内部滚动或截断。
363
+ - 错误:快捷入口使用彩色宫格;正确:仅在 PRD 触发时以连续 section 内的文本或描边操作呈现。
364
+
365
+ ### AI 使用提示
366
+
367
+ 先读取 PRD,再解析 `{{PRIMARY_COLOR}}` 并生成七枚实际 Brand Token。所有真实页面先继承全应用 Token 与基础组件语言,再按内容契约选择连续发丝分区、竖轨摘要、错位数据锚与淡化双层柱、阶段跑道或下划线筛选账册。代表构图只是视觉配方,不用于创造字段、指标、序列、阶段、筛选、记录或操作;主题色只替换交互色相,不改变连续画布、平面层级、错位构图、留白、形状和发丝轨道。字号与控件尺寸按平台 Token 范围推断,不把图片物理像素当作 CSS 像素。
368
+
369
+ ### 交付自检
370
+
371
+ - [ ] 全部页面内容、字段和模块是否来自 PRD,而非模板来源?
372
+ - [ ] 一级内容是否共享连续画布,并以贯穿发丝线而非卡片墙分区?
373
+ - [ ] 摘要是否在契约成立时保持无外框等分、内部竖线和三段基线?
374
+ - [ ] 主视觉是否在契约成立时保持大数值锚、淡化双层柱、轻轴和白色 tooltip?
375
+ - [ ] 阶段跑道是否保留细色标、顶部元信息、等高长条和非纯颜色标识?
376
+ - [ ] 筛选账册是否保留文本 tab、短下划线、贴右工具和无卡片数据行?
377
+ - [ ] 每个视觉组件及不对称布局是否都有 `content_contract`、`render_policy`、适配目标、回退与禁止项?
378
+ - [ ] 未被 PRD 触发的母体是否没有强行渲染,且未新增业务能力或假数据?
379
+ - [ ] 主操作、焦点和选中是否共享 `--color-brand1-6`,其余画布是否保持中性?
380
+ - [ ] 数据序列色和阶段分类色是否仅用于真实等权类别,平台状态色是否未重复定义?
381
+ - [ ] 所有固定灰色是否为三通道相等的 `neutral-gray`,且没有未声明偏色灰?
382
+ - [ ] `application-global` 语义是否稳定,`custom-page` 是否没有同值同义或角色重复 Token?
383
+ - [ ] 文字对比是否保持 `text1-4` 高于 `text1-10`、`text1-10` 高于 `text1-3`?
384
+ - [ ] `themeId`、描述、DNA、组件标题和正文总结是否与默认色相及页面类型解耦?
385
+ - [ ] 同类区块是否等高、网格是否拉伸、图表是否定高、长内容是否在内部处理?
386
+ - [ ] hover、active、focus、loading、empty、error、disabled、selected 是否完整且不引起布局跳动?
387
+ - [ ] 三档以上响应式规则、移动端触控、键盘访问、非纯颜色状态与 reduced motion 是否达标?
388
+ - [ ] `{{PAGE_APPLICATIONS}}` 是否只展开项目真实存在页面,没有枚举不存在的页面?
389
+ - [ ] 最终项目实例化时是否替换全部占位符并把七枚 Brand Token 写为实际色值?