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.
- package/README.md +14 -20
- package/bin/yida.js +6 -11
- package/lib/app/app-list.js +3 -7
- package/lib/app/canvas-compile.js +12 -22
- package/lib/app/check-prd-completeness.js +0 -7
- package/lib/app/create-app.js +1 -4
- package/lib/app/create-form/args.js +12 -37
- package/lib/app/create-form/batch.js +11 -86
- package/lib/app/create-form.js +86 -193
- package/lib/app/create-page.js +17 -84
- package/lib/app/custom-theme.js +0 -11
- package/lib/app/form-field-validator.js +41 -26
- package/lib/app/form-open-guard.js +10 -97
- package/lib/app/get-form-config.js +0 -1
- package/lib/app/inline-css-guard.js +31 -1
- package/lib/app/services/form-compiler.js +4 -2
- package/lib/app/theme-from-design.js +41 -144
- package/lib/app/theme-presets.js +1 -1
- package/lib/app/update-app.js +13 -63
- package/lib/asset/ai-image.js +9 -59
- package/lib/asset/asset-cmd.js +7 -18
- package/lib/asset/asset-plan.js +9 -102
- package/lib/asset/asset-resolve.js +10 -55
- package/lib/asset/asset-status.js +4 -5
- package/lib/asset/host-capabilities.js +2 -11
- package/lib/asset/url-verify.js +4 -19
- package/lib/auth/dws-sync.js +145 -0
- package/lib/auth/token-auth.js +73 -9
- package/lib/auth/token-store.js +50 -0
- package/lib/connector/connector-test.js +5 -19
- package/lib/connector/contract.js +1 -3
- package/lib/core/agent-capabilities.js +16 -19
- package/lib/core/command-manifest.js +40 -329
- package/lib/core/locales/en.js +17 -74
- package/lib/core/locales/zh.js +16 -73
- package/lib/core/redact.js +10 -15
- package/lib/core/sample.js +30 -72
- package/lib/core/utils.js +4 -0
- package/lib/design-plan/design-plan.js +4 -51
- package/lib/design-plan/init.js +26 -121
- package/lib/design-plan/materialize.js +348 -451
- package/lib/design-plan/normalize.js +29 -74
- package/lib/design-plan/parallel.js +16 -71
- package/lib/design-plan/patch.js +16 -63
- package/lib/design-plan/preview.js +8 -6
- package/lib/design-plan/validate.js +11 -71
- package/lib/process/create-process.js +50 -84
- package/lib/samples/openyida-scaffold/canvas-form-drawer.canvas.jsx +90 -20
- package/lib/samples/openyida-scaffold/canvas-nav/content.jsx +13 -93
- package/lib/samples/openyida-scaffold/canvas-nav/data.jsx +18 -100
- package/lib/samples/openyida-scaffold/canvas-nav/mixed.jsx +4 -6
- package/lib/samples/openyida-scaffold/canvas-nav/shared.jsx +5 -5
- package/lib/samples/openyida-scaffold/canvas-nav/side.jsx +2 -1
- package/lib/samples/openyida-scaffold/canvas-nav/sidebar.jsx +1 -1
- package/lib/samples/openyida-scaffold/canvas-nav/top.jsx +9 -15
- package/lib/samples/yida-canvas-table-form/table-form-batch-submit.canvas.jsx +83 -9
- package/lib/samples/yida-rechart/trend-combo.canvas.jsx +87 -14
- package/package.json +1 -3
- package/scripts/postinstall.js +3 -3
- package/yida-skills/SKILL.md +16 -19
- package/yida-skills/references/official-example-schema-patterns.md +1 -1
- package/yida-skills/references/yida-api.md +0 -4
- package/yida-skills/skills/yida-app/SKILL.md +23 -46
- package/yida-skills/skills/yida-app/workflow/parallel-work.md +6 -15
- package/yida-skills/skills/yida-app/workflow/plan/step-1-understand.md +1 -1
- package/yida-skills/skills/yida-app/workflow/plan/step-2-confirm.md +1 -1
- package/yida-skills/skills/yida-app/workflow/plan/step-4-deliver.md +15 -29
- package/yida-skills/skills/yida-app/workflow/plan/workflow.md +11 -29
- package/yida-skills/skills/yida-app/workflow/step-1-resource-context.md +2 -4
- package/yida-skills/skills/yida-app/workflow/step-2-design.md +9 -23
- package/yida-skills/skills/yida-app/workflow/step-3-create-or-reuse-app.md +4 -6
- package/yida-skills/skills/yida-app/workflow/step-4-forms-processes.md +4 -15
- package/yida-skills/skills/yida-app/workflow/step-6-main-page.md +4 -6
- package/yida-skills/skills/yida-app/workflow/step-7-page-code.md +9 -15
- package/yida-skills/skills/yida-app/workflow/step-8-publish-navigation.md +11 -25
- package/yida-skills/skills/yida-app/workflow/step-9-output-finish.md +28 -68
- package/yida-skills/skills/yida-canvas-custom-page/SKILL.md +43 -42
- package/yida-skills/skills/yida-canvas-custom-page/references/canvas-style-implementation-guide.md +44 -60
- package/yida-skills/skills/yida-canvas-custom-page/references/canvas-theme-provider.md +50 -72
- package/yida-skills/skills/yida-canvas-custom-page/references/component-library-guide.md +1 -13
- package/yida-skills/skills/yida-canvas-custom-page/references/data-bridge-guide.md +1 -140
- package/yida-skills/skills/yida-canvas-custom-page/references/navigation-and-entry-guide.md +72 -101
- package/yida-skills/skills/yida-canvas-custom-page/references/page-generation-guide.md +32 -35
- package/yida-skills/skills/yida-canvas-custom-page/scripts/build-canvas-theme.js +3 -29
- package/yida-skills/skills/yida-canvas-custom-page/scripts/canvas-theme-provider.template.jsx +6 -69
- package/yida-skills/skills/yida-canvas-data-binding/SKILL.md +0 -26
- package/yida-skills/skills/yida-create-app/SKILL.md +0 -2
- package/yida-skills/skills/yida-create-form-page/SKILL.md +58 -72
- package/yida-skills/skills/yida-create-form-page/references/advanced-form-modes.md +5 -5
- package/yida-skills/skills/yida-create-form-page/references/association-form-field.md +4 -4
- package/yida-skills/skills/yida-create-form-page/references/batch-forms.md +5 -6
- package/yida-skills/skills/yida-create-form-page/references/field-definition-guide.md +19 -7
- package/yida-skills/skills/yida-create-form-page/references/form-field-properties.md +44 -62
- package/yida-skills/skills/yida-create-page/SKILL.md +6 -14
- package/yida-skills/skills/yida-create-process/SKILL.md +2 -13
- package/yida-skills/skills/yida-custom-page/SKILL.md +0 -2
- package/yida-skills/skills/yida-custom-page/references/design-system.md +1 -1
- package/yida-skills/skills/yida-dashboard/SKILL.md +4 -5
- package/yida-skills/skills/yida-data-management/SKILL.md +2 -4
- package/yida-skills/skills/yida-data-management/references/data-format-guide.md +4 -4
- package/yida-skills/skills/yida-design/SKILL.md +14 -29
- package/yida-skills/skills/yida-design/references/app/blueprint.md +70 -0
- package/yida-skills/skills/yida-design/references/app/navigation-patterns.md +43 -0
- package/yida-skills/skills/yida-design/references/app/role-journey.md +30 -0
- package/yida-skills/skills/yida-design/references/ask-human-interaction-contract.md +42 -67
- package/yida-skills/skills/yida-design/references/asset-workflow.md +2 -6
- package/yida-skills/skills/yida-design/references/design-mode.md +4 -4
- package/yida-skills/skills/yida-design/references/page-quality-gates.md +38 -26
- package/yida-skills/skills/yida-design/references/style-design-selection.md +137 -0
- package/yida-skills/skills/yida-design/references/style-designs/_design-md-template.md +185 -0
- package/yida-skills/skills/yida-design/references/style-designs/aqua-service-progress-dashboard.md +242 -0
- package/yida-skills/skills/yida-design/references/style-designs/blue-insight-operations-dashboard.md +243 -0
- package/yida-skills/skills/yida-design/references/style-designs/blue-productivity-insight-workbench.md +242 -0
- package/yida-skills/skills/yida-design/references/style-designs/command-filter-card-console.md +304 -0
- package/yida-skills/skills/yida-design/references/style-designs/contrast-command-analytics-workbench.md +261 -0
- package/yida-skills/skills/yida-design/references/style-designs/dark-stage-analytic-dashboard.md +369 -0
- package/yida-skills/skills/yida-design/references/style-designs/filterable-card-catalog.md +354 -0
- package/yida-skills/skills/yida-design/references/style-designs/green-timeline-progress-workbench.md +250 -0
- package/yida-skills/skills/yida-design/references/style-designs/registry.md +117 -0
- package/yida-skills/skills/yida-design/references/style-designs/soft-analytic-workbench.md +348 -0
- package/yida-skills/skills/yida-design/references/style-designs/soft-blue-grid-analytic-dashboard.md +658 -0
- package/yida-skills/skills/yida-design/references/style-designs/soft-bordered-analytic-workbench.md +385 -0
- package/yida-skills/skills/yida-design/references/style-designs/soft-curated-filter-gallery.md +300 -0
- package/yida-skills/skills/yida-design/references/style-designs/soft-modular-analytic-workbench.md +404 -0
- package/yida-skills/skills/yida-design/references/style-designs/soft-progress-analytics-workbench.md +382 -0
- package/yida-skills/skills/yida-design/references/style-designs/soft-timeline-analytics-workbench.md +367 -0
- package/yida-skills/skills/yida-design/references/style-designs/teal-rail-analytics-workbench.md +341 -0
- package/yida-skills/skills/yida-design/references/theme/app-custom-theme-template.css +432 -350
- package/yida-skills/skills/yida-design/references/visual-decision-engine.md +143 -19
- package/yida-skills/skills/yida-design/references/visual-scaffold-recipes.md +27 -15
- package/yida-skills/skills/yida-design/sub_skill/page-design/SKILL.md +0 -4
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/SKILL.md +8 -22
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/assets/README.md +10 -14
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/assets/build-plan-template.html +4 -9
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/references/build-plan-compact-schema.md +27 -49
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/references/build-plan-schema.md +154 -33
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/references/visual-design.md +127 -48
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/references/visual-theme-selection.md +51 -37
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/scripts/render_build_plan.py +48 -43
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/scripts/validate_design_themes.py +190 -0
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/README.md +98 -0
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/airy-media-grid.md +339 -0
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/airy-modular-clarity.md +348 -0
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/airy-structured-clarity.md +344 -0
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/ambient-halo-layered.md +345 -0
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/dark-focus-layered.md +355 -0
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/dark-luminous-modular.md +377 -0
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/deep-stage-duotone.md +352 -0
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/hairline-runway-clarity.md +389 -0
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/high-contrast-modular.md +364 -0
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/index.json +329 -0
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/interlocked-vivid-modules.md +348 -0
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/matrix-grid-focus.md +345 -0
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/media-rail-inspector.md +379 -0
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/mist-layered-signal.md +347 -0
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/modular-rail-signal.md +352 -0
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/mono-grid-signal.md +386 -0
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/ribbon-ledger-lift.md +384 -0
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/segmented-meter-clarity.md +388 -0
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/split-rail-precision.md +341 -0
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/status-framed-media-grid.md +361 -0
- package/yida-skills/skills/yida-design/workflow/output-design.md +375 -117
- package/yida-skills/skills/yida-design/workflow/output-prd.md +185 -0
- package/yida-skills/skills/yida-design/workflow/step-1-read-brief.md +1 -1
- package/yida-skills/skills/yida-design/workflow/step-2-theme-system.md +29 -33
- package/yida-skills/skills/yida-design/workflow/step-4-wireframe-interaction.md +1 -3
- package/yida-skills/skills/yida-design/workflow/step-5-visual-states.md +106 -22
- package/yida-skills/skills/yida-design/workflow/step-6-handoff.md +22 -15
- package/yida-skills/skills/yida-form-permission/SKILL.md +0 -6
- package/yida-skills/skills/yida-image-assets/SKILL.md +50 -73
- package/yida-skills/skills/yida-image-assets/references/manifest-contract.md +52 -82
- package/yida-skills/skills/yida-image-assets/references/source-policy.md +15 -14
- package/yida-skills/skills/yida-integration/SKILL.md +0 -1
- package/yida-skills/skills/yida-login/SKILL.md +0 -2
- package/yida-skills/skills/yida-nav-group/SKILL.md +2 -4
- package/yida-skills/skills/yida-nav-shell/SKILL.md +12 -36
- package/yida-skills/skills/yida-nav-shell/references/nav-shell-patterns.md +136 -79
- package/yida-skills/skills/yida-page-config/SKILL.md +4 -13
- package/yida-skills/skills/yida-prd/SKILL.md +3 -5
- package/yida-skills/skills/yida-prd/references/app/blueprint.md +4 -4
- package/yida-skills/skills/yida-prd/references/app/navigation-patterns.md +3 -6
- package/yida-skills/skills/yida-prd/references/app/role-journey.md +3 -5
- package/yida-skills/skills/yida-prd/references/plan-content.md +0 -4
- package/yida-skills/skills/yida-prd/workflow/output-prd.md +11 -18
- package/yida-skills/skills/yida-prd/workflow/plan-business.md +4 -4
- package/yida-skills/skills/yida-prd/workflow/step-2-information-architecture.md +8 -11
- package/yida-skills/skills/yida-publish-page/SKILL.md +1 -9
- package/yida-skills/skills/yida-requirement-analysis/SKILL.md +39 -10
- package/yida-skills/skills/yida-requirement-analysis/workflow/prepare-brief.md +71 -40
- package/yida-skills/skills-index.json +16 -36
- package/lib/app/application-entry-urls.js +0 -31
- package/lib/app/application-style.js +0 -69
- package/lib/app/canvas-icon-exports.json +0 -6160
- package/lib/app/canvas-icon-guard.js +0 -87
- package/lib/app/canvas-navigation-guard.js +0 -84
- package/lib/app/canvas-path-guard.js +0 -78
- package/lib/app/canvas-theme-guard.js +0 -184
- package/lib/app/form-data-response-guard.js +0 -57
- package/lib/asset/asset-execution.js +0 -79
- package/lib/core/css-structure.js +0 -37
- package/lib/design/check-design.js +0 -51
- package/lib/design/document.js +0 -458
- package/lib/design/icon-contrast.js +0 -85
- package/lib/design/page-content.js +0 -11
- package/lib/design-plan/artifact-updates.js +0 -117
- package/lib/design-plan/confirmation.js +0 -13
- package/lib/design-plan/entry-navigation.js +0 -97
- package/lib/design-plan/navigation-policy.js +0 -38
- package/lib/design-plan/rebase.js +0 -60
- package/lib/design-plan/themes.js +0 -101
- package/lib/design-plan/visual-policy.js +0 -42
- package/lib/samples/openyida-scaffold/canvas-admin-entry.jsx +0 -62
- package/lib/samples/openyida-scaffold/canvas-navigation.jsx +0 -56
- package/lib/samples/openyida-scaffold/canvas-view-state.jsx +0 -74
- package/yida-skills/skills/yida-app/references/entry-navigation.md +0 -193
- package/yida-skills/skills/yida-canvas-custom-page/references/view-state-recovery.md +0 -52
- package/yida-skills/skills/yida-canvas-data-binding/references/business-action-permissions.md +0 -31
- package/yida-skills/skills/yida-design/references/application-style-library.md +0 -93
- package/yida-skills/skills/yida-design/references/application-theme-consistency.md +0 -150
- package/yida-skills/skills/yida-design/references/native-form-styles.md +0 -208
- package/yida-skills/skills/yida-design/references/navigation-decision.md +0 -53
- package/yida-skills/skills/yida-design/references/page-continuity.md +0 -42
- package/yida-skills/skills/yida-design/references/theme/application-style-recipes.css +0 -58
- package/yida-skills/skills/yida-design/references/theme-selection.md +0 -67
- package/yida-skills/skills/yida-design/scripts/validate_design_themes.py +0 -302
- package/yida-skills/skills/yida-design/templates/application-styles.json +0 -398
- package/yida-skills/skills/yida-design/templates/design-themes/README.md +0 -73
- package/yida-skills/skills/yida-design/templates/design-themes/app-amber/app_theme.css +0 -748
- package/yida-skills/skills/yida-design/templates/design-themes/app-amber/design.md +0 -274
- package/yida-skills/skills/yida-design/templates/design-themes/app-amber/form-layout.json +0 -15
- package/yida-skills/skills/yida-design/templates/design-themes/app-editorial/app_theme.css +0 -748
- package/yida-skills/skills/yida-design/templates/design-themes/app-editorial/design.md +0 -274
- package/yida-skills/skills/yida-design/templates/design-themes/app-editorial/form-layout.json +0 -14
- package/yida-skills/skills/yida-design/templates/design-themes/app-executive/app_theme.css +0 -748
- package/yida-skills/skills/yida-design/templates/design-themes/app-executive/design.md +0 -274
- package/yida-skills/skills/yida-design/templates/design-themes/app-executive/form-layout.json +0 -13
- package/yida-skills/skills/yida-design/templates/design-themes/app-finance/app_theme.css +0 -748
- package/yida-skills/skills/yida-design/templates/design-themes/app-finance/design.md +0 -274
- package/yida-skills/skills/yida-design/templates/design-themes/app-finance/form-layout.json +0 -14
- package/yida-skills/skills/yida-design/templates/design-themes/app-glass/app_theme.css +0 -748
- package/yida-skills/skills/yida-design/templates/design-themes/app-glass/design.md +0 -274
- package/yida-skills/skills/yida-design/templates/design-themes/app-glass/form-layout.json +0 -14
- package/yida-skills/skills/yida-design/templates/design-themes/app-graphite/app_theme.css +0 -748
- package/yida-skills/skills/yida-design/templates/design-themes/app-graphite/design.md +0 -274
- package/yida-skills/skills/yida-design/templates/design-themes/app-graphite/form-layout.json +0 -14
- package/yida-skills/skills/yida-design/templates/design-themes/app-line/app_theme.css +0 -748
- package/yida-skills/skills/yida-design/templates/design-themes/app-line/design.md +0 -274
- package/yida-skills/skills/yida-design/templates/design-themes/app-line/form-layout.json +0 -13
- package/yida-skills/skills/yida-design/templates/design-themes/app-neon/app_theme.css +0 -748
- package/yida-skills/skills/yida-design/templates/design-themes/app-neon/design.md +0 -274
- package/yida-skills/skills/yida-design/templates/design-themes/app-neon/form-layout.json +0 -14
- package/yida-skills/skills/yida-design/templates/design-themes/app-nordic/app_theme.css +0 -754
- package/yida-skills/skills/yida-design/templates/design-themes/app-nordic/design.md +0 -279
- package/yida-skills/skills/yida-design/templates/design-themes/app-nordic/form-layout.json +0 -13
- package/yida-skills/skills/yida-design/templates/design-themes/app-paper/app_theme.css +0 -748
- package/yida-skills/skills/yida-design/templates/design-themes/app-paper/design.md +0 -274
- package/yida-skills/skills/yida-design/templates/design-themes/app-paper/form-layout.json +0 -13
- package/yida-skills/skills/yida-design/templates/design-themes/app-platinum/app_theme.css +0 -748
- package/yida-skills/skills/yida-design/templates/design-themes/app-platinum/design.md +0 -274
- package/yida-skills/skills/yida-design/templates/design-themes/app-platinum/form-layout.json +0 -14
- package/yida-skills/skills/yida-design/templates/design-themes/app-plum/app_theme.css +0 -748
- package/yida-skills/skills/yida-design/templates/design-themes/app-plum/design.md +0 -274
- package/yida-skills/skills/yida-design/templates/design-themes/app-plum/form-layout.json +0 -14
- package/yida-skills/skills/yida-design/templates/design-themes/app-pop/app_theme.css +0 -758
- package/yida-skills/skills/yida-design/templates/design-themes/app-pop/design.md +0 -281
- package/yida-skills/skills/yida-design/templates/design-themes/app-pop/form-layout.json +0 -14
- package/yida-skills/skills/yida-design/templates/design-themes/app-sage/app_theme.css +0 -748
- package/yida-skills/skills/yida-design/templates/design-themes/app-sage/design.md +0 -274
- package/yida-skills/skills/yida-design/templates/design-themes/app-sage/form-layout.json +0 -14
- package/yida-skills/skills/yida-design/templates/design-themes/app-teal/app_theme.css +0 -748
- package/yida-skills/skills/yida-design/templates/design-themes/app-teal/design.md +0 -274
- package/yida-skills/skills/yida-design/templates/design-themes/app-teal/form-layout.json +0 -14
- package/yida-skills/skills/yida-design/templates/design-themes/app-terminal/app_theme.css +0 -754
- package/yida-skills/skills/yida-design/templates/design-themes/app-terminal/design.md +0 -279
- package/yida-skills/skills/yida-design/templates/design-themes/app-terminal/form-layout.json +0 -14
- package/yida-skills/skills/yida-design/templates/design-themes/app-ticket/app_theme.css +0 -752
- package/yida-skills/skills/yida-design/templates/design-themes/app-ticket/design.md +0 -278
- package/yida-skills/skills/yida-design/templates/design-themes/app-ticket/form-layout.json +0 -13
- package/yida-skills/skills/yida-design/templates/design-themes/app-wire/app_theme.css +0 -748
- package/yida-skills/skills/yida-design/templates/design-themes/app-wire/design.md +0 -274
- package/yida-skills/skills/yida-design/templates/design-themes/app-wire/form-layout.json +0 -14
- package/yida-skills/skills/yida-design/templates/design-themes/basic-tokens.json +0 -118
- package/yida-skills/skills/yida-design/templates/design-themes/dark-inset-hairline/app_theme.css +0 -690
- package/yida-skills/skills/yida-design/templates/design-themes/dark-inset-hairline/design.md +0 -382
- package/yida-skills/skills/yida-design/templates/design-themes/dark-inset-hairline/form-layout.json +0 -13
- package/yida-skills/skills/yida-design/templates/design-themes/dark-rail-fine-lines/app_theme.css +0 -691
- package/yida-skills/skills/yida-design/templates/design-themes/dark-rail-fine-lines/design.md +0 -380
- package/yida-skills/skills/yida-design/templates/design-themes/dark-rail-fine-lines/form-layout.json +0 -13
- package/yida-skills/skills/yida-design/templates/design-themes/dark-rail-signal-panels/app_theme.css +0 -696
- package/yida-skills/skills/yida-design/templates/design-themes/dark-rail-signal-panels/design.md +0 -378
- package/yida-skills/skills/yida-design/templates/design-themes/dark-rail-signal-panels/form-layout.json +0 -13
- package/yida-skills/skills/yida-design/templates/design-themes/free-creative/app_theme.css +0 -689
- package/yida-skills/skills/yida-design/templates/design-themes/free-creative/design.md +0 -238
- package/yida-skills/skills/yida-design/templates/design-themes/free-creative/form-layout.json +0 -13
- package/yida-skills/skills/yida-design/templates/design-themes/graphite-bevel-grid/app_theme.css +0 -692
- package/yida-skills/skills/yida-design/templates/design-themes/graphite-bevel-grid/design.md +0 -375
- package/yida-skills/skills/yida-design/templates/design-themes/graphite-bevel-grid/form-layout.json +0 -13
- package/yida-skills/skills/yida-design/templates/design-themes/hairline-shared-bands/app_theme.css +0 -691
- package/yida-skills/skills/yida-design/templates/design-themes/hairline-shared-bands/design.md +0 -362
- package/yida-skills/skills/yida-design/templates/design-themes/hairline-shared-bands/form-layout.json +0 -13
- package/yida-skills/skills/yida-design/templates/design-themes/hairline-soft-blocks/app_theme.css +0 -691
- package/yida-skills/skills/yida-design/templates/design-themes/hairline-soft-blocks/design.md +0 -409
- package/yida-skills/skills/yida-design/templates/design-themes/hairline-soft-blocks/form-layout.json +0 -13
- package/yida-skills/skills/yida-design/templates/design-themes/index.json +0 -464
- package/yida-skills/skills/yida-design/templates/design-themes/ink-glow-soft-panels/app_theme.css +0 -701
- package/yida-skills/skills/yida-design/templates/design-themes/ink-glow-soft-panels/design.md +0 -379
- package/yida-skills/skills/yida-design/templates/design-themes/ink-glow-soft-panels/form-layout.json +0 -13
- package/yida-skills/skills/yida-design/templates/design-themes/inset-frame-pixel-rhythm/app_theme.css +0 -691
- package/yida-skills/skills/yida-design/templates/design-themes/inset-frame-pixel-rhythm/design.md +0 -404
- package/yida-skills/skills/yida-design/templates/design-themes/inset-frame-pixel-rhythm/form-layout.json +0 -13
- package/yida-skills/skills/yida-design/templates/design-themes/outlined-texture-duotone/app_theme.css +0 -698
- package/yida-skills/skills/yida-design/templates/design-themes/outlined-texture-duotone/design.md +0 -389
- package/yida-skills/skills/yida-design/templates/design-themes/outlined-texture-duotone/form-layout.json +0 -13
- package/yida-skills/skills/yida-design/templates/design-themes/soft-inset-surfaces/app_theme.css +0 -691
- package/yida-skills/skills/yida-design/templates/design-themes/soft-inset-surfaces/design.md +0 -372
- package/yida-skills/skills/yida-design/templates/design-themes/soft-inset-surfaces/form-layout.json +0 -13
- package/yida-skills/skills/yida-design/templates/design-themes/soft-outline-rhythm/app_theme.css +0 -690
- package/yida-skills/skills/yida-design/templates/design-themes/soft-outline-rhythm/design.md +0 -455
- package/yida-skills/skills/yida-design/templates/design-themes/soft-outline-rhythm/form-layout.json +0 -13
- package/yida-skills/skills/yida-design/templates/design-themes/soft-rail-bold-band/app_theme.css +0 -698
- package/yida-skills/skills/yida-design/templates/design-themes/soft-rail-bold-band/design.md +0 -394
- package/yida-skills/skills/yida-design/templates/design-themes/soft-rail-bold-band/form-layout.json +0 -13
- package/yida-skills/skills/yida-design/templates/design-themes/soft-spectral-panels/app_theme.css +0 -692
- package/yida-skills/skills/yida-design/templates/design-themes/soft-spectral-panels/design.md +0 -391
- package/yida-skills/skills/yida-design/templates/design-themes/soft-spectral-panels/form-layout.json +0 -13
- package/yida-skills/skills/yida-design/templates/design-themes/warm-canvas-contrast-panels/app_theme.css +0 -711
- package/yida-skills/skills/yida-design/templates/design-themes/warm-canvas-contrast-panels/design.md +0 -408
- package/yida-skills/skills/yida-design/templates/design-themes/warm-canvas-contrast-panels/form-layout.json +0 -13
- package/yida-skills/skills/yida-design/templates/design-themes/warm-rail-muted-panels/app_theme.css +0 -692
- package/yida-skills/skills/yida-design/templates/design-themes/warm-rail-muted-panels/design.md +0 -383
- package/yida-skills/skills/yida-design/templates/design-themes/warm-rail-muted-panels/form-layout.json +0 -13
- package/yida-skills/skills/yida-design/templates/navigation-styles.json +0 -769
- package/yida-skills/skills/yida-requirement-analysis/references/experience-groups.md +0 -79
- package/yida-skills/skills/yida-requirement-analysis/references/handoff.md +0 -68
|
@@ -1,27 +1,151 @@
|
|
|
1
|
-
#
|
|
1
|
+
# 视觉选择规则(共用)
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
> 本文档为 `SKILL.md` 的视觉规范提供共用规则,所有 scene 场景共用。
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## 平台关键约束(务必先读)
|
|
6
6
|
|
|
7
|
-
1.
|
|
8
|
-
2.
|
|
9
|
-
3.
|
|
10
|
-
4.
|
|
11
|
-
5.
|
|
7
|
+
1. **页面主色跟随应用主题**:页面使用平台品牌色 CSS 变量(`var(--color-brand1-6)` 等)。独立品牌页、活动页、沉浸页和自绘壳通过下面 5 个维度表达差异。
|
|
8
|
+
2. **字体不可用 Google Fonts**:禁 `fonts.googleapis.com`(大陆不可达)。放弃「Inter vs Plus Jakarta」这类字体选型,改用**系统中文字体栈** + 字重/字号对比/字间距/`tabular-nums` 造性格。仅允许 `g.alicdn.com` 上已验证的字体。
|
|
9
|
+
3. **B 端为主**:自定义页多为看板/列表/工具/详情,不是营销落地页。装饰要克制、服务于信息,不堆砌。
|
|
10
|
+
4. **纯方向**:本文档只帮你选方向,不产出 JSX,也不替代 `design.md`。实现阶段读取对应实现适配文档,把 `design.md` 的 token、视觉 DNA、布局、圆角、密度和组件规则转换成页面源码。
|
|
11
|
+
5. **默认 light,不默认暗黑**:工作台、门户、列表、详情、普通看板和数据大屏默认是浅底业务风;“高级 / 酷炫 / 大屏 / 驾驶舱”不等于暗色。只有用户明确说暗色、深色、暗黑、夜间、高对比、黑金或暗色科技风,才允许深色沉浸。
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
---
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
| --- | --- |
|
|
17
|
-
| 色彩角色 | 项目主色与主题的交互、数据、状态角色分别落实;成功、警告、危险和信息保持明确语义,告警色只用于真实需要关注的状态 |
|
|
18
|
-
| 表面与边界 | 保留主题的冷暖、明度、描边、共容器、层次和材质关系,不用统一白卡或装饰盖过真实特征 |
|
|
19
|
-
| 形状分工 | 容器、按钮、输入、标签和浮层按主题选择圆角,不把所有元素统一成大圆角或胶囊 |
|
|
20
|
-
| 排版节奏 | 字号、字重、行高与层级按主题;中文有回退字体,数字采用稳定对齐,单位与读数一起出现 |
|
|
21
|
-
| 视觉特征 | 明确特色配方的真实内容条件、消费位置与无匹配时行为,不为模仿参考增加指标、图表或业务模块 |
|
|
15
|
+
## 第 0 层:风格意图自决
|
|
22
16
|
|
|
23
|
-
|
|
17
|
+
在心里从下面 5 个方向选一个并 commit。**不要默认选第一个**,问自己「这个业务、这个页面,我想让它散发什么气质」。每个方向给:关键词 + 硬约束 + 必须偏离规则。
|
|
24
18
|
|
|
25
|
-
|
|
19
|
+
### A. 经典企业级
|
|
20
|
+
> 关键词:稳重、可信赖、克制、大留白
|
|
21
|
+
- 圆角:偏直角/微圆(R1-R2 性格),不宜大圆。
|
|
22
|
+
- 中性色:冷灰或中性灰基底。
|
|
23
|
+
- 必须偏离:在「辅助色 / 排版 / 图标」中至少 1 项不选该业务的第一直觉(如财务别默认冷蓝点缀,试暖金/墨绿)。
|
|
26
24
|
|
|
27
|
-
|
|
25
|
+
### B. 现代 SaaS 感
|
|
26
|
+
> 关键词:轻盈、精致、几何感、呼吸感
|
|
27
|
+
- 圆角:微圆到标准圆(R2-R3 性格)。
|
|
28
|
+
- 留白:加大区块间距,信息密度偏均衡。
|
|
29
|
+
- 必须偏离:中性色或装饰母题至少 1 项不选「最安全」的纯灰。
|
|
30
|
+
|
|
31
|
+
### C. 创新前沿感
|
|
32
|
+
> 关键词:突破、科技、高对比、有个性
|
|
33
|
+
- 对比:强化字重/字号跨度,主次拉开。
|
|
34
|
+
- 装饰母题:至少用一次非常规手法(几何切割、错位网格、单色大字),打破常规卡片网格。
|
|
35
|
+
- 必须偏离:布局或装饰母题选「边缘选项」,别回退到对称平铺。
|
|
36
|
+
|
|
37
|
+
### D. 温暖亲和力
|
|
38
|
+
> 关键词:友好、有机、人文、圆润
|
|
39
|
+
- 圆角:偏圆润(R3+ 性格)。
|
|
40
|
+
- 中性色:**暖灰基底**(关键差异点)。
|
|
41
|
+
- 必须偏离:辅助色避开冷蓝,倾向绿/琥珀/陶土/珊瑚等暖调点缀。
|
|
42
|
+
|
|
43
|
+
### E. 极简高端感
|
|
44
|
+
> 关键词:克制、留白、品质、精准
|
|
45
|
+
- 辅助色:低饱和,避免喧闹色。
|
|
46
|
+
- 图标:细线性、克制。
|
|
47
|
+
- 必须偏离:用大留白 + 精准对齐 + 字重克制造质感,别靠装饰堆砌;排版别用最普通的均匀字号。
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## 反默认硬约束
|
|
52
|
+
|
|
53
|
+
### 严禁直接套用的「宜搭默认脸」
|
|
54
|
+
|
|
55
|
+
以下是宜搭自定义页最泛滥的组合,**严禁直接输出**。你的方案必须与它在**至少 3 个维度**上不同(输入极模糊时提升到 4 个):
|
|
56
|
+
|
|
57
|
+
```
|
|
58
|
+
统一灰白底(#F7F8FA + 纯白卡片) + 统一 8px 圆角卡片网格 + 系统默认字体一套到底
|
|
59
|
+
+ 蓝色/品牌色平铺强调 + 每个卡片标题配一枚线性图标 + 等宽等高对称平铺
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
**执行规则**:
|
|
63
|
+
1. 5 个差异化维度选完后,与上面的默认脸逐维比对。
|
|
64
|
+
2. 差异维度 < 3 → 回到差异最少的那一维,强制换更有特色的选项。
|
|
65
|
+
3. 注意:这里的「差异」不是换主色(主色被平台锁定),而是靠**中性冷暖 / 圆角性格 / 排版性格 / 装饰母题 / 辅助色取法**拉开。
|
|
66
|
+
|
|
67
|
+
### 强制第二选择
|
|
68
|
+
|
|
69
|
+
每一个差异化维度决策时:
|
|
70
|
+
1. 写下**第一直觉**(通常就是默认/最泛滥的)。
|
|
71
|
+
2. 写下**第二选项**(同样合理、更不常见)。
|
|
72
|
+
3. **选第二选项**,除非它导致整体严重不协调(此时选第三,并在心里说明为何跳过第二)。
|
|
73
|
+
|
|
74
|
+
### 差异化自检
|
|
75
|
+
|
|
76
|
+
5 个维度选完后自问:「这套方向像不像 90% 的同类宜搭页?」
|
|
77
|
+
- 若答「有点像/比较普通」→ 找出最像默认脸的那一维,替换为更有特色的选项,重查协调性。
|
|
78
|
+
- 重复到确认「这套方向有个性、不会千篇一律」。
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
## 5 个差异化维度(主色固定,靠这 5 维拉开差异)
|
|
83
|
+
|
|
84
|
+
### 维度 1 — 辅助 / 强调色
|
|
85
|
+
|
|
86
|
+
主色已被平台锁定,**辅助色和图表色板是你最大的差异化空间**。
|
|
87
|
+
|
|
88
|
+
- **状态色**:成功/警告/危险/信息用 `design.md` 声明的语义色或平台语义变量,但**告警红是稀缺资源**——只给真正需要用户立刻反应的地方(库存告警、逾期、失败),不要满屏红。
|
|
89
|
+
- **点缀色**:从气质关键词推导 1 个点缀色方向(暖金=高端/财务、墨绿=沉稳/健康、青=数据/科技、陶土=人文/教育),用于强调数字、选中态、图表主色。
|
|
90
|
+
- **图表色板**:看板类默认按 `yida-rechart` 的 Canvas 主题契约使用克制色板,避免每个系列都高饱和抢眼;只有明确 ECharts/复杂 option 或维护旧 native 图表时才转 `yida-chart`。
|
|
91
|
+
|
|
92
|
+
### 维度 2 — 中性色冷暖偏色
|
|
93
|
+
|
|
94
|
+
**最容易区分气质、又最常被忽略的维度。** 选一个基底方向并全页贯彻:
|
|
95
|
+
|
|
96
|
+
| 方向 | 气质 | 适配 |
|
|
97
|
+
|---|---|---|
|
|
98
|
+
| 冷灰(偏蓝) | 冷静、科技、专业 | 数据平台、开发工具、金融 |
|
|
99
|
+
| 中性灰 | 干净、通用、内容优先 | 通用后台 |
|
|
100
|
+
| 暖灰(偏暖) | 温暖、人文、有机 | 教育、健康、生活、内部门户 |
|
|
101
|
+
|
|
102
|
+
偏色强度逐级衰减:背景 5-8% > 边框 3-6% > 弱化文字 2-4% > 正文 0-1% > **标题 0%(严格不偏,保证黑色感)**。
|
|
103
|
+
|
|
104
|
+
### 维度 3 — 圆角性格
|
|
105
|
+
|
|
106
|
+
**全页统一一种性格**(不是所有元素同一个值,而是同一种调性,分层级写入 `design.md` 的 `roundedRule`):
|
|
107
|
+
|
|
108
|
+
| 性格 | 气质 | 搭配意图 |
|
|
109
|
+
|---|---|---|
|
|
110
|
+
| 直角 / 微圆 | 硬朗、工程感、严肃 | A 经典企业级、C 前沿(配高对比) |
|
|
111
|
+
| 标准圆 | 现代、友好、平衡 | B 现代 SaaS |
|
|
112
|
+
| 圆润 / 大圆 | 柔和、亲切、消费感 | D 温暖亲和 |
|
|
113
|
+
|
|
114
|
+
❌ 禁止全页一个圆角值无差别堆叠(那是默认脸);也禁止同页混用互相打架的圆角性格。
|
|
115
|
+
|
|
116
|
+
### 维度 4 — 排版性格
|
|
117
|
+
|
|
118
|
+
字体不能换,就靠这些造性格:
|
|
119
|
+
|
|
120
|
+
- **字重对比**:标题/正文拉开字重(如 600 vs 400),别全页一个字重。
|
|
121
|
+
- **字号跨度**:主标题与正文字号差要够(详情页 ≥2.5×;看板 KPI 数字要显著大于标签)。
|
|
122
|
+
- **字间距**:大标题可微调 `letter-spacing`(负值收紧显精致 / 正值拉开显克制)。
|
|
123
|
+
- **数字**:所有金额/统计/KPI 用 `font-variant-numeric: tabular-nums`,保证对齐、不跳动。
|
|
124
|
+
- **中文字体栈**:`-apple-system, BlinkMacSystemFont, "PingFang SC", "Helvetica Neue", sans-serif`,并写入 `design.md` 的字体规则。
|
|
125
|
+
|
|
126
|
+
### 维度 5 — 装饰母题(视觉 DNA)
|
|
127
|
+
|
|
128
|
+
2-3 个贯穿全页的视觉基因,让人**遮住标题也能认出是同一套设计**。每个母题写清:类型(形态/色彩/纹理/构图习惯)+ 形式(长什么样)+ 出现位置 + 传递的感知。
|
|
129
|
+
|
|
130
|
+
示例母题(选契合气质的,别堆砌):
|
|
131
|
+
- 左侧强调竖条(选中/重点行用主色/点缀色竖条标记)
|
|
132
|
+
- 数字优先的大字排版(KPI 用超大字号 + tabular-nums 当视觉锤)
|
|
133
|
+
- 单色分区块(用中性色阶而非彩色划分区域)
|
|
134
|
+
- 克制的顶部细线 / 卡片左上角小几何标记
|
|
135
|
+
- 非对称双栏(主 70% + 次 30%,打破对称)
|
|
136
|
+
|
|
137
|
+
❌ 装饰母题不等于「加特效」:禁彩色发光、禁半透明彩色 blob、禁渐变文字(这些是 AI 味,见黑名单)。
|
|
138
|
+
|
|
139
|
+
---
|
|
140
|
+
|
|
141
|
+
## 差异化方向示例(同一业务,不同气质)
|
|
142
|
+
|
|
143
|
+
> 以下只示范「方向」如何差异化,不含色值代码。具体色值和 token 写入 `design.md`,主色始终用平台品牌变量或 `design.md` 明确声明的自定义主题 token。
|
|
144
|
+
|
|
145
|
+
**同样是「进销存看板」:**
|
|
146
|
+
|
|
147
|
+
- **意图 A 经典企业级**:中性=冷灰;圆角=微圆;排版=KPI 大字 + tabular-nums,标题 600 正文 400;装饰母题=重点行左侧主色竖条 + 单色分区。反默认:不套满屏卡片,用单色阶分区替代等宽卡片网格。
|
|
148
|
+
|
|
149
|
+
- **意图 D 温暖亲和**:中性=暖灰基底;圆角=圆润;辅助色=墨绿点缀(避开冷蓝);排版=字号跨度中等、字重对比柔和;装饰母题=非对称双栏(左大右小)+ 顶部克制细线。反默认:暖灰 + 圆润 + 暖调点缀,三维一起偏离默认脸。
|
|
150
|
+
|
|
151
|
+
**判断标准**:两个方向摆一起,应一眼看出是两套不同性格的设计,而不是换了个数字的同一张脸。
|
|
@@ -1,27 +1,39 @@
|
|
|
1
1
|
# 视觉结构配方库
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
本文件把高质量页面的视觉结构沉淀成可执行槽位。设计阶段输出 `visualScaffold` 时,从这里选择一套配方,再把当前业务对象、字段、动作和状态填进去。实现阶段按槽位写页面,不复制示例业务文案、不套默认卡片墙。
|
|
4
4
|
|
|
5
5
|
## 使用规则
|
|
6
6
|
|
|
7
|
-
1.
|
|
7
|
+
1. 先按页面场景选择一套配方。
|
|
8
8
|
2. 把 `contentBlocks` 映射到配方槽位;工作台、首页、门户、看板、展示页和业务入口页推荐 8-10 个区块以上。如果业务是窄场景或用户要求精简,可以减少区块,并在页面结构和交互设计中说明取舍。
|
|
9
|
-
3.
|
|
9
|
+
3. 把配方写入 `design.md` 的 `visualScaffold`:`layoutRecipe`、`surfaceMap`、`sectionRhythm`、`densityRule`、`breathingRule`、`componentRecipe`、`emptyStateRecipe`、`responsiveSlots`、`acceptanceChecks`。PRD 只引用 `designFile/designRefs` 和主题风格摘要。
|
|
10
10
|
4. 实现阶段逐项消费,不从“高级 / 简洁 / 好看”等形容词直接写 CSS。
|
|
11
|
-
5.
|
|
11
|
+
5. 默认业务页采用圆润高密且有呼吸感的规则:卡片 padding 默认 22-28px 且必须大于 20px,卡片与卡片的 gap 默认 12-18px 且必须小于 20px,卡片圆角范围 0-32px,控件 10-14px;状态摘要、动作条、列表和空态必须紧凑,间距服务分组和扫读,不用额外 margin 或空白高度撑面积。
|
|
12
12
|
6. 标题槽位按信息增量使用:导航已标明当前页面时,首个内容槽位直接承载表单、列表或业务区块;独立页头用于具体对象名、任务说明或操作。业务分区标题保留,顶部间距按实际内容重新分配。
|
|
13
13
|
|
|
14
|
-
##
|
|
14
|
+
## 源码级槽位
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
`visualScaffold` 不只描述页面长相,还要让实现阶段能直接写出结构。每个配方都必须补齐下面这些源码级槽位:
|
|
17
17
|
|
|
18
|
-
|
|
18
|
+
- `rootShell`:页面外层背景、最大宽度、是否全屏、是否显示平台导航后的内容宽度。
|
|
19
|
+
- `prioritySurface`:首屏最大视觉锚点,例如主趋势、主任务、主对象摘要或主视觉区,不能只是标题。
|
|
20
|
+
- `statusPrimitive`:紧凑指标、状态胶囊、数据在线、更新时间或主健康分。
|
|
21
|
+
- `actionPrimitive`:主操作、次操作、高频动作条或批量动作条。
|
|
22
|
+
- `contentPrimitive`:表格、列表、任务流、事件流、排行、时间线、图表或详情预览。
|
|
23
|
+
- `contextPrimitive`:右侧洞察、风险、负责人、说明、下一步建议或关联对象。
|
|
24
|
+
- `statePrimitive`:loading、empty、error、未接数据和刷新/登记/补录动作。
|
|
25
|
+
- `responsiveRule`:移动端分栏退化顺序和关键区块保留规则。
|
|
26
|
+
- `densityRule`:页面边距、卡片 gap、状态摘要高度、列表行高、卡片 padding、空态高度和压缩空白规则。
|
|
27
|
+
- `breathingRule`:主区、右栏、工具条、列表和空态之间的呼吸节奏,组内/组间间距、贴边修正和移动端折叠间距。
|
|
28
|
+
- `roundedRule`:业务面板、主面板、控件、标签、抽屉和弹层的圆角数值。
|
|
29
|
+
|
|
30
|
+
没有这些源码级槽位时,`design.md` 不算可实现;先补 `visualScaffold`,再进入页面代码。
|
|
19
31
|
|
|
20
32
|
## 背景层配方
|
|
21
33
|
|
|
22
34
|
`backgroundLayer` 是 `rootShell` 的一部分。展示型页面、工作台、看板、门户、官网、登录页和空状态页推荐先考虑背景层,再决定卡片和图表。背景层的目标是让页面有环境感和品牌调性,不是用装饰抢内容;极简近白画布也可以成立,但要通过淡渐变、细线装饰、星芒、插图或内容密度避免像未设计的空白底。
|
|
23
35
|
|
|
24
|
-
|
|
36
|
+
页面背景与卡片背景必须形成明显层次对比,不可相近或相同。默认背景保持浅色调:白色/浅色背景配有边框卡片;浅灰背景(如 `#F3F4F6`)配白色无边框卡片;浅彩色背景配白色无边框卡片;渐变背景配玻璃感卡片。`surfaceMap` 必须同步写清 `surfaceContrast`,避免浅底白卡无边框、同色背景同色卡片或只靠弱阴影区分层级。
|
|
25
37
|
|
|
26
38
|
| 配方 | 适用页面 | 写入 design.md 的字段 |
|
|
27
39
|
| --- | --- | --- |
|
|
@@ -33,13 +45,13 @@
|
|
|
33
45
|
|
|
34
46
|
选择规则:
|
|
35
47
|
|
|
36
|
-
- B
|
|
48
|
+
- B 端工具页优先 `softTintCanvas + radialGlowWash`,让背景淡淡存在,前景操作不受干扰。
|
|
37
49
|
- 官网、品牌页和登录页可以用 `topIrregularWash` 做第一屏记忆点,像不规则顶部背景或侧向视觉区。
|
|
38
50
|
- 数据可视化深色页可以用 `flowLight` 或细线光效衬托图表,但正文和数字对比度必须达标。
|
|
39
51
|
- 空状态页和核心功能引导卡适合用低透明不规则底纹引导视线,同时保留明确主操作。
|
|
40
|
-
-
|
|
52
|
+
- 极简工具页可以使用近白画布,但要加局部渐变、细线、轻装饰符号、素材焦点或足够密的信息组织;不要为了满足背景层而硬加大面积彩色背景。
|
|
41
53
|
- 背景可以不规则,内容必须规则;不要让标题、按钮、表格、列表和图表跟着背景形状漂移。
|
|
42
|
-
-
|
|
54
|
+
- 背景和卡片不可相近或相同:浅底白卡必须有边框,浅灰/浅彩背景用白色无边框卡片,渐变背景用玻璃感卡片。
|
|
43
55
|
|
|
44
56
|
## 配方 A:运营驾驶舱三栏
|
|
45
57
|
|
|
@@ -85,7 +97,7 @@ KPI 子项、图表点、列表行不分别计数。
|
|
|
85
97
|
### sectionRhythm
|
|
86
98
|
|
|
87
99
|
- 首屏先读标题,再读状态胶囊,再扫左侧健康指标,最后看中央趋势和右侧风险。
|
|
88
|
-
- 卡片间 gap 12-18px
|
|
100
|
+
- 卡片间 gap 12-18px 且小于 20px,面板 padding 22-28px 且大于 20px。
|
|
89
101
|
- 主图占最大视觉面积,风险项和事件流靠右形成持续扫描。
|
|
90
102
|
- 如果首屏信息少,优先压缩面板高度或补充事件流/风险说明,不拉大 margin。
|
|
91
103
|
|
|
@@ -110,7 +122,7 @@ KPI 子项、图表点、列表行不分别计数。
|
|
|
110
122
|
- 左侧指标轨不是四个大白卡。
|
|
111
123
|
- 右侧事件流不是空白卡。
|
|
112
124
|
- 主色跟随应用主题,语义色只用于风险、告警和成功。
|
|
113
|
-
-
|
|
125
|
+
- 源码中能落成 `rootShell`、`prioritySurface`、`statusPrimitive`、`contentPrimitive`、`contextPrimitive` 和 `statePrimitive`。
|
|
114
126
|
|
|
115
127
|
## 配方 B:任务工作台双栏
|
|
116
128
|
|
|
@@ -149,7 +161,7 @@ KPI 子项、图表点、列表行不分别计数。
|
|
|
149
161
|
### densityRule
|
|
150
162
|
|
|
151
163
|
- 页面边距 20-28px,栅格间距 14-18px,区块间距 16-20px。
|
|
152
|
-
- 卡片 padding 22-28px
|
|
164
|
+
- 卡片 padding 22-28px 且大于 20px;卡片间 gap 12-18px 且小于 20px;任务列表行内距 10-14px。
|
|
153
165
|
- 大圆角用于面板性格,不用于放大空白;内容不足时压缩高度,或补最近记录、动态、风险、负责人、说明和下一步动作。
|
|
154
166
|
|
|
155
167
|
### acceptanceChecks
|
|
@@ -159,7 +171,7 @@ KPI 子项、图表点、列表行不分别计数。
|
|
|
159
171
|
- 至少一个右侧上下文或提醒区。
|
|
160
172
|
- 没有大面积空白容器。
|
|
161
173
|
- 首屏同时具备状态摘要、动作条、任务/记录承接区、右侧上下文和可执行空态。
|
|
162
|
-
-
|
|
174
|
+
- 圆润形状和紧凑密度同时成立:卡片圆角在 0-32px 内,卡片 padding >20px,卡片 gap <20px,没有额外 margin 或空白高度撑出的空白。
|
|
163
175
|
|
|
164
176
|
## 配方 C:主从管理台
|
|
165
177
|
|
|
@@ -21,10 +21,6 @@ description: 宜搭单页设计子流程。用于已有应用里的单个自定
|
|
|
21
21
|
|
|
22
22
|
主题证据齐全时,页面重构、局部美化、列表/看板/详情优化沿用当前应用 `colour` / `themeColor`。主题证据缺失时,记录 `themeEvidence.status=missing`,根据行业、品牌、业务情绪和视觉目标生成应用主题文件,不固定回到 `podBlue` / #1677ff,也不套用行业刻板配色。
|
|
23
23
|
|
|
24
|
-
## 共享主题消费
|
|
25
|
-
|
|
26
|
-
先读取当前应用的 `design.md`,沿用已确认主题和组件规则;不重新选型或为单页另建主题库。尚无主题契约且本次需要确定风格时,按 [共享主题选择规则](../../references/theme-selection.md) 只读 [主题索引](../../templates/design-themes/index.json) 摘要,选中后读取一份完整主题,再补当前页面的项目化设计。局部美化仍保持应用主题、导航和功能契约。
|
|
27
|
-
|
|
28
24
|
## 完整步骤
|
|
29
25
|
|
|
30
26
|
| 步骤 | 复用文件 | 单页执行重点 |
|
|
@@ -5,36 +5,22 @@ description: Plan 模式的视觉设计分支。基于需求选择视觉方向
|
|
|
5
5
|
|
|
6
6
|
# Plan 视觉设计
|
|
7
7
|
|
|
8
|
-
负责 Plan
|
|
9
|
-
|
|
10
|
-
已有方案的配色、布局或页面设计调整,直接按 [局部调整](../../../yida-app/workflow/plan/step-4-deliver.md#4-处理调整) 修改相关视觉字段,跳过下面的首版流程。
|
|
8
|
+
负责 Plan 的视觉候选与页面视觉应用,风格未明确时在需求分析阶段提供选项;需求确认后由 [Plan 流程](../../../yida-app/workflow/plan/workflow.md) 启动页面视觉设计。
|
|
11
9
|
|
|
12
10
|
## 阶段一:提供视觉候选
|
|
13
11
|
|
|
14
12
|
输入为共享的 `.cache/openyida/<项目名>/requirement-brief.json`。
|
|
15
13
|
|
|
16
|
-
|
|
14
|
+
已有明确的完整视觉方向时直接采用;需要用户选择风格时,按 [视觉方向选择](references/visual-theme-selection.md) 准备三套应用风格方案,交给 `yida-app` 统一呈现。候选阶段只读主题索引,收到选择后写入一致的 `visualDirection`、`selectedTheme`、`colorStrategy` 和 `navigationStyle`。
|
|
17
15
|
|
|
18
16
|
## 阶段二:完成页面视觉应用
|
|
19
17
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
1. 读取 CLI 返回的 `authoring-context.md` 与 [紧凑计划契约](references/build-plan-compact-schema.md),沿用 pageId 和 sceneKey。
|
|
23
|
-
2. 为每个真实自定义页填写 `firstScreenFocus`、`layout`、`primaryAction`、`responsive` 与 `acceptanceChecks`;前四项为具体非空说明,验收为非空字符串数组。公共主题不能代替这些决定。纯原生表单应用不增加虚构页记录。
|
|
24
|
-
3. 按 [整体主题规则](../../references/application-theme-consistency.md#导航与应用框架) 核对导航、应用框架、原生表单、记录详情与自定义页面的配色、形状、文字、间距和状态。每项必须保留 `visualMemoryApplications` 数组;没有匹配的主题记忆点时填写 `[]`,不要省略或写成字符串。按实际内容补页面局部差异与素材策略。完整主题由 CLI 注入,复杂组件定制时再读模板对应章节。
|
|
25
|
-
4. 全局和局部 token 遵守 [基础变量契约](../../templates/design-themes/basic-tokens.json),明确项目差异写 `visualStyle.tokens`,主色写 `forUser.colorStrategy.primaryColor`;沿用主题的字号、间距和组件圆角。
|
|
26
|
-
5. CLI 按 [公共输出契约](../../workflow/output-design.md) 生成 frontmatter、anchor 索引和五章正文,并调用同一 `check-design` 校验。缺少逐页决定时只保留可预览草稿,补齐后再生成最终产物;旧计划同样不得以继承主题套话补过门槛。
|
|
27
|
-
|
|
28
|
-
用户选择整体暗色或黑色主题时,按 [暗色主题浮层适配](../../references/theme/theme-token-presets.md#暗色主题浮层适配) 补齐 `visualStyle.tokens`;内容界面明暗与导航明暗分别描述,导航明暗仍由所选主题模板确定。
|
|
29
|
-
|
|
30
|
-
首版提交前,将基础视觉与 `pageApplications` 一次补齐到已有 `visual.json`。仅超大需求需要中间展示时才按 [按模块更新方案](../../../yida-app/workflow/incremental-preview.md) 提交。主流程负责生成方案、展示和确认,主题 CSS 使用 CLI 返回的 `outputs.theme`。
|
|
31
|
-
|
|
32
|
-
## 校验失败时定点修复
|
|
18
|
+
需求阶段选中视觉方向后,CLI 已将基础主题、主题色和导航样式预填为标准 Plan 输入,并通过主题模板补齐页面通用视觉。普通首版不再启动独立视觉模型任务;存在品牌稿、参考图、页面级特殊风格或用户明确要求视觉精修时,才在业务页面确定后执行本阶段,补充项目差异。
|
|
33
19
|
|
|
34
|
-
|
|
20
|
+
1. 读取 CLI 返回的 `authoring-context.md` 与紧凑计划契约,补齐页面视觉应用和素材策略。完整主题由 CLI 注入;具体组件需要定制时再读取模板对应章节。
|
|
21
|
+
2. 具体 token 差异写入 `visualStyle.tokens`;主色写入 `forUser.colorStrategy.primaryColor`。JSON 保存项目事实与差异,标准规则由模板提供。
|
|
22
|
+
3. 沿用草稿中的 pageId 与 sceneKey,逐页匹配实际任务和区块;默认设计引用由 CLI 生成和校验。
|
|
35
23
|
|
|
36
|
-
|
|
37
|
-
2. **修改**:以 `business.json` 的 `facts.pages.customPageDetails` 为准,让 `visual.json` 的 `facts.visualStyle.forUser.pageApplications` 与自定义页一一对应;原生表单和数据模型不加入。按 `missing_page` 补项、`unexpected_page` 移除多余绑定、`duplicate_page` 合并重复项;按 `expected_array`、`expected_object`、`expected_nonempty_string` 修正指定字段。每项 `visualMemoryApplications` 必须为数组,无适用内容填 `[]`。
|
|
38
|
-
3. **回读并重试**:确认修改已写入源文件,再重试原 `materialize` 命令。写入失败、跳过或结果未知时,先回读核实,不能仅凭发起过工具调用认定修复完成。
|
|
24
|
+
用户选择整体暗色或黑色主题时,按 [暗色主题浮层适配](../../references/theme/theme-token-presets.md#暗色主题浮层适配) 补齐 `visualStyle.tokens`;导航明暗保持独立。
|
|
39
25
|
|
|
40
|
-
|
|
26
|
+
需要精修时一次更新完整 `visual.json`,避免先提交基础视觉、再提交 `pageApplications` 形成两段等待。仅超大需求需要中间展示时才按 [按模块更新方案](../../../yida-app/workflow/incremental-preview.md) 提交。主流程负责生成完整方案、展示和确认,主题 CSS 使用 CLI 返回的 `outputs.theme`。
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
## 生成方式
|
|
4
4
|
|
|
5
|
-
`assets/build-plan-template.html` 是预置 HTML 模板,包含固定布局、样式与交互。`openyida design-plan materialize` 从同一版本的计划生成 PRD、设计文档与 HTML
|
|
5
|
+
`assets/build-plan-template.html` 是预置 HTML 模板,包含固定布局、样式与交互。`openyida design-plan materialize` 从同一版本的计划生成 PRD、设计文档与 HTML;渲染器一次填入标题、目录和完整正文。基础关系图与正文随文件生成,图表增强脚本异步加载,网络等待不阻塞目录和基础图交互。
|
|
6
6
|
|
|
7
7
|
## 用途
|
|
8
8
|
|
|
@@ -110,7 +110,7 @@ HTML 本体只包含:
|
|
|
110
110
|
- 需求总览:文档式小节流,包含应用概述、业务全景图、数据模型、业务流程、权限、导航菜单、视觉设计
|
|
111
111
|
- 数据模型:圆角字段表
|
|
112
112
|
- 业务流程:流程卡片
|
|
113
|
-
- 页面规划:页面总览表 +
|
|
113
|
+
- 页面规划:页面总览表 + 自定义页面详情卡片;详情展示页面定位、核心任务、内容优先级、功能区块、首屏结构、标志性交互、页面模式和权限
|
|
114
114
|
|
|
115
115
|
页面详情只展示用户可理解的结构说明,不得出现“模板”“预设”、`preset / adapted / custom`、页面模式内部 ID、主题 key、文件路径或其他生成器术语。内部页面模式必须转换为“聚焦填报页、列表与详情页、分类信息页、紧凑工作台”等业务化名称;内容丰富度和信息密度的英文枚举也必须转换为中文。
|
|
116
116
|
|
|
@@ -136,7 +136,7 @@ HTML 本体只包含:
|
|
|
136
136
|
|
|
137
137
|
## 需求总览摘要
|
|
138
138
|
|
|
139
|
-
|
|
139
|
+
需求总览中的“数据模型、业务流程、权限、导航菜单、视觉设计”必须使用单列纵向排列,不使用卡片宫格。整体视觉放在“视觉设计”,逐页视觉应用放在对应页面详情。
|
|
140
140
|
|
|
141
141
|
需求总览布局:
|
|
142
142
|
|
|
@@ -202,17 +202,13 @@ HTML 本体只包含:
|
|
|
202
202
|
- 不使用负 letter-spacing。
|
|
203
203
|
- 内容不可重叠,表格可横向滚动。
|
|
204
204
|
|
|
205
|
-
##
|
|
205
|
+
## 需求总览中的视觉信息
|
|
206
206
|
|
|
207
|
-
`build-plan.html`
|
|
207
|
+
`build-plan.html` 保持需求总览、数据模型、业务流程、页面规划四章,完整展示用户需要确认的方案;Markdown 为 Agent 提供执行契约。
|
|
208
208
|
|
|
209
|
-
-
|
|
210
|
-
-
|
|
211
|
-
-
|
|
212
|
-
-
|
|
209
|
+
- 需求总览:应用概述、业务目标、业务全景图、业务与权限摘要、完整视觉方向、色彩和导航、组件与状态、响应式、素材现状和缺口。
|
|
210
|
+
- 数据模型:表单、字段、关系、视图、初始示例记录或跳过原因。
|
|
211
|
+
- 业务流程:触发条件、节点、业务规则,以及空态、异常和入口交互。
|
|
212
|
+
- 页面规划:页面任务、区块、首屏、密度、权限、数据来源、主操作、逐页视觉应用,搭建范围、三种顺序和验收标准。
|
|
213
213
|
|
|
214
|
-
HTML
|
|
215
|
-
|
|
216
|
-
这些是展示范围约束,不改变事实编写与交接要求:`build-plan.json` 保留完整业务、视觉和执行事实,`prd.md` 与 `design.md` 继续按各自契约生成完整内容,页面实现和验收仍消费这些内容。HTML 与 Markdown 来自同一版本,显式覆盖优先级相同,不从精简后的 HTML 反向生成或删减底层事实,也不新增确认环节。
|
|
217
|
-
|
|
218
|
-
页面 ID 转为名称,技术字段转为业务表达;CLI 命令、运行 ID、模板路径、内部版本状态和原始 token 定义保留给 Agent。
|
|
214
|
+
HTML 与 Markdown 使用同一份解析后的业务交接,显式覆盖优先级相同。页面 ID 转为名称,技术字段转为业务表达;CLI 命令、运行 ID、模板路径、内部版本状态和原始 token 定义保留给 Agent。不得为了精简 HTML 省略用户需要确认的业务、视觉或验收内容。
|
package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/assets/build-plan-template.html
CHANGED
|
@@ -91,9 +91,9 @@
|
|
|
91
91
|
}
|
|
92
92
|
.nav-item.is-active {
|
|
93
93
|
background: rgba(0, 102, 255, 0.09);
|
|
94
|
-
color: #0066ff;
|
|
95
94
|
}
|
|
96
95
|
.nav-item.is-active .nav-title {
|
|
96
|
+
color: #0066ff;
|
|
97
97
|
font-weight: 600;
|
|
98
98
|
}
|
|
99
99
|
.nav-item { text-decoration: none; }
|
|
@@ -111,17 +111,12 @@
|
|
|
111
111
|
width: 16px;
|
|
112
112
|
height: 16px;
|
|
113
113
|
display: block;
|
|
114
|
-
|
|
115
|
-
}
|
|
116
|
-
.nav-item.is-active .nav-icon-img {
|
|
117
|
-
background: currentColor;
|
|
118
|
-
-webkit-mask: var(--nav-icon-image) center / contain no-repeat;
|
|
119
|
-
mask: var(--nav-icon-image) center / contain no-repeat;
|
|
114
|
+
object-fit: contain;
|
|
120
115
|
}
|
|
121
116
|
.nav-icon-fallback {
|
|
122
117
|
width: 16px;
|
|
123
118
|
height: 16px;
|
|
124
|
-
border: 1.8px solid
|
|
119
|
+
border: 1.8px solid var(--text-primary);
|
|
125
120
|
border-radius: 4px;
|
|
126
121
|
}
|
|
127
122
|
.nav-copy {
|
|
@@ -130,7 +125,7 @@
|
|
|
130
125
|
align-items: center;
|
|
131
126
|
}
|
|
132
127
|
.nav-title {
|
|
133
|
-
color:
|
|
128
|
+
color: var(--text-primary);
|
|
134
129
|
font-size: 14px;
|
|
135
130
|
font-weight: 500;
|
|
136
131
|
line-height: 1.25;
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
## 输入与生成
|
|
4
4
|
|
|
5
|
-
`design-plan init`
|
|
5
|
+
`design-plan init` 从已确认需求建立草稿、主题上下文和业务/视觉片段,返回必要任务与可选视觉精修。标准首版只编写业务事实,视觉片段复用已确认选择,由 CLI 补齐标准页面视觉;视觉选择不完整时返回补齐任务,有特殊视觉要求时执行可选精修。片段写入与合并见 [并行交接](../../../../yida-app/workflow/parallel-work.md#plan-的-cli-交接)。保留生成的项目目录名、页面 ID 与 sceneKey;业务名称使用 `meta.appName`。补齐业务与视觉片段后执行交接命令;直接维护单一计划时使用:
|
|
6
6
|
|
|
7
|
-
init 已预填 `business.json` 结构,业务任务先读后写并保留 base
|
|
7
|
+
init 已预填 `business.json` 结构,业务任务先读后写并保留 base。业务 facts 仅允许 overview、dataModels、businessFlows、pages、execution;visualStyle 只属于 `visual.json`。首次合并前一次补齐每个普通表单的 sampleDataPlan(跳过则写 skipReason)和每个自定义页面的 permissionSummary,避免用多轮 materialize 探测必填字段。
|
|
8
8
|
|
|
9
9
|
```bash
|
|
10
|
-
openyida design-plan materialize prd/<项目名>/build-plan.json --
|
|
10
|
+
openyida design-plan materialize prd/<项目名>/build-plan.json --json
|
|
11
11
|
```
|
|
12
12
|
|
|
13
13
|
CLI 校验源事实,使用预置模板整批生成 `prd.md`、`design.md` 和 `build-plan.html`。模板标准规则、摘要、设计路径和默认交接字段自动补齐。模型只维护源事实及项目差异。
|
|
@@ -28,7 +28,7 @@ CLI 校验源事实,使用预置模板整批生成 `prd.md`、`design.md` 和
|
|
|
28
28
|
|
|
29
29
|
业务全景节点、数据模型摘要、页面概览和视觉摘要由 CLI 派生。
|
|
30
30
|
|
|
31
|
-
自定义导航在 `overview.navigationSummary`
|
|
31
|
+
自定义导航在 `overview.navigationSummary` 记录已选布局、入口用途和打开方式:顶部默认浮导;侧边及混合布局包含折叠/展开、恢复宽度与拖拽调宽。页面的 `firstScreenStructure/signatureInteraction` 保留相应设计与交互,按业务设计手写 UI,CLI 示例不是默认外观。管理入口对应 workbench,直接填写对应 submission;同一表单可规划两个入口。区分本页视图、主内容 iframe 与当前标签跨页跳转,沿用 [导航规则](../../../../yida-nav-shell/SKILL.md),不另起确认问题。
|
|
32
32
|
|
|
33
33
|
## 数据模型与流程
|
|
34
34
|
|
|
@@ -59,60 +59,49 @@ CLI 校验源事实,使用预置模板整批生成 `prd.md`、`design.md` 和
|
|
|
59
59
|
| --- | --- |
|
|
60
60
|
| `pageId/sceneKey/name` | 稳定 ID、稳定场景 key、业务名称;sceneKey 位于页面顶层 |
|
|
61
61
|
| `positioning/primaryUsers/primaryTask` | 页面定位、用户数组、核心任务 |
|
|
62
|
-
| `blocks` |
|
|
63
|
-
| `contentPriority` | 有独立优先级设计时填写;省略时由结构化 blocks 的顺序和名称派生 |
|
|
62
|
+
| `contentPriority/blocks` | 内容优先级数组、功能区块数组 |
|
|
64
63
|
| `firstScreenStructure/signatureInteraction` | 首屏布局与关键交互 |
|
|
65
64
|
| `layoutPattern` | `{id,reason,adaptations}`;id 从当前上下文的页面模式选择,adaptations 只写项目差异 |
|
|
66
|
-
| `contentRichness.contentLayers` |
|
|
65
|
+
| `contentRichness.contentLayers` | 实际业务需要的决策、任务、上下文、异常或下一步内容,非空数组 |
|
|
67
66
|
| `density/permissionSummary` | 信息密度与权限说明 |
|
|
68
67
|
| `dataBinding/dataSources` | `form/report/connector/static-empty`;来源为名称数组,form 对应已有模型 |
|
|
69
68
|
| `emptyReason` | static-empty 时填写原因,并将 dataSources 设为 `[]` |
|
|
70
69
|
|
|
71
|
-
例如 `blocks: [{"name":"客房选择","purpose":"按日期和人数筛选可预约房型"},{"name":"预约结果","purpose":"查看提交结果,失败时保留输入并显示原因"}]`。每项仅使用 name、purpose;业务动作和成功、失败处理写入用途或 signatureInteraction。现有字符串 blocks 继续配合 contentPriority 与 contentRichness.contentLayers 使用;已填写的独立设计原样保留。
|
|
72
|
-
|
|
73
70
|
页面模式的 mode、mustKeep、丰富度标准、页面概览由 CLI 补齐。页面按任务选择模式,工作台通常在首位。报名、申请、登记入口承接表单提交;查询和维护承接数据管理。
|
|
74
71
|
|
|
75
72
|
只有覆盖默认值时才写 `pageSpecHandoff`,允许的字段为:
|
|
76
73
|
|
|
77
74
|
- `scene`:`workbench/dashboard/list/detail/landing/screen`,也可写在页面顶层;与页面模式 ID 分开。
|
|
78
75
|
- `pageStructure`:`workbench/dashboard-overview/business-list/detail-profile/official-homepage/data-screen/split-pane-detail/portal-shell-home`。
|
|
79
|
-
- `entryMode`:`platform-shell/standalone
|
|
80
|
-
- `navigation`:可选的当前入口菜单 `{type:"custom",variant:"top",reason:"员工只办理自己的事项"}`,variant 为 top/side/mixed/dock;无菜单用 `{type:"none",reason:"单步办理"}`。只能用于 standalone,不接受应用设置字段。省略则沿用既有入口规则;CLI 不据此修改应用 navigationType。
|
|
76
|
+
- `entryMode`:`platform-shell/standalone`;自定义导航由 CLI 使用 standalone。
|
|
81
77
|
- `contentBlocks/dataSources/dataBinding/emptyReason/primaryAction/themeSummary`:本页交接差异。
|
|
82
|
-
- `designFile/designRefs
|
|
78
|
+
- `designFile/designRefs`:默认由 CLI 生成 `prd/<projectName>/design.md` 和 `themeProfile`、`sceneRecipes.<sceneKey>`。额外引用须存在于最终设计文档的 components、states 或 sceneRecipes 中。
|
|
83
79
|
|
|
84
80
|
## 视觉事实
|
|
85
81
|
|
|
86
82
|
`visualStyle` 保存项目选择和差异:
|
|
87
83
|
|
|
88
|
-
应用风格可选择目录中的模板,也可使用 `catalog.creativeOption` 的独立创意入口。后者必须补齐 `visualStyle.creativeDirection`(业务推演、构图、字体、材质、表单布局)与显式设计 Token;详见[应用风格模板与自由创意](../../../references/application-style-library.md)。初始化不会把缺失创意决策标成已完成。
|
|
89
|
-
|
|
90
|
-
在 `visual.json` 中它位于 `facts.visualStyle`。沿用 init 生成的 `forUser.visualDirection` 和 `forUser.navigationStyle` 对象,只编辑内部字段,不改成字符串或数组。`DESIGN_PLAN_VISUAL_FIELD_TYPE_INVALID` 会给出字段路径与对象示例;示例只说明结构,实际值沿用已确认的视觉选择。
|
|
91
|
-
|
|
92
84
|
```json
|
|
93
85
|
{
|
|
94
86
|
"forUser": {
|
|
95
87
|
"visualDirection": {"label":"清晰柔和","description":"突出待办与业务状态,浅色界面搭配暖棕色重点操作","source":"user_selected"},
|
|
96
|
-
"colorStrategy": {"primaryColor":"#6F4E37","primaryColorName":"暖棕色","source":"user_selected","usage":"暖棕浅底、白色卡片与品牌焦点协调"},
|
|
97
|
-
"navigationStyle": {"structure":"side","tone":"light","
|
|
98
|
-
"iconSystem": {"library":"lucide-react","mappings":{"新建采购":"Plus"}},
|
|
88
|
+
"colorStrategy": {"primaryColor":"#6F4E37","primaryColorName":"暖棕色","source":"user_selected","surfaceTone":"brand-tinted","usage":"暖棕浅底、白色卡片与品牌焦点协调"},
|
|
89
|
+
"navigationStyle": {"structure":"side","tone":"light","source":"user_selected","selectionReason":"沿用已选的左侧导航"},
|
|
99
90
|
"pageApplications": [
|
|
100
|
-
{"pageId":"page-1","
|
|
91
|
+
{"pageId":"page-1","visualMemoryApplications":[{"name":"摘要拼接组","renderPolicy":"prd_match_only","target":"采购待办摘要","reason":"页面已有并列的待办状态"}]}
|
|
101
92
|
],
|
|
102
93
|
"assetStrategy": {"materialStatus":"none","pages":[{"pageId":"page-1","imageNeed":"none","reason":"纯数据操作页","slots":[]}],"missingAssets":[],"notes":"无图片需求"}
|
|
103
94
|
},
|
|
104
|
-
"internal": {"selectedTheme":{"themeId":"
|
|
95
|
+
"internal": {"selectedTheme":{"themeId":"airy-modular-clarity","source":"user_selected"}},
|
|
105
96
|
"forDesignMd": {"productTopologyApplication":"工作台与表单共享主题,视觉重点绑定已有采购任务"}
|
|
106
97
|
}
|
|
107
98
|
```
|
|
108
99
|
|
|
109
|
-
- 已选主题取当前上下文;主色为 6 位 HEX。导航
|
|
110
|
-
-
|
|
111
|
-
- 视觉记忆点按适用条件绑定真实区块,无匹配时保留空数组。草稿缺逐页决定可预览,最终产物拒绝缺项;旧计划沿用同一规则,补齐后再物化。
|
|
100
|
+
- 已选主题取当前上下文;主色为 6 位 HEX。导航 structure 为 top/side,tone 为 light/dark;它与整页暗色风格分开记录。
|
|
101
|
+
- 页面视觉绑定使用相同 pageId,按上下文中的视觉记忆点及适用条件匹配真实区块;没有匹配内容时保留空数组,并在项目应用中说明。
|
|
112
102
|
- `visualStyle.evidence/constraints` 保留实际视觉依据和约束。
|
|
113
|
-
- `forUser.iconSystem` 可选,包含 `library: "lucide-react" | "@ant-design/icons"` 与 `mappings: {业务语义: 具体组件名}`。有底盒或状态背景时,按 [图标输出契约](../../../workflow/output-design.md#图片素材与图标) 补充 `colorPairs`。初始化保留 brief 的已选图标映射;仅未配置时默认 lucide-react 与空映射。
|
|
114
103
|
- `visualStyle.tokens` 可写具体单行 CSS token 差异,如 `{"--pod-card-border-radius":"16px"}`。品牌色阶由主色派生;themeProfile 为只读摘要。
|
|
115
|
-
-
|
|
104
|
+
- 完整主题的 token、组件、状态、响应式和自检规则由 CLI 注入 design.md。项目独有组件调整时再读模板对应章节;整体暗色主题按需读取暗色浮层规则。
|
|
116
105
|
|
|
117
106
|
## 执行交接
|
|
118
107
|
|
|
@@ -120,43 +109,32 @@ CLI 校验源事实,使用预置模板整批生成 `prd.md`、`design.md` 和
|
|
|
120
109
|
|
|
121
110
|
| 字段 | 格式 |
|
|
122
111
|
| --- | --- |
|
|
123
|
-
| `appConfig` | 已知真实 `appType/corpId/baseUrl`;`navigationType` 为 platform-l-shape/platform-top/platform-side/custom
|
|
112
|
+
| `appConfig` | 已知真实 `appType/corpId/baseUrl`;`navigationType` 为 platform-l-shape/platform-top/platform-side/custom。hideAppNav/layoutDirection/navTheme/logoSource 由导航与视觉派生 |
|
|
124
113
|
| `explicitScope` | 用户明确的页面、表单、流程、报表、导航和交付范围;`allowInferredResources=false` 时不增加未点名的 seed records、自定义页面、主题或导航任务;自定义导航布局保留在 navigation.variant |
|
|
125
114
|
| `resourceBlueprint` | `{name,type,purpose,pageId?}` 数组;type 为 normal-form/process-form/display-page/report,名称与模型、页面对应且唯一 |
|
|
126
115
|
| `resourceCreationOrder` | 覆盖全部资源的有序名称数组,先应用,再被依赖模型,最后依赖它们的页面 |
|
|
127
116
|
| `pageImplementationOrder` | 覆盖全部页面的 pageId 或名称数组 |
|
|
128
|
-
| `
|
|
129
|
-
| `navigationOrder/navigationFallback` | 旧计划的菜单顺序或排序策略;提供 entryRecommendation 时从管理菜单派生,不混入前台菜单,重复声明必须一致 |
|
|
117
|
+
| `navigationOrder/navigationFallback` | 已确认的菜单顺序,或明确的排序策略;权限接口决定可见性 |
|
|
130
118
|
| `sampleDataPlan` | `{form,records}` 或 `{form,skipReason}` 数组,覆盖全部普通表单 |
|
|
131
|
-
| `interactionStates` |
|
|
132
|
-
| `acceptanceCriteria` |
|
|
133
|
-
|
|
134
|
-
### 派生的页面导航策略
|
|
135
|
-
|
|
136
|
-
PRD 实施交接中的 `pages[].navigationPolicy` 与 `pageSpecHandoff` 同级,由 CLI 生成,不是 build-plan.json、business.json、brief 或 page-spec.json 的输入字段。派发页面任务时一并传递;Fast 在 PRD/design.md 明确同样边界。
|
|
137
|
-
|
|
138
|
-
| 条件 | applicationMenuOwner | pageLayout | renderApplicationMenu | localTabs |
|
|
139
|
-
| --- | --- | --- | --- | --- |
|
|
140
|
-
| platform-shell | platform | content-only | false | same-task-only |
|
|
141
|
-
| standalone 且显式 custom 菜单,或沿用应用级 custom | page | standalone | true | planned-views |
|
|
142
|
-
| standalone 显式 none,或未规划菜单且应用保留平台导航 | none | standalone | false | same-task-only |
|
|
119
|
+
| `interactionStates` | 可覆盖 empty/loading/error/formEntry/detail 的业务行为说明 |
|
|
120
|
+
| `acceptanceCriteria` | 非空业务验收标准数组 |
|
|
143
121
|
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
源 JSON 保留完整项目事实,派生后的 PRD 包含完整 11 章业务与实施交接;HTML 仅按 [展示规范](../assets/README.md#需求确认内容范围) 呈现需求确认内容,不减少 PRD 或设计文档的交接要求。
|
|
122
|
+
源 JSON 保留项目事实;派生后的 PRD 包含完整 11 章业务与实施交接,HTML 展示同一套业务内容。
|
|
147
123
|
|
|
148
124
|
## 调整与确认
|
|
149
125
|
|
|
150
|
-
|
|
126
|
+
调整现有事实使用字段级修改:
|
|
151
127
|
|
|
152
|
-
|
|
128
|
+
```bash
|
|
129
|
+
openyida design-plan patch prd/<项目名>/build-plan.json --set 'visualStyle.forUser.colorStrategy.primaryColor=#8B5E3C' --materialize --json
|
|
130
|
+
```
|
|
153
131
|
|
|
154
|
-
|
|
132
|
+
CLI 自动递增 revision、清除旧确认,并在使用 `--materialize` 时同步三份文档和主题 CSS。支持首次添加 execution 的可选字段、tokens、已有页面交接字段和模型示例数据;数组项需已存在。
|
|
133
|
+
|
|
134
|
+
并行合并时 CLI 设置 `meta.status=awaiting_confirmation`;直接维护单一计划时由编排在生成前设置。展示成功后记录 `meta.planState.presentedRevision=meta.revision`;收到明确确认后设置 status=confirmed、planConfirmed=true、confirmedRevision=presentedRevision,再生成文档同步确认状态。详细交互见应用流程的生成与确认步骤。`askhuman` 只保存需要留档的交互事实,未选候选留在会话中。
|
|
155
135
|
|
|
156
136
|
旧版无 schemaVersion 或 1.x 文件继续使用原结构;维护旧计划时按需查阅旧版结构说明。
|
|
157
137
|
|
|
158
138
|
## 可选字段 patch 与完成校验
|
|
159
139
|
|
|
160
140
|
CLI 集中返回可独立检查的问题及字段路径,再执行完整业务、主题和 HTML 校验。按问题清单一次补齐源事实后重试;草稿空值表示待规划,全部校验通过才写入派生产物。仅做诊断时使用 `--check`。
|
|
161
|
-
|
|
162
|
-
自由创意(`free-creative`)没有模板导航默认值:在 `navigationStyle.tone` 明确填写项目设计的 `light` 或 `dark`,CLI 标记 `toneSource=project_defined`;此路径可通过 patch 调整 tone,并同步配套导航 Token。命名模板仍按模板派生导航明暗。
|