@xenonbyte/da-vinci-workflow 0.1.9 → 0.1.10
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/CHANGELOG.md +8 -0
- package/README.md +75 -1
- package/README.zh-CN.md +75 -1
- package/SKILL.md +33 -0
- package/docs/mode-use-cases.md +21 -7
- package/docs/visual-adapters.md +82 -0
- package/docs/visual-assist-presets/README.md +7 -0
- package/docs/visual-assist-presets/desktop-app.md +1 -0
- package/docs/visual-assist-presets/mobile-app.md +1 -0
- package/docs/visual-assist-presets/tablet-app.md +1 -0
- package/docs/visual-assist-presets/web-app.md +1 -0
- package/docs/workflow-examples.md +13 -2
- package/docs/zh-CN/mode-use-cases.md +8 -0
- package/docs/zh-CN/visual-adapters.md +82 -0
- package/docs/zh-CN/visual-assist-presets/README.md +7 -0
- package/docs/zh-CN/visual-assist-presets/desktop-app.md +1 -0
- package/docs/zh-CN/visual-assist-presets/mobile-app.md +1 -0
- package/docs/zh-CN/visual-assist-presets/tablet-app.md +1 -0
- package/docs/zh-CN/visual-assist-presets/web-app.md +1 -0
- package/docs/zh-CN/workflow-examples.md +13 -2
- package/package.json +1 -1
- package/references/artifact-templates.md +11 -0
- package/references/checkpoints.md +9 -2
- package/references/page-mapping.md +12 -0
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,14 @@
|
|
|
4
4
|
|
|
5
5
|
- No unreleased changes yet.
|
|
6
6
|
|
|
7
|
+
## v0.1.10 - 2026-03-27
|
|
8
|
+
|
|
9
|
+
### Changed
|
|
10
|
+
- `redesign-from-code` now documents a stricter contract: existing code is behavior truth, not layout truth
|
|
11
|
+
- complex screens are now documented to decompose into subpages, overlays, materially different states, and implementation surfaces before broad Pencil redesign
|
|
12
|
+
- design-checkpoint guidance now explicitly blocks skin-swap redesigns, generic card mosaics, weak visual anchors, and decorative clutter
|
|
13
|
+
- `Visual Assist` documentation and README guidance now include clearer field explanations, quick-start recommendations, quality-first configuration advice, and stronger usage examples for Android-style redesign work
|
|
14
|
+
|
|
7
15
|
## v0.1.9 - 2026-03-27
|
|
8
16
|
|
|
9
17
|
### Added
|
package/README.md
CHANGED
|
@@ -27,10 +27,14 @@ This workflow is intended for:
|
|
|
27
27
|
|
|
28
28
|
Latest published npm package:
|
|
29
29
|
|
|
30
|
-
- `@xenonbyte/da-vinci-workflow@0.1.
|
|
30
|
+
- `@xenonbyte/da-vinci-workflow@0.1.10`
|
|
31
31
|
|
|
32
32
|
Release highlights:
|
|
33
33
|
|
|
34
|
+
- `redesign-from-code` now states explicitly that existing code is behavior truth, not layout truth
|
|
35
|
+
- complex pages are now expected to decompose into subpages, overlays, materially different states, and implementation surfaces before broad Pencil redesign
|
|
36
|
+
- design-checkpoint guidance now explicitly blocks skin-swap redesigns, generic card mosaics, weak visual anchors, and decorative clutter
|
|
37
|
+
- `Visual Assist` docs now include quick-start recommendations and a quality-first configuration for design-critical work
|
|
34
38
|
- visual-adapter configuration is now documented explicitly, including field meanings, resolution order, and fallback behavior
|
|
35
39
|
- ready-to-copy `Visual Assist` presets are now included for mobile, desktop, web, and tablet scenarios
|
|
36
40
|
- the repo-local forward test now shows how `Visual Assist`, adapter resolution, and persisted `.pen` paths should be recorded
|
|
@@ -86,6 +90,67 @@ Route discipline:
|
|
|
86
90
|
- they should not default the user into `build`
|
|
87
91
|
- `build` remains a direct expert route for workflows that are already implementation-ready
|
|
88
92
|
|
|
93
|
+
## Visual Assist Quick Start
|
|
94
|
+
|
|
95
|
+
Use `Visual Assist` when the project wants optional help from local UI-design skills such as `frontend-skill` or `ui-ux-pro-max`.
|
|
96
|
+
|
|
97
|
+
Recommended default:
|
|
98
|
+
|
|
99
|
+
```md
|
|
100
|
+
## Visual Assist
|
|
101
|
+
- Preferred adapters:
|
|
102
|
+
- ui-ux-pro-max
|
|
103
|
+
- frontend-skill
|
|
104
|
+
- Scope:
|
|
105
|
+
- visual contract refinement
|
|
106
|
+
- page composition
|
|
107
|
+
- hierarchy and spacing
|
|
108
|
+
- Pencil design refinement
|
|
109
|
+
- Fallback:
|
|
110
|
+
- native-da-vinci
|
|
111
|
+
- Require Adapter:
|
|
112
|
+
- false
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
Use this when:
|
|
116
|
+
|
|
117
|
+
- the project is an app, dashboard, desktop tool, or other product surface
|
|
118
|
+
- the workflow should continue even if no local adapter is installed
|
|
119
|
+
- you want better composition and hierarchy without turning adapter availability into a blocker
|
|
120
|
+
|
|
121
|
+
Quality-first redesign configuration:
|
|
122
|
+
|
|
123
|
+
```md
|
|
124
|
+
## Visual Assist
|
|
125
|
+
- Preferred adapters:
|
|
126
|
+
- frontend-skill
|
|
127
|
+
- ui-ux-pro-max
|
|
128
|
+
- Scope:
|
|
129
|
+
- visual contract refinement
|
|
130
|
+
- page composition
|
|
131
|
+
- hierarchy and spacing
|
|
132
|
+
- motion guidance
|
|
133
|
+
- Pencil design refinement
|
|
134
|
+
- Fallback:
|
|
135
|
+
- native-da-vinci
|
|
136
|
+
- Require Adapter:
|
|
137
|
+
- true
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
Use this when:
|
|
141
|
+
|
|
142
|
+
- the project is visually sensitive and plain fallback quality is not acceptable
|
|
143
|
+
- prior redesign attempts drifted into generic card grids, weak anchors, or skin-swap outputs
|
|
144
|
+
- you want the workflow to stop instead of silently continuing without a strong local design helper
|
|
145
|
+
|
|
146
|
+
Selection rules:
|
|
147
|
+
|
|
148
|
+
- keep `ui-ux-pro-max` first for dense app and dashboard surfaces when the visual bar is moderate
|
|
149
|
+
- move `frontend-skill` to the first slot when art direction, composition quality, and premium visual hierarchy matter more
|
|
150
|
+
- keep `Fallback: native-da-vinci` unless you explicitly want missing adapters to block the workflow
|
|
151
|
+
- keep `Require Adapter: false` by default and raise it to `true` only for design-critical work
|
|
152
|
+
- keep `Scope` limited to presentation quality; do not use it to delegate behavior, routes, or state truth
|
|
153
|
+
|
|
89
154
|
## Core workflow
|
|
90
155
|
|
|
91
156
|
Da Vinci runs in this order:
|
|
@@ -232,6 +297,8 @@ Rules:
|
|
|
232
297
|
- `.da-vinci/designs/` is the default project-local location for persisted `.pen` files
|
|
233
298
|
- `page-map.md` is the source of truth for implementation pages
|
|
234
299
|
- `pencil-bindings.md` is the source of truth for implementation page -> Pencil page mapping
|
|
300
|
+
- in `redesign-from-code`, existing code is behavior truth, not layout truth
|
|
301
|
+
- complex pages should be decomposed into subpages, states, overlays, and implementation surfaces before Pencil redesign is treated as final
|
|
235
302
|
|
|
236
303
|
Optional visual-adapter policy:
|
|
237
304
|
|
|
@@ -241,6 +308,12 @@ Optional visual-adapter policy:
|
|
|
241
308
|
- they must not override behavior truth, route truth, page-state truth, or acceptance rules
|
|
242
309
|
- if a requested adapter is unavailable locally, Da Vinci should continue with native design rules and record the fallback in `design-registry.md`
|
|
243
310
|
|
|
311
|
+
Recommended practice:
|
|
312
|
+
|
|
313
|
+
- configure `Visual Assist` in `DA-VINCI.md` before broad Pencil generation begins
|
|
314
|
+
- for complex Android redesigns, ask Da Vinci to decompose activities, fragments, tabs, sheets, dialogs, and materially different states before design work expands
|
|
315
|
+
- if the output quality is weak, promote `frontend-skill`, tighten the design checkpoint bar, and prefer a fresh composition over a recolor of the old UI
|
|
316
|
+
|
|
244
317
|
When a relevant mapping already exists:
|
|
245
318
|
|
|
246
319
|
- iterate on the mapped Pencil source
|
|
@@ -250,6 +323,7 @@ When mappings do not exist but local code exists:
|
|
|
250
323
|
|
|
251
324
|
- reconstruct the baseline from the local project
|
|
252
325
|
- rebuild inventory, page map, and design registry
|
|
326
|
+
- decompose complex containers into real design surfaces before broad Pencil generation
|
|
253
327
|
- save or export the rebuilt Pencil baseline into `.da-vinci/designs/` when possible
|
|
254
328
|
|
|
255
329
|
When neither mappings nor usable design sources exist:
|
package/README.zh-CN.md
CHANGED
|
@@ -29,10 +29,14 @@ Da Vinci 是一个把产品需求一路推进到结构化规格、Pencil 设计
|
|
|
29
29
|
|
|
30
30
|
最新已发布 npm 包:
|
|
31
31
|
|
|
32
|
-
- `@xenonbyte/da-vinci-workflow@0.1.
|
|
32
|
+
- `@xenonbyte/da-vinci-workflow@0.1.10`
|
|
33
33
|
|
|
34
34
|
已发布版本重点:
|
|
35
35
|
|
|
36
|
+
- `redesign-from-code` 现在明确写清:现有代码只是真相行为,不是真相布局
|
|
37
|
+
- 复杂页面现在明确要求在大规模 Pencil 重设计前拆成 subpage、overlay、明显不同 state 和 implementation surface
|
|
38
|
+
- design checkpoint 现在明确会拦截旧 UI 换皮、通用卡片拼贴、弱视觉锚点和装饰性噪音
|
|
39
|
+
- `Visual Assist` 文档现在补了快速上手建议和“设计质量优先”配置
|
|
36
40
|
- visual adapter 的配置字段、解析顺序和回退行为现在有单独文档说明
|
|
37
41
|
- 现在提供按移动端、桌面端、Web、平板拆分的 `Visual Assist` 可复制模板
|
|
38
42
|
- 仓库内的 forward test 示例现在展示了 `Visual Assist`、adapter 解析结果和 `.pen` 持久化记录方式
|
|
@@ -91,6 +95,67 @@ Da Vinci V2 支持四种模式:
|
|
|
91
95
|
- 它们不应该默认把用户直接导向 `build`
|
|
92
96
|
- `build` 仍然保留,但它是给已经实现就绪的高级直接入口
|
|
93
97
|
|
|
98
|
+
## Visual Assist 快速上手
|
|
99
|
+
|
|
100
|
+
当项目想借助本地 UI 设计 skill,例如 `frontend-skill` 或 `ui-ux-pro-max`,来提升设计质量时,就配置 `Visual Assist`。
|
|
101
|
+
|
|
102
|
+
推荐默认配置:
|
|
103
|
+
|
|
104
|
+
```md
|
|
105
|
+
## Visual Assist
|
|
106
|
+
- Preferred adapters:
|
|
107
|
+
- ui-ux-pro-max
|
|
108
|
+
- frontend-skill
|
|
109
|
+
- Scope:
|
|
110
|
+
- visual contract refinement
|
|
111
|
+
- page composition
|
|
112
|
+
- hierarchy and spacing
|
|
113
|
+
- Pencil design refinement
|
|
114
|
+
- Fallback:
|
|
115
|
+
- native-da-vinci
|
|
116
|
+
- Require Adapter:
|
|
117
|
+
- false
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
适用场景:
|
|
121
|
+
|
|
122
|
+
- app、dashboard、桌面工具等产品型界面
|
|
123
|
+
- 本地没有 adapter 时工作流也应该继续
|
|
124
|
+
- 想提升构图和层级,但不希望 adapter 缺失变成阻塞
|
|
125
|
+
|
|
126
|
+
设计质量优先配置:
|
|
127
|
+
|
|
128
|
+
```md
|
|
129
|
+
## Visual Assist
|
|
130
|
+
- Preferred adapters:
|
|
131
|
+
- frontend-skill
|
|
132
|
+
- ui-ux-pro-max
|
|
133
|
+
- Scope:
|
|
134
|
+
- visual contract refinement
|
|
135
|
+
- page composition
|
|
136
|
+
- hierarchy and spacing
|
|
137
|
+
- motion guidance
|
|
138
|
+
- Pencil design refinement
|
|
139
|
+
- Fallback:
|
|
140
|
+
- native-da-vinci
|
|
141
|
+
- Require Adapter:
|
|
142
|
+
- true
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
适用场景:
|
|
146
|
+
|
|
147
|
+
- 页面视觉质量要求高,不能接受普通 fallback 质量
|
|
148
|
+
- 之前的重设计已经出现“堆卡片、弱锚点、只是旧 UI 换皮”这类问题
|
|
149
|
+
- 你希望没有强设计辅助 skill 时直接停下,而不是继续生成普通结果
|
|
150
|
+
|
|
151
|
+
选择建议:
|
|
152
|
+
|
|
153
|
+
- 高密度 app、dashboard、工具型界面,且视觉要求中等时,优先把 `ui-ux-pro-max` 放第一位
|
|
154
|
+
- 如果更重视 art direction、构图和高级感,就把 `frontend-skill` 放第一位
|
|
155
|
+
- 默认保留 `Fallback: native-da-vinci`
|
|
156
|
+
- `Require Adapter` 默认保持 `false`,只有设计要求很高时再改成 `true`
|
|
157
|
+
- `Scope` 只管 presentation 质量,不要拿它去定义 behavior、route 或 state truth
|
|
158
|
+
|
|
94
159
|
## 核心工作流顺序
|
|
95
160
|
|
|
96
161
|
Da Vinci 的默认顺序是:
|
|
@@ -185,6 +250,8 @@ project/
|
|
|
185
250
|
- `.da-vinci/designs/` 是项目内持久化 `.pen` 文件的默认位置
|
|
186
251
|
- `page-map.md` 是实现页面和状态的真相源
|
|
187
252
|
- `pencil-bindings.md` 是实现页面到 Pencil 页面绑定的真相源
|
|
253
|
+
- 在 `redesign-from-code` 里,现有代码只是真相行为,不是真相布局
|
|
254
|
+
- 复杂页面在 Pencil 重设计前应该先拆成 subpage、state、overlay 和 implementation surface
|
|
188
255
|
|
|
189
256
|
可选 visual adapter 规则:
|
|
190
257
|
|
|
@@ -194,6 +261,12 @@ project/
|
|
|
194
261
|
- 它不能覆盖 behavior truth、路由真相、页面状态真相或验收规则
|
|
195
262
|
- 如果本地没有请求的 adapter,Da Vinci 应继续使用原生设计规则,并在 `design-registry.md` 里记录回退结果
|
|
196
263
|
|
|
264
|
+
建议做法:
|
|
265
|
+
|
|
266
|
+
- 在开始大规模 Pencil 设计前,就在 `DA-VINCI.md` 里写好 `Visual Assist`
|
|
267
|
+
- 面对复杂 Android 重设计时,先要求 Da Vinci 把 activities、fragments、tabs、sheets、dialogs 和明显不同的 states 拆开
|
|
268
|
+
- 如果结果很丑,就把 `frontend-skill` 提到第一位,收紧 design checkpoint,并明确要求 fresh composition,而不是旧 UI 改色
|
|
269
|
+
|
|
197
270
|
当已有页面映射存在时:
|
|
198
271
|
|
|
199
272
|
- 优先复用已绑定的 Pencil 设计源
|
|
@@ -203,6 +276,7 @@ project/
|
|
|
203
276
|
|
|
204
277
|
- 先从当前项目重建设计基线
|
|
205
278
|
- 重建 inventory、page-map、design-registry
|
|
279
|
+
- 先把复杂容器拆成真实的设计 surface,再进入大规模 Pencil 设计
|
|
206
280
|
- 在可行时把新的 Pencil 基线保存或导出到 `.da-vinci/designs/`
|
|
207
281
|
|
|
208
282
|
当既没有映射也没有可用设计源时:
|
package/SKILL.md
CHANGED
|
@@ -15,6 +15,7 @@ Keep these rules fixed:
|
|
|
15
15
|
- Pencil decides presentation.
|
|
16
16
|
- Tasks decide implementation order.
|
|
17
17
|
- Code must follow both requirements and Pencil data.
|
|
18
|
+
- Existing code is behavior truth, not layout truth, during `redesign-from-code`.
|
|
18
19
|
- When requirements and Pencil drift apart, stop and update the source artifacts before continuing implementation.
|
|
19
20
|
|
|
20
21
|
## Execution Policy
|
|
@@ -356,6 +357,8 @@ If the active mode is `redesign-from-code`:
|
|
|
356
357
|
|
|
357
358
|
- inventory current routes, pages, and modules before redefining page structure
|
|
358
359
|
- distinguish preserved behavior from replaced presentation
|
|
360
|
+
- treat existing code as behavior truth and implementation-surface discovery, not as a visual-layout baseline
|
|
361
|
+
- default to fresh visual composition unless the user explicitly asks to preserve the current layout skeleton
|
|
359
362
|
- partition specs by redesign slice when one oversized `ui-refresh` spec would hide important implementation boundaries
|
|
360
363
|
|
|
361
364
|
## Spec Partitioning Rules
|
|
@@ -460,6 +463,33 @@ When visual adapters are requested:
|
|
|
460
463
|
|
|
461
464
|
If the request is too vague to design or implement safely, ask a short clarification question before generating artifacts.
|
|
462
465
|
|
|
466
|
+
## Surface Decomposition Rules
|
|
467
|
+
|
|
468
|
+
Do not treat one implementation container as one design surface by default.
|
|
469
|
+
|
|
470
|
+
For complex products, decompose by:
|
|
471
|
+
|
|
472
|
+
- canonical page
|
|
473
|
+
- subpage
|
|
474
|
+
- state
|
|
475
|
+
- overlay
|
|
476
|
+
- shared shell region
|
|
477
|
+
- implementation surface such as activity, fragment, tab, bottom sheet, dialog, or full-screen mode
|
|
478
|
+
|
|
479
|
+
When an Android screen contains multiple fragments, tabs, nested flows, or materially different states:
|
|
480
|
+
|
|
481
|
+
- split them into distinct design surfaces in `page-map.md`
|
|
482
|
+
- give each meaningful state or subpage its own Pencil target when the layout materially changes
|
|
483
|
+
- avoid collapsing them into one overloaded redesign screen
|
|
484
|
+
|
|
485
|
+
One implementation page may legitimately map to:
|
|
486
|
+
|
|
487
|
+
- multiple Pencil screens
|
|
488
|
+
- multiple states of one Pencil page
|
|
489
|
+
- one shared shell plus several detail surfaces
|
|
490
|
+
|
|
491
|
+
Treat surface decomposition as required when visual structure changes materially across states or subflows.
|
|
492
|
+
|
|
463
493
|
## Pencil Design Rules
|
|
464
494
|
|
|
465
495
|
Use Pencil as a structured UI source, not as a static image source.
|
|
@@ -470,9 +500,12 @@ When creating or editing Pencil designs:
|
|
|
470
500
|
- follow `page-map.md` as the canonical page list
|
|
471
501
|
- follow `design-brief.md` for form factor and visual direction when it exists
|
|
472
502
|
- use the resolved visual adapter, when available, for composition, hierarchy, restraint, and motion guidance
|
|
503
|
+
- before broad page generation, write a visual thesis, a content plan, and an interaction thesis for the current surface
|
|
473
504
|
- Keep page names, section names, and labels aligned with the specs
|
|
474
505
|
- Make important states explicit when they change implementation: empty, loading, success, error, restricted, unavailable
|
|
475
506
|
- Prefer layout clarity and information hierarchy over decorative complexity
|
|
507
|
+
- Reject generic UI patterns such as dashboard-card mosaics, weak visual anchors, decorative clutter, or motion with no hierarchy value
|
|
508
|
+
- For `redesign-from-code`, redesign from page responsibilities and state decomposition, not by recoloring or slightly rearranging the old UI
|
|
476
509
|
- After changes, inspect the result visually before treating it as implementation-ready
|
|
477
510
|
|
|
478
511
|
When multiple pages exist:
|
package/docs/mode-use-cases.md
CHANGED
|
@@ -341,9 +341,22 @@ Register the design sources, extract DA-VINCI.md from them, bind covered pages,
|
|
|
341
341
|
For redesign work:
|
|
342
342
|
|
|
343
343
|
- current code decides behavior
|
|
344
|
+
- current code does not decide the new layout or visual composition
|
|
344
345
|
- `DA-VINCI.md` decides the new visual contract
|
|
345
346
|
- Pencil decides page-by-page presentation
|
|
346
347
|
|
|
348
|
+
Fresh-layout rule:
|
|
349
|
+
|
|
350
|
+
- default to fresh visual composition driven by page purpose and state coverage
|
|
351
|
+
- do not treat the old UI as the design baseline unless the user explicitly asks to preserve the layout skeleton
|
|
352
|
+
- a recolor, light rearrangement, or minor spacing pass on the old UI is not enough for a true redesign
|
|
353
|
+
|
|
354
|
+
Complex-surface rule:
|
|
355
|
+
|
|
356
|
+
- if one screen contains multiple fragments, tabs, overlays, or materially different states, split it into multiple design surfaces
|
|
357
|
+
- one implementation page may map to several Pencil screens or states
|
|
358
|
+
- do not hide that complexity inside one oversized redesign page
|
|
359
|
+
|
|
347
360
|
### Spec partitioning rule
|
|
348
361
|
|
|
349
362
|
For broad refreshes, do not keep everything inside one `ui-refresh/spec.md` unless the project surface is genuinely small or the change is mostly cosmetic.
|
|
@@ -409,13 +422,14 @@ Please inventory the current pages and shared layouts, register the HTML drafts
|
|
|
409
422
|
Expected behavior:
|
|
410
423
|
|
|
411
424
|
1. inventory current pages and shared regions
|
|
412
|
-
2.
|
|
413
|
-
3.
|
|
414
|
-
4.
|
|
415
|
-
5.
|
|
416
|
-
6.
|
|
417
|
-
7.
|
|
418
|
-
8.
|
|
425
|
+
2. decompose complex containers into real design surfaces, subpages, overlays, and states
|
|
426
|
+
3. register the HTML drafts as design references
|
|
427
|
+
4. extract a stable `DA-VINCI.md`
|
|
428
|
+
5. split broad redesign work into multiple spec slices when needed
|
|
429
|
+
6. create or refine Pencil redesign screens
|
|
430
|
+
7. bind implementation pages to redesign screens
|
|
431
|
+
8. generate `tasks.md` aligned to the redesign slices
|
|
432
|
+
9. continue into code changes without stopping at "next recommended step"
|
|
419
433
|
|
|
420
434
|
### Best fit
|
|
421
435
|
|
package/docs/visual-adapters.md
CHANGED
|
@@ -28,6 +28,15 @@ Those still come from requirements, existing code, `page-map.md`, and `pencil-bi
|
|
|
28
28
|
|
|
29
29
|
Configure visual-adapter preferences inside `DA-VINCI.md`.
|
|
30
30
|
|
|
31
|
+
Start from one of these two setups:
|
|
32
|
+
|
|
33
|
+
- balanced default
|
|
34
|
+
- keep delivery non-blocking
|
|
35
|
+
- better for most app and dashboard work
|
|
36
|
+
- quality-first redesign
|
|
37
|
+
- raise the visual bar
|
|
38
|
+
- better when prior outputs were generic, ugly, or too close to the old UI
|
|
39
|
+
|
|
31
40
|
Recommended shape:
|
|
32
41
|
|
|
33
42
|
```md
|
|
@@ -49,6 +58,56 @@ Recommended shape:
|
|
|
49
58
|
|
|
50
59
|
Use `Require Adapter: true` only when the workflow must stop if the preferred adapter is unavailable locally.
|
|
51
60
|
|
|
61
|
+
## Quick-Start Configurations
|
|
62
|
+
|
|
63
|
+
Balanced default:
|
|
64
|
+
|
|
65
|
+
```md
|
|
66
|
+
## Visual Assist
|
|
67
|
+
- Preferred adapters:
|
|
68
|
+
- ui-ux-pro-max
|
|
69
|
+
- frontend-skill
|
|
70
|
+
- Scope:
|
|
71
|
+
- visual contract refinement
|
|
72
|
+
- page composition
|
|
73
|
+
- hierarchy and spacing
|
|
74
|
+
- Pencil design refinement
|
|
75
|
+
- Fallback:
|
|
76
|
+
- native-da-vinci
|
|
77
|
+
- Require Adapter:
|
|
78
|
+
- false
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
Use this when:
|
|
82
|
+
|
|
83
|
+
- the project is an app, dashboard, desktop tool, or dense product surface
|
|
84
|
+
- you want stronger layout discipline but still want the workflow to continue without a local helper
|
|
85
|
+
|
|
86
|
+
Quality-first redesign:
|
|
87
|
+
|
|
88
|
+
```md
|
|
89
|
+
## Visual Assist
|
|
90
|
+
- Preferred adapters:
|
|
91
|
+
- frontend-skill
|
|
92
|
+
- ui-ux-pro-max
|
|
93
|
+
- Scope:
|
|
94
|
+
- visual contract refinement
|
|
95
|
+
- page composition
|
|
96
|
+
- hierarchy and spacing
|
|
97
|
+
- motion guidance
|
|
98
|
+
- Pencil design refinement
|
|
99
|
+
- Fallback:
|
|
100
|
+
- native-da-vinci
|
|
101
|
+
- Require Adapter:
|
|
102
|
+
- true
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
Use this when:
|
|
106
|
+
|
|
107
|
+
- the project is design-sensitive or premium-facing
|
|
108
|
+
- the previous redesign attempt produced generic card grids, weak anchors, or a skin-swap of the old UI
|
|
109
|
+
- you would rather stop than silently continue without a strong local design helper
|
|
110
|
+
|
|
52
111
|
## What Each Field Means
|
|
53
112
|
|
|
54
113
|
Use the fields like this:
|
|
@@ -75,6 +134,27 @@ Recommended default:
|
|
|
75
134
|
- use `Fallback: native-da-vinci`
|
|
76
135
|
- keep `Scope` narrowly focused on visual-quality decisions
|
|
77
136
|
|
|
137
|
+
Adapter-selection rule of thumb:
|
|
138
|
+
|
|
139
|
+
- `ui-ux-pro-max` first for dense app, dashboard, and admin surfaces when the visual bar is moderate
|
|
140
|
+
- `frontend-skill` first when art direction, composition quality, and visual restraint matter more than speed or density tuning
|
|
141
|
+
|
|
142
|
+
## When The Output Still Looks Weak
|
|
143
|
+
|
|
144
|
+
If the workflow is functionally correct but the Pencil result still looks generic or ugly:
|
|
145
|
+
|
|
146
|
+
- move `frontend-skill` to the front of `Preferred adapters`
|
|
147
|
+
- set a stronger visual direction in `DA-VINCI.md` instead of leaving it broad
|
|
148
|
+
- treat `Require Adapter: true` as acceptable for design-critical work where plain fallback quality is not good enough
|
|
149
|
+
- tighten the `Scope` toward composition, hierarchy, and Pencil refinement rather than vague style language
|
|
150
|
+
- use the design checkpoint to block generic card mosaics, weak anchors, and decorative clutter
|
|
151
|
+
|
|
152
|
+
For `redesign-from-code`, also do this:
|
|
153
|
+
|
|
154
|
+
- restate that existing code is behavior truth, not layout truth
|
|
155
|
+
- decompose complex activities, fragments, tabs, overlays, and materially different states before broad Pencil work
|
|
156
|
+
- explicitly require fresh composition instead of recoloring or slightly rearranging the old UI
|
|
157
|
+
|
|
78
158
|
## Resolution Order
|
|
79
159
|
|
|
80
160
|
Resolve adapters in this order:
|
|
@@ -163,6 +243,8 @@ Persist project-local Pencil files under .da-vinci/designs/.
|
|
|
163
243
|
- `native-da-vinci`
|
|
164
244
|
- use when no adapter is available or when the project only needs the built-in workflow rules
|
|
165
245
|
|
|
246
|
+
If the output quality bar is especially high, promote `frontend-skill` to the first slot even for app surfaces and use `native-da-vinci` only as a fallback.
|
|
247
|
+
|
|
166
248
|
## Scenario Presets
|
|
167
249
|
|
|
168
250
|
Ready-to-copy presets live here:
|
|
@@ -9,6 +9,13 @@ Each preset is intentionally conservative:
|
|
|
9
9
|
- clear scope boundaries
|
|
10
10
|
- non-blocking behavior by default
|
|
11
11
|
|
|
12
|
+
If the project is design-critical or previous outputs were weak, generic, or too close to the old UI:
|
|
13
|
+
|
|
14
|
+
- keep the same preset family
|
|
15
|
+
- move `frontend-skill` to the first slot
|
|
16
|
+
- consider `Require Adapter: true`
|
|
17
|
+
- raise the design checkpoint bar before broad Pencil generation
|
|
18
|
+
|
|
12
19
|
Available presets:
|
|
13
20
|
|
|
14
21
|
- `mobile-app.md`
|
|
@@ -33,3 +33,4 @@ Notes:
|
|
|
33
33
|
- prefer `ui-ux-pro-max` first for dense app layout decisions
|
|
34
34
|
- keep section hierarchy stronger than decorative treatment
|
|
35
35
|
- use `frontend-skill` only as a secondary visual-quality helper, not as a marketing-style override
|
|
36
|
+
- if the result looks flat, over-boxed, or too generic, move `frontend-skill` to the first slot and raise the design checkpoint bar
|
|
@@ -33,3 +33,4 @@ Notes:
|
|
|
33
33
|
- prefer `ui-ux-pro-max` first for app-surface density and control balance
|
|
34
34
|
- keep motion guidance light and purposeful
|
|
35
35
|
- do not let the adapter turn routine mobile product UI into a marketing page
|
|
36
|
+
- if the output keeps collapsing into generic cards or weak hierarchy, move `frontend-skill` to the first slot and consider `Require Adapter: true`
|
|
@@ -33,3 +33,4 @@ Notes:
|
|
|
33
33
|
- keep spacing more generous than desktop but more structured than phone UI
|
|
34
34
|
- use adapter guidance to improve split layouts, canvases, and workspace balance
|
|
35
35
|
- avoid over-compressing content into phone-like stacking
|
|
36
|
+
- if the result still feels bland or over-framed, move `frontend-skill` to the first slot and require a stronger visual thesis before Pencil work
|
|
@@ -33,3 +33,4 @@ Notes:
|
|
|
33
33
|
- keep `ui-ux-pro-max` first for product surfaces, dashboards, and operational UI
|
|
34
34
|
- if the project is more brand-led than tool-led, swap the order and put `frontend-skill` first
|
|
35
35
|
- do not let responsive polish erase product clarity
|
|
36
|
+
- if the output feels like generic SaaS filler, switch `frontend-skill` to first and tighten the visual direction in `DA-VINCI.md`
|
|
@@ -78,12 +78,23 @@ Expected flow:
|
|
|
78
78
|
3. register current `.pen` sources and visual-adapter resolution in `design-registry.md`
|
|
79
79
|
4. define redesign scope in `proposal.md`
|
|
80
80
|
5. split broad redesign work into `specs/<slice>/spec.md` files when one large `ui-refresh` spec would be too coarse
|
|
81
|
-
6. rebuild or refine `page-map.md
|
|
82
|
-
7. create new or updated Pencil pages, preferring persistence under `.da-vinci/designs/`
|
|
81
|
+
6. rebuild or refine `page-map.md`, including subpages, overlays, and materially different states
|
|
82
|
+
7. create new or updated Pencil pages from fresh composition rather than a recolor of the old UI, preferring persistence under `.da-vinci/designs/`
|
|
83
83
|
8. bind routes and pages to Pencil screens
|
|
84
84
|
9. generate tasks aligned to the redesign slices
|
|
85
85
|
10. build and verify
|
|
86
86
|
|
|
87
|
+
### Complex Android example
|
|
88
|
+
|
|
89
|
+
```text
|
|
90
|
+
$da-vinci use redesign-from-code to redesign this existing Android app.
|
|
91
|
+
|
|
92
|
+
Existing code is the behavior source of truth, not the layout truth.
|
|
93
|
+
Inventory activities, fragments, tabs, dialogs, bottom sheets, nested flows, and important states.
|
|
94
|
+
Decompose complex screens into separate design surfaces before Pencil work.
|
|
95
|
+
Do not pass design checkpoint if the result is just a skin-swap of the old UI.
|
|
96
|
+
```
|
|
97
|
+
|
|
87
98
|
## 4. `feature-change`
|
|
88
99
|
|
|
89
100
|
Use when an existing product needs a scoped requirement or page change.
|
|
@@ -129,6 +129,7 @@ Da Vinci 应该:
|
|
|
129
129
|
4. 生成 `proposal.md`
|
|
130
130
|
5. 按 redesign slice 拆分 `specs/`
|
|
131
131
|
6. 重建或更新 `page-map.md`
|
|
132
|
+
- 把复杂页面拆成 subpage、state、overlay、fragment surface
|
|
132
133
|
7. 生成 `design.md`
|
|
133
134
|
8. 生成 `pencil-design.md`
|
|
134
135
|
- 在可行时把新的 Pencil 基线持久化到 `.da-vinci/designs/`
|
|
@@ -136,6 +137,13 @@ Da Vinci 应该:
|
|
|
136
137
|
10. 生成 `tasks.md`
|
|
137
138
|
11. 进入实现
|
|
138
139
|
|
|
140
|
+
关键规则:
|
|
141
|
+
|
|
142
|
+
- 现有代码决定 behavior,不决定新的视觉布局
|
|
143
|
+
- `redesign-from-code` 默认应该基于页面职责和状态重新构图
|
|
144
|
+
- 不能把“旧页面换个配色、换点间距、挪一点位置”当成真正的重设计
|
|
145
|
+
- 一个实现页如果包含多个 Fragment、多个 tab、多个状态或多个 overlay,应该拆成多个设计 surface
|
|
146
|
+
|
|
139
147
|
## 4. `feature-change`
|
|
140
148
|
|
|
141
149
|
适合:
|
|
@@ -30,6 +30,15 @@ visual adapter 是可选的 presentation 质量增强层。
|
|
|
30
30
|
|
|
31
31
|
把 visual adapter 偏好写在 `DA-VINCI.md` 里。
|
|
32
32
|
|
|
33
|
+
可以先在下面两种配置里选一种:
|
|
34
|
+
|
|
35
|
+
- 平衡默认版
|
|
36
|
+
- 不阻塞交付
|
|
37
|
+
- 适合大多数 app 和 dashboard
|
|
38
|
+
- 设计质量优先版
|
|
39
|
+
- 主动抬高视觉门槛
|
|
40
|
+
- 适合之前结果很丑、很普通、或太像旧 UI 的场景
|
|
41
|
+
|
|
33
42
|
推荐结构:
|
|
34
43
|
|
|
35
44
|
```md
|
|
@@ -51,6 +60,56 @@ visual adapter 是可选的 presentation 质量增强层。
|
|
|
51
60
|
|
|
52
61
|
只有当你希望“本地没有对应 adapter 就必须停下”时,才把 `Require Adapter` 设成 `true`。
|
|
53
62
|
|
|
63
|
+
## 快速上手配置
|
|
64
|
+
|
|
65
|
+
平衡默认版:
|
|
66
|
+
|
|
67
|
+
```md
|
|
68
|
+
## Visual Assist
|
|
69
|
+
- Preferred adapters:
|
|
70
|
+
- ui-ux-pro-max
|
|
71
|
+
- frontend-skill
|
|
72
|
+
- Scope:
|
|
73
|
+
- visual contract refinement
|
|
74
|
+
- page composition
|
|
75
|
+
- hierarchy and spacing
|
|
76
|
+
- Pencil design refinement
|
|
77
|
+
- Fallback:
|
|
78
|
+
- native-da-vinci
|
|
79
|
+
- Require Adapter:
|
|
80
|
+
- false
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
适用场景:
|
|
84
|
+
|
|
85
|
+
- app、dashboard、桌面工具、高密度产品界面
|
|
86
|
+
- 想提升布局和层级,但本地没有 adapter 时工作流也应该继续
|
|
87
|
+
|
|
88
|
+
设计质量优先版:
|
|
89
|
+
|
|
90
|
+
```md
|
|
91
|
+
## Visual Assist
|
|
92
|
+
- Preferred adapters:
|
|
93
|
+
- frontend-skill
|
|
94
|
+
- ui-ux-pro-max
|
|
95
|
+
- Scope:
|
|
96
|
+
- visual contract refinement
|
|
97
|
+
- page composition
|
|
98
|
+
- hierarchy and spacing
|
|
99
|
+
- motion guidance
|
|
100
|
+
- Pencil design refinement
|
|
101
|
+
- Fallback:
|
|
102
|
+
- native-da-vinci
|
|
103
|
+
- Require Adapter:
|
|
104
|
+
- true
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
适用场景:
|
|
108
|
+
|
|
109
|
+
- 页面视觉要求高,或者面对 premium / brand-sensitive 场景
|
|
110
|
+
- 上一次重设计产出了通用卡片网格、弱锚点或只是旧 UI 换皮
|
|
111
|
+
- 你宁可停下,也不想在没有强本地设计辅助 skill 时继续
|
|
112
|
+
|
|
54
113
|
## 每个字段是什么意思
|
|
55
114
|
|
|
56
115
|
可以这样理解这些字段:
|
|
@@ -77,6 +136,27 @@ visual adapter 是可选的 presentation 质量增强层。
|
|
|
77
136
|
- 优先用 `Fallback: native-da-vinci`
|
|
78
137
|
- `Scope` 保持在视觉质量相关范围内
|
|
79
138
|
|
|
139
|
+
adapter 选择经验:
|
|
140
|
+
|
|
141
|
+
- 高密度 app、dashboard、admin 界面且视觉要求中等时,`ui-ux-pro-max` 更适合放第一位
|
|
142
|
+
- 更强调 art direction、构图质量和克制感时,`frontend-skill` 更适合放第一位
|
|
143
|
+
|
|
144
|
+
## 如果结果还是很丑怎么办
|
|
145
|
+
|
|
146
|
+
如果流程是通的,但 Pencil 结果仍然很平庸或很丑:
|
|
147
|
+
|
|
148
|
+
- 把 `frontend-skill` 提到 `Preferred adapters` 的第一位
|
|
149
|
+
- 在 `DA-VINCI.md` 里把视觉方向写得更明确,不要太宽泛
|
|
150
|
+
- 对设计质量要求很高的项目,可以接受把 `Require Adapter: true`
|
|
151
|
+
- 把 `Scope` 收紧到 composition、hierarchy、Pencil refinement 这些具体能力
|
|
152
|
+
- 在 design checkpoint 里把“堆卡片、弱视觉锚点、装饰性噪音”当成不过关条件
|
|
153
|
+
|
|
154
|
+
对于 `redesign-from-code`,还应该补三句:
|
|
155
|
+
|
|
156
|
+
- 重申 existing code 只是真相行为,不是真相布局
|
|
157
|
+
- 在大规模 Pencil 设计前先拆 activities、fragments、tabs、overlays 和明显不同的 states
|
|
158
|
+
- 明确要求 fresh composition,而不是旧 UI 改色或轻微挪位置
|
|
159
|
+
|
|
80
160
|
## 解析顺序
|
|
81
161
|
|
|
82
162
|
adapter 的解析顺序建议固定为:
|
|
@@ -165,6 +245,8 @@ Persist project-local Pencil files under .da-vinci/designs/.
|
|
|
165
245
|
- `native-da-vinci`
|
|
166
246
|
- 本地没有 adapter,或只需要 Da Vinci 自身规则时使用
|
|
167
247
|
|
|
248
|
+
如果你对设计质量要求很高,即使是 app 界面,也可以把 `frontend-skill` 放到第一位,并把 `native-da-vinci` 只当成兜底。
|
|
249
|
+
|
|
168
250
|
## 场景推荐配置
|
|
169
251
|
|
|
170
252
|
可直接复制的场景模板在这里:
|
|
@@ -89,12 +89,23 @@ $da-vinci use redesign-from-code to inventory the current app, identify current
|
|
|
89
89
|
3. 在 `design-registry.md` 中登记现有设计源和 visual adapter 解析结果
|
|
90
90
|
4. 在 `proposal.md` 中定义重设计范围
|
|
91
91
|
5. 当范围过大时,把工作拆成多个 `specs/<slice>/spec.md`
|
|
92
|
-
6. 重建或细化 `page-map.md
|
|
93
|
-
7. 创建新的或更新后的 Pencil
|
|
92
|
+
6. 重建或细化 `page-map.md`,把 subpage、overlay、重要 state 一起拆出来
|
|
93
|
+
7. 创建新的或更新后的 Pencil 页面,基于重新构图而不是旧 UI 换皮,并优先持久化到 `.da-vinci/designs/`
|
|
94
94
|
8. 绑定路由和 Pencil 页面
|
|
95
95
|
9. 生成和 redesign slice 对齐的任务
|
|
96
96
|
10. 实现并验证
|
|
97
97
|
|
|
98
|
+
### 复杂 Android 页面示例
|
|
99
|
+
|
|
100
|
+
```text
|
|
101
|
+
$da-vinci use redesign-from-code to redesign this existing Android app.
|
|
102
|
+
|
|
103
|
+
Existing code is the behavior source of truth, not the layout truth.
|
|
104
|
+
Inventory activities, fragments, tabs, dialogs, bottom sheets, nested flows, and important states.
|
|
105
|
+
Decompose complex screens into separate design surfaces before Pencil work.
|
|
106
|
+
Do not pass design checkpoint if the result is just a skin-swap of the old UI.
|
|
107
|
+
```
|
|
108
|
+
|
|
98
109
|
## 4. `feature-change`
|
|
99
110
|
|
|
100
111
|
适用:
|
package/package.json
CHANGED
|
@@ -273,6 +273,15 @@ Use this structure:
|
|
|
273
273
|
- Route or identifier
|
|
274
274
|
- Purpose
|
|
275
275
|
|
|
276
|
+
## Implementation Surfaces
|
|
277
|
+
- Activity / fragment / tab / dialog / sheet / overlay
|
|
278
|
+
- Which canonical page each surface belongs to
|
|
279
|
+
|
|
280
|
+
## Subpages And Overlays
|
|
281
|
+
- Subpage name
|
|
282
|
+
- Overlay name
|
|
283
|
+
- When each one appears
|
|
284
|
+
|
|
276
285
|
## States Per Page
|
|
277
286
|
- Empty
|
|
278
287
|
- Loading
|
|
@@ -293,6 +302,8 @@ Use this structure:
|
|
|
293
302
|
|
|
294
303
|
Use this artifact for every mode. It is the canonical page list.
|
|
295
304
|
|
|
305
|
+
For complex products, do not stop at route names. Record implementation surfaces, subpages, and overlays when they materially affect design work.
|
|
306
|
+
|
|
296
307
|
Recommended path:
|
|
297
308
|
|
|
298
309
|
- `.da-vinci/page-map.md`
|
|
@@ -36,6 +36,7 @@ Use the design checkpoint to confirm:
|
|
|
36
36
|
- `DA-VINCI.md` exists or has been intentionally generated for the current project
|
|
37
37
|
- the current Pencil pages follow the same visual baseline
|
|
38
38
|
- later pages are not re-inventing the product style from scratch
|
|
39
|
+
- `redesign-from-code` is not treating the old UI layout as the new design baseline
|
|
39
40
|
|
|
40
41
|
## `discovery checkpoint`
|
|
41
42
|
|
|
@@ -93,12 +94,18 @@ Check:
|
|
|
93
94
|
- major layout strategy matches the design artifact
|
|
94
95
|
- Pencil names and artifact names are aligned enough to implement from
|
|
95
96
|
- Pencil pages follow the current `DA-VINCI.md` visual contract
|
|
97
|
+
- each page has a clear visual anchor or primary working surface
|
|
98
|
+
- section hierarchy is readable without relying on decorative chrome
|
|
99
|
+
- the design does not collapse into generic card-grid or border-heavy filler UI
|
|
100
|
+
- motion ideas, if present, improve hierarchy or affordance instead of adding noise
|
|
101
|
+
- complex pages with multiple fragments, subpages, overlays, or materially different states are decomposed clearly enough to design and implement from
|
|
102
|
+
- `redesign-from-code` output is a fresh composition driven by page responsibility and state, not a skin-swap of the old UI
|
|
96
103
|
|
|
97
104
|
Result meanings:
|
|
98
105
|
|
|
99
106
|
- `PASS`: safe to generate implementation tasks
|
|
100
|
-
- `WARN`: minor design gaps exist
|
|
101
|
-
- `BLOCK`: design is not ready to drive implementation
|
|
107
|
+
- `WARN`: minor design gaps exist, but the visual direction is still coherent
|
|
108
|
+
- `BLOCK`: design is not ready to drive implementation, or the result is generic, cluttered, or materially below the intended visual bar
|
|
102
109
|
|
|
103
110
|
## `mapping checkpoint`
|
|
104
111
|
|
|
@@ -14,14 +14,17 @@ Treat `pencil-bindings.md` as the source of truth for:
|
|
|
14
14
|
|
|
15
15
|
- implementation page -> Pencil page
|
|
16
16
|
- route -> Pencil screen
|
|
17
|
+
- implementation surface -> Pencil surface
|
|
17
18
|
- shared region -> Pencil region
|
|
18
19
|
|
|
19
20
|
## Mapping Rules
|
|
20
21
|
|
|
21
22
|
- define one canonical implementation page name per page
|
|
23
|
+
- decompose complex pages into subpages, states, overlays, and implementation surfaces when layout changes materially
|
|
22
24
|
- define one canonical Pencil page or screen per implementation page when possible
|
|
23
25
|
- if multiple implementation pages share one Pencil page, record the reason
|
|
24
26
|
- if one implementation page needs multiple Pencil screens, record the sub-page or state split
|
|
27
|
+
- if one Android page hosts multiple fragments or tabs, map each meaningful surface separately instead of treating the container as one redesign target
|
|
25
28
|
|
|
26
29
|
## Minimum Binding Shape
|
|
27
30
|
|
|
@@ -43,6 +46,14 @@ For shared regions:
|
|
|
43
46
|
- `App sidebar` -> `Navigation Shell`
|
|
44
47
|
```
|
|
45
48
|
|
|
49
|
+
For complex surface decomposition:
|
|
50
|
+
|
|
51
|
+
```md
|
|
52
|
+
- `HomeActivity/HomeFragment[loaded]` -> `Home Loaded`
|
|
53
|
+
- `HomeActivity/HomeFragment[empty]` -> `Home Empty`
|
|
54
|
+
- `HomeActivity/FilterBottomSheet` -> `Home Filters Sheet`
|
|
55
|
+
```
|
|
56
|
+
|
|
46
57
|
## When To Block
|
|
47
58
|
|
|
48
59
|
Treat bindings as insufficient when:
|
|
@@ -50,6 +61,7 @@ Treat bindings as insufficient when:
|
|
|
50
61
|
- no active `.pen` source is registered
|
|
51
62
|
- the only known Pencil source is a live or external session and no project-local persistence path is recorded
|
|
52
63
|
- the implementation page has no Pencil source
|
|
64
|
+
- a complex page with multiple fragments, tabs, overlays, or materially different states has been flattened into one ambiguous design target
|
|
53
65
|
- the Pencil page exists but cannot be traced to a route or page responsibility
|
|
54
66
|
- shared layout regions are undefined and implementation would guess too much
|
|
55
67
|
|