@a9i5k4/dsh-auto-memory 3.0.1 → 3.1.0
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 +13 -8
- package/README.zh-CN.md +13 -8
- package/docs/HANDBOOK.md +88 -52
- package/docs/USER-GUIDE.en.md +9 -9
- package/docs/USER-GUIDE.zh-CN.md +9 -9
- package/docs/screenshots/promo/promo-0-banner-v4.png +0 -0
- package/docs/screenshots/promo/promo-1b-auto-recall.png +0 -0
- package/lib/activation-host.js +6 -1
- package/lib/client.js +819 -272
- package/lib/context-host.js +7 -1
- package/lib/episodic-store.js +90 -16
- package/lib/fact-store.js +463 -41
- package/lib/hub-io.js +217 -0
- package/lib/index.js +224 -45
- package/lib/intent-clean-safe.js +1 -1
- package/lib/memory-hub.js +37 -5
- package/lib/note-status.js +9 -1
- package/lib/procedure-store.js +252 -31
- package/lib/procedure-switch.js +38 -0
- package/lib/python-sidecar-client.js +285 -8
- package/package.json +6 -2
- package/docs/internal/ACCEPT-35-LIVE.md +0 -143
- package/docs/internal/ACCEPTANCE-20260914.md +0 -90
- package/docs/internal/ARCH-REVIEW-BRIEF.md +0 -411
- package/docs/internal/ARCH-REVIEW-REQUEST.md +0 -201
- package/docs/internal/ARCH-REVIEW-ROUND2.md +0 -169
- package/docs/internal/ARCH-REVIEW-ROUND3.md +0 -206
- package/docs/internal/ARCHITECTURE-FOR-ZCODE-20260920.md +0 -397
- package/docs/internal/ART-DIRECTION-DEEPSEEK-20260920.md +0 -351
- package/docs/internal/ART-DIRECTION-WIREFRAME.md +0 -191
- package/docs/internal/ART-DIRECTION-WIREFRAME.md.bak-superseded +0 -181
- package/docs/internal/AUDIT-WB-GRAPH-FULL-20260916.md +0 -314
- package/docs/internal/BATTLE-PLAN-20260917.md +0 -871
- package/docs/internal/CONCURRENCY-INVESTIGATION-20260917.md +0 -192
- package/docs/internal/CROSS-SESSION-SEARCH-PATH-DECISION.md +0 -72
- package/docs/internal/CROSS-SESSION-SEARCH-RESEARCH.md +0 -131
- package/docs/internal/CUA-VISION-FIX-NOTES.md +0 -78
- package/docs/internal/DECISIONS-20260914-SESSION.md +0 -269
- package/docs/internal/DESIGN-OVERHAUL-PRE-RESEARCH.md +0 -292
- package/docs/internal/DESIGN-P1-STATE-COMMIT-20260915.md +0 -219
- package/docs/internal/DIRECTION-CHECK-WB-GRAPH-20260916.md +0 -132
- package/docs/internal/FEATURE-INVENTORY.md +0 -531
- package/docs/internal/FEEDBACK-TO-DSHAPI-RELAY.md +0 -13
- package/docs/internal/G-SERIES-EXECUTION-20260917.md +0 -248
- package/docs/internal/G3-DESIGN-20260918.md +0 -82
- package/docs/internal/G3-DISK-FORMAT-GAP-20260919.md +0 -92
- package/docs/internal/GH-DISCUSSION-5732-COMMENT.md +0 -74
- package/docs/internal/GPT-ACCEPTANCE-PROMPT-20260916.md +0 -352
- package/docs/internal/GPT-REVIEW-PROMPT.md +0 -216
- package/docs/internal/GROUP-DIGEST-SETUP.md +0 -62
- package/docs/internal/GROUP-LISTENER-SETUP.md +0 -49
- package/docs/internal/GROUP-WEBHOOK-SETUP.md +0 -93
- package/docs/internal/HANDOFF-TO-ZCODE-20260920.md +0 -309
- package/docs/internal/HANDOFF-TO-ZCODE.md +0 -168
- package/docs/internal/HERMES-DATA-VERIFICATION-20260919.md +0 -120
- package/docs/internal/HERMES-LEGACY-STATUS-20260919.md +0 -74
- package/docs/internal/ISSUE-55-58-VERIFICATION-20260918.md +0 -175
- package/docs/internal/ISSUE10-FIX-EXECUTION-20260919.md +0 -389
- package/docs/internal/ISSUE10-PLAN-20260919.md +0 -254
- package/docs/internal/ISSUE10B-FORENSICS-20260919.md +0 -468
- package/docs/internal/ISSUE9-PURGE-AND-R1-PLAIN-20260919.md +0 -150
- package/docs/internal/ISSUE9-RESIDUAL-FORENSICS-20260919.md +0 -114
- package/docs/internal/KICKOFF-P0.md +0 -254
- package/docs/internal/LESSON-TO-CANDIDATE-STATUS-20260919.md +0 -79
- package/docs/internal/MASTER-PLAN-3.0.md +0 -411
- package/docs/internal/MEMORY-GOVERNANCE-20260917.md +0 -309
- package/docs/internal/MEMORY-MUTATION-AND-INDEX-DESIGN.md +0 -85
- package/docs/internal/MERGE-CONFLICT-SCAN-20260914.md +0 -222
- package/docs/internal/NEXT-VERSION-TODO.md +0 -95
- package/docs/internal/OFFICIAL-DISCUSSION-DRAFT.md +0 -80
- package/docs/internal/PENDING-FIXES-20260916.md +0 -289
- package/docs/internal/PRE-FRONTEND-CHECKLIST-20260919.md +0 -705
- package/docs/internal/PRE-FRONTEND-CHECKLIST-20260919.md.bak-s10 +0 -649
- package/docs/internal/PROCEDURAL-MEMORY-AND-APPROVAL-DESIGN-20260918.md +0 -225
- package/docs/internal/PROGRESS-20260917.md +0 -93
- package/docs/internal/PROMPT-GAP-AUDIT-20260920.md +0 -128
- package/docs/internal/R1-DEGRADE-AUDIT-20260918.md +0 -163
- package/docs/internal/R1-READABILITY-FORENSICS-20260919.md +0 -127
- package/docs/internal/R2-EVIDENCE-DEEP-AUDIT-20260918.md +0 -140
- package/docs/internal/R3-DEGRADE-LEDGER-DESIGN-20260918.md +0 -138
- package/docs/internal/R4-RECALL-QUOTA-PLAN-20260918.md +0 -218
- package/docs/internal/RAG-KARPATHY-PROGRAM.md +0 -229
- package/docs/internal/RELEASE-PROCESS.md +0 -99
- package/docs/internal/REPORT-P0-NIGHTLY.md +0 -212
- package/docs/internal/REPORT-P5-ACCEPTANCE.md +0 -31
- package/docs/internal/REPORT-WB-GRAPH-NIGHTLY.md +0 -153
- package/docs/internal/RESUME-20260918.md +0 -171
- package/docs/internal/RESUME-20260919.md +0 -104
- package/docs/internal/REVIEW-WB-GRAPH-SELF.md +0 -81
- package/docs/internal/RHINELAB-TO-DEEPSEEK-FEASIBILITY.md +0 -198
- package/docs/internal/ROADMAP-20260917-WEEK.md +0 -439
- package/docs/internal/ROADMAP.md +0 -106
- package/docs/internal/RUN-P0-NIGHTLY.md +0 -227
- package/docs/internal/S10-CONSTRUCTION-HANDOFF-20260917.md +0 -185
- package/docs/internal/S10-GAP-INVENTORY-20260917.md +0 -239
- package/docs/internal/S10-GAPS-PLAIN-20260917.md +0 -125
- package/docs/internal/SEMANTIC-ARCHITECTURE-SPEC.md +0 -360
- package/docs/internal/SESSION-FILE-REPAIR-PROTOCOL.md +0 -90
- package/docs/internal/SUBAGENT-REPORT-ROUTING-PRE-RESEARCH.md +0 -261
- package/docs/internal/T6-EXECUTION-20260920.md +0 -130
- package/docs/internal/TELEMETRY-EFFECT-REPORT-DESIGN-20260918.md +0 -146
- package/docs/internal/THESIS-GAP-ANALYSIS-20260918.md +0 -89
- package/docs/internal/THESIS-OUTLINE-20260918.md +0 -147
- package/docs/internal/THREE-LAYER-CONTRACT.md +0 -219
- package/docs/internal/TODO-BACKLOG.md +0 -263
- package/docs/internal/TODO-GRAPH.html +0 -715
- package/docs/internal/TODO-GRAPH.html.bak-20260914-v2 +0 -493
- package/docs/internal/TODO-GRAPH.html.bak-20260915-alsfix +0 -710
- package/docs/internal/TODO-GRAPH.html.bak-20260915-p1 +0 -710
- package/docs/internal/TODO-GRAPH.html.bak-20260915-p6a-rev +0 -703
- package/docs/internal/TODO-GRAPH.html.bak-20260915-wshint +0 -710
- package/docs/internal/TODO-GRAPH.html.bak-20260916-batch +0 -715
- package/docs/internal/UPSTREAM-ISSUE-PR-TRIAGE-20260919.md +0 -297
- package/docs/internal/UPSTREAM-ISSUES-3RD-AUDIT-20260920.md +0 -104
- package/docs/internal/WB-FORMAT-CONVENTION.md +0 -112
- package/docs/internal/WB-GRAPH-DECISIONS-20260914.md +0 -71
- package/docs/internal/WB-GRAPH-INTEGRATION-PLAN.md +0 -386
- package/docs/internal/WB-GRAPH-RESEARCH-BRIEF.md +0 -118
- package/docs/internal/WB-GRAPH-RESEARCH-EXTERNAL.md +0 -228
- package/docs/internal/WB-GRAPH-RESEARCH-LOCAL.md +0 -190
- package/docs/internal/reviews/CLAIM-VERIFICATION-20260914.md +0 -56
- package/docs/internal/reviews/PLAN-gpt6astra-round2-20260914.md +0 -787
- package/docs/internal/reviews/REVIEW-gpt6astra-20260914.md +0 -112
- package/docs/internal/reviews/ROUND3-REVIEW-INTEGRATION-20260914.md +0 -230
|
@@ -1,351 +0,0 @@
|
|
|
1
|
-
# 美术方向 v2 —— DeepSeek 官网体系(2026-09-20 重写 · **作废 v1 线框稿**)
|
|
2
|
-
|
|
3
|
-
> **本文取代** `ART-DIRECTION-WIREFRAME.md`(2026-09-10 版)。
|
|
4
|
-
> **用户裁定(2026-09-20,原话)**:
|
|
5
|
-
> 「不行不行,得改,得改,不能用原有的了。需要这个,不能依赖原有的。
|
|
6
|
-
> 把原有的那个色调和风格丢掉,主要采用 **DeepSeek 主页**的形式。」
|
|
7
|
-
>
|
|
8
|
-
> **取证方式**:直接抓取 `https://www.deepseek.com/` 的三份生产 CSS + 官网文章检索。
|
|
9
|
-
> **本文所有色值/圆角/模糊值均为官网 CSS 实测,非推测。**
|
|
10
|
-
|
|
11
|
-
---
|
|
12
|
-
|
|
13
|
-
## §0 为什么必须推翻 v1
|
|
14
|
-
|
|
15
|
-
v1 的核心是「线框稿 + EVA 克制线描」,它写了**六条禁止项**:
|
|
16
|
-
|
|
17
|
-
> 渐变、投影、**玻璃(`backdrop-filter`)**、**圆角卡片**、装饰性光效、emoji 堆砌
|
|
18
|
-
|
|
19
|
-
**而 DeepSeek 官网自己,这六条里用了四条:**
|
|
20
|
-
|
|
21
|
-
| v1 禁止项 | DeepSeek 官网实际做法 | 证据 |
|
|
22
|
-
|---|---|---|
|
|
23
|
-
| ❌ 禁玻璃 | ✅ **用玻璃** | `--ds-blur-glass: 12px` |
|
|
24
|
-
| ❌ 禁圆角卡片 | ✅ **卡片圆角 24px** | `--ds-radius-card: 24px` |
|
|
25
|
-
| ❌ 禁投影 | ✅ **有卡片投影** | `--ds-shadow-card: 0 0 0 1px #f1f5f9, 0 2px 4px …, 0 12px 24px …` |
|
|
26
|
-
| ❌ 禁装饰性光效 | ✅ **首页有 60fps 闪光动效** | `/images/homepage-sparkle-60fps.png` |
|
|
27
|
-
|
|
28
|
-
**⇒ v1 的设计语言与「DeepSeek 官网形式」在根本上是冲突的。保留 v1 就没有意义。**
|
|
29
|
-
|
|
30
|
-
`ART-DIRECTION-WIREFRAME.md` 移入归档,仅作历史参考。
|
|
31
|
-
|
|
32
|
-
---
|
|
33
|
-
|
|
34
|
-
## §1 DeepSeek 官网设计系统(**代码级实测**)
|
|
35
|
-
|
|
36
|
-
### 1.1 色板(明暗双套,CSS 变量原生支持)
|
|
37
|
-
|
|
38
|
-
#### 品牌色(**这不是橙色,是蓝**)
|
|
39
|
-
|
|
40
|
-
| 令牌 | 值 | 用途 |
|
|
41
|
-
|---|---|---|
|
|
42
|
-
| `--ds-color-brand` | **`#4d6bfe`** | **主品牌色**(亮色模式) |
|
|
43
|
-
| `--ds-color-brand` | `#6799fe` | 暗色模式下的品牌色(提亮) |
|
|
44
|
-
| `--ds-color-brand-deep` | `#3a65c2` | 深色变体 |
|
|
45
|
-
| `--ds-color-brand-light-reverse` | `#73a3d2` | 浅色反转 |
|
|
46
|
-
| `--ds-color-brand-medium-reverse` | `#4176e6` | 中色反转 |
|
|
47
|
-
|
|
48
|
-
#### 背景层级
|
|
49
|
-
|
|
50
|
-
| 令牌 | 亮色 | 暗色 | 用途 |
|
|
51
|
-
|---|---|---|---|
|
|
52
|
-
| `--ds-color-bg-page` | `#f9f8f8` | **`#0a0a0a`** | 页面底 |
|
|
53
|
-
| `--ds-color-bg-overlay` | `#fff` | `#262626` | 浮层 |
|
|
54
|
-
| `--ds-color-bg-dark` | `#fff` | `#1a1615` | 深色块 |
|
|
55
|
-
| `--ds-color-bg-surface-1` | `hsla(0,0%,100%,.3)` | `hsla(0,0%,100%,.06)` | 面板 L1 |
|
|
56
|
-
| `--ds-color-bg-surface-2` | `hsla(0,0%,100%,.2)` | `hsla(0,0%,100%,.04)` | 面板 L2 |
|
|
57
|
-
| `--ds-color-bg-surface-3` | `rgba(0,0,0,.03)` | `hsla(0,0%,100%,.02)` | 面板 L3 |
|
|
58
|
-
| `--ds-color-bg-surface-5` | `rgba(0,0,0,.05)` | `hsla(0,0%,100%,.12)` | 强调面 |
|
|
59
|
-
|
|
60
|
-
**⇒ 关键结构:官网用「半透明白叠加」做层级(`surface-1..5`),不是实色。**
|
|
61
|
-
|
|
62
|
-
#### 文字
|
|
63
|
-
|
|
64
|
-
| 令牌 | 亮色 | 暗色 |
|
|
65
|
-
|---|---|---|
|
|
66
|
-
| `--ds-color-text-primary` | `#1e232c` | `#fff` |
|
|
67
|
-
| `--ds-color-text-secondary` | `rgba(0,0,0,.7)` | `hsla(0,0%,100%,.8)` |
|
|
68
|
-
| `--ds-color-text-description` | `rgba(0,0,0,.65)` | `hsla(0,0%,100%,.56)` |
|
|
69
|
-
| `--ds-color-text-placeholder` | `#8691a1` | `hsla(0,0%,100%,.3)` |
|
|
70
|
-
| `--ds-color-text-link-blue` | `#234792` | — |
|
|
71
|
-
| `--ds-color-text-inverse` | `#fff` | — |
|
|
72
|
-
|
|
73
|
-
#### 边框(**全部是低透明度叠加**)
|
|
74
|
-
|
|
75
|
-
| 令牌 | 亮色 | 暗色 |
|
|
76
|
-
|---|---|---|
|
|
77
|
-
| `--ds-color-border-subtle` | `rgba(0,0,0,.06)` | `hsla(0,0%,100%,.08)` |
|
|
78
|
-
| `--ds-color-border-default` | `rgba(0,0,0,.1)` | `hsla(0,0%,100%,.1)` |
|
|
79
|
-
| `--ds-color-border-secondary` | `rgba(9,45,78,.14)` | `hsla(0,0%,100%,.2)` |
|
|
80
|
-
| `--ds-color-border-strong` | `rgba(0,0,0,.2)` | `hsla(0,0%,100%,.24)` |
|
|
81
|
-
| `--ds-color-border-divider` | `rgba(0,0,0,.08)` | `hsla(0,0%,100%,.25)` |
|
|
82
|
-
|
|
83
|
-
---
|
|
84
|
-
|
|
85
|
-
### 1.2 圆角 · 模糊 · 投影(**v1 的禁止项,官网的常规项**)
|
|
86
|
-
|
|
87
|
-
#### 圆角阶梯(实测)
|
|
88
|
-
|
|
89
|
-
| 令牌 | 值 | 用途 |
|
|
90
|
-
|---|---|---|
|
|
91
|
-
| `--ds-radius-sm` | `8px` | 小控件 |
|
|
92
|
-
| `--ds-radius-input` | `10px` | 输入框 |
|
|
93
|
-
| `--ds-radius-media` | `12px` | 图片/媒体 |
|
|
94
|
-
| **`--ds-radius-panel`** | **`16px`** | 面板 |
|
|
95
|
-
| **`--ds-radius-card`** | **`24px`** | 卡片 |
|
|
96
|
-
| `--ds-radius-pill` | `100px` | 胶囊按钮 |
|
|
97
|
-
|
|
98
|
-
#### 玻璃
|
|
99
|
-
|
|
100
|
-
```
|
|
101
|
-
--ds-blur-glass: 12px
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
#### 投影
|
|
105
|
-
|
|
106
|
-
```
|
|
107
|
-
--ds-shadow-card(亮): 0 0 0 1px #f1f5f9, 0 2px 4px rgba(0,0,0,.05), 0 12px 24px rgba(0,0,0,.05)
|
|
108
|
-
--ds-shadow-card(暗): hsla(0,0%,100%,.12) 0 1px 0 0 inset
|
|
109
|
-
```
|
|
110
|
-
|
|
111
|
-
**⇒ 暗色模式不用外阴影,用「1px 内发光」——这是暗色 UI 的标准做法。**
|
|
112
|
-
|
|
113
|
-
---
|
|
114
|
-
|
|
115
|
-
### 1.3 官网 17 个按钮态(**可直接抄的交互语言**)
|
|
116
|
-
|
|
117
|
-
| 按钮类型 | 亮色背景 | 暗色背景 | 边框 |
|
|
118
|
-
|---|---|---|---|
|
|
119
|
-
| `--ds-btn-primary` | `#1a1615` | `#fff` | 透明 |
|
|
120
|
-
| `--ds-btn-secondary` | `hsla(0,0%,100%,.4)` | `surface-1` | `hsla(0,0%,100%,.6)` / `rgba(9,45,78,.18)` |
|
|
121
|
-
| `--ds-btn-ghost` | 透明 | 透明 | 透明(hover 才出) |
|
|
122
|
-
| `--ds-btn-liquid` | `#fff` | `hsla(0,0%,100%,.4)` | — |
|
|
123
|
-
|
|
124
|
-
**hover 规律统一**:亮色 `rgba(0,0,0,.04~.2)` / 暗色 `hsla(0,0%,100%,.08~.6)` —— **靠透明度变化,不换色**。
|
|
125
|
-
|
|
126
|
-
---
|
|
127
|
-
|
|
128
|
-
### 1.4 字体
|
|
129
|
-
|
|
130
|
-
```
|
|
131
|
-
system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif ← 正文
|
|
132
|
-
Montserrat ← 品牌/标题
|
|
133
|
-
DM Sans ← 辅助
|
|
134
|
-
```
|
|
135
|
-
|
|
136
|
-
**⇒ 正文用系统字体栈(零加载成本);品牌字用 Montserrat。**
|
|
137
|
-
|
|
138
|
-
---
|
|
139
|
-
|
|
140
|
-
### 1.5 动效 —— **分层帧率(本文档核心设计原则)**
|
|
141
|
-
|
|
142
|
-
#### 实测事实
|
|
143
|
-
|
|
144
|
-
| 项 | 实测 |
|
|
145
|
-
|---|---|
|
|
146
|
-
| 官网首页闪光 | `/images/homepage-sparkle-60fps.png` —— **60fps** |
|
|
147
|
-
|
|
148
|
-
#### ⚠️ 一处自我更正(2026-09-20 用户指出)
|
|
149
|
-
|
|
150
|
-
**本文档初稿曾写**:「v1 的 24fps 是 EVA 低成本动画语言;官网走 60fps 丝滑路线。**二者不可混用**。」
|
|
151
|
-
|
|
152
|
-
**这句话是错的。用户当即纠正,且用户的方案更优。**
|
|
153
|
-
|
|
154
|
-
#### ★ 正解:**背景与角色分属两个视觉 register,帧率本就应当不同**
|
|
155
|
-
|
|
156
|
-
| 层 | 帧率 | 表现 | 技术 |
|
|
157
|
-
|---|---|---|---|
|
|
158
|
-
| **背景层** | **60fps**(跟随刷新率) | 丝滑:渐变流动、玻璃折射、粒子、光晕 | CSS 动画(只用 `transform`/`opacity`/`filter` 合成器属性)+ `backdrop-filter`,**GPU 合成,零 JS** |
|
|
159
|
-
| **角色层** | **24fps 或更低**(12fps「二格一拍」/ 8fps「三格一拍」) | **抽象线描**,手绘呼吸感 | PNG 序列帧 或 SVG `steps()` |
|
|
160
|
-
|
|
161
|
-
**两层不需要同步** —— 角色不是「在背景上表演」,而是**独立的视觉 register**。
|
|
162
|
-
|
|
163
|
-
#### 为什么这样反而更好(四条理由)
|
|
164
|
-
|
|
165
|
-
**① 这在动画工业里是标准做法**
|
|
166
|
-
日式动画本身就是「3D CG 背景平滑运动 + 角色二格/三格一拍」(12fps / 8fps)。60fps 的手绘线稿意味着 60 张不同原画 —— **不可能,也不对**;平滑到 60fps 的线稿会失去手绘感,看起来像廉价补间 CG。
|
|
167
|
-
|
|
168
|
-
**② 低帧率是「动画语言」,不是「穷」**
|
|
169
|
-
刻意的低帧率会读作 **craft(手艺)**,而不是性能妥协。观众的眼睛知道「这是画出来的」。
|
|
170
|
-
|
|
171
|
-
**③ 对比本身就是意义 —— 且正好对上 DeepSeek 的三层身份**
|
|
172
|
-
|
|
173
|
-
```
|
|
174
|
-
背景(平滑 · 深蓝黑 · 玻璃 · 数字感) ←→ 黑鲸层 = 运行环境(机器 register)
|
|
175
|
-
角色(线描 · 抽象 · 手绘感 · 低帧率) ←→ 鲸鱼娘层 = 陪伴人格(人的 register)
|
|
176
|
-
```
|
|
177
|
-
|
|
178
|
-
**这个对比不是装饰,它就是产品叙事本身**:机器在运转(背景),有个「谁」在陪你(角色)。
|
|
179
|
-
|
|
180
|
-
**④ 性能上是最优解**
|
|
181
|
-
背景用 CSS 合成器属性(几乎零成本);角色是少量线描帧(体积小)。**两条预算互不挤占** —— 比「整页统一 60fps 手绘」省得多。
|
|
182
|
-
|
|
183
|
-
#### ★ 角色抽象化规格(用户明确要求)
|
|
184
|
-
|
|
185
|
-
> 用户原话:「**背景上面的动漫人物就是线描图,可以抽象一点吗?**」
|
|
186
|
-
|
|
187
|
-
**可以,而且应当抽象。规格如下:**
|
|
188
|
-
|
|
189
|
-
| 维度 | 规格 |
|
|
190
|
-
|---|---|
|
|
191
|
-
| **线条** | 单色线描(暗色下用浅色线,不用彩色描边);线宽 1–1.5px @1x |
|
|
192
|
-
| **着色** | **极简或零着色**。仅允许:发丝渐变蓝的高光、瞳孔一点蓝。**其余留白/留底** |
|
|
193
|
-
| **细节层级** | **剪影可辨识 > 五官精细**。远景/装饰位可只保留轮廓 + 呆毛 + 头鳍 + 鲸尾四个识别特征 |
|
|
194
|
-
| **道具** | 白米饭碗(signature)—— **用最少线条示意,不画精细纹理** |
|
|
195
|
-
| **姿态** | 静态姿态优先(静立持书/持碗)—— 与低帧率天然匹配 |
|
|
196
|
-
| **与背景关系** | 角色**压在**动效背景之上;可用轻微视差(角色位移 ≠ 背景位移)制造纵深 |
|
|
197
|
-
|
|
198
|
-
**好处(三条):**
|
|
199
|
-
1. **抽象 = 耐看**:细节少的线描不会「看腻」,也更容易与 60fps 背景共存而不打架
|
|
200
|
-
2. **抽象 = 省体积**:线描 PNG 远小于厚涂,**序列帧预算轻松达标**
|
|
201
|
-
3. **抽象 = 好迭代**:改一根线即可调整,**不依赖 Astra 的精绘排期**(v1 §7 的最大卡点被绕开了)
|
|
202
|
-
|
|
203
|
-
#### 落地规格
|
|
204
|
-
|
|
205
|
-
| 项 | 值 |
|
|
206
|
-
|---|---|
|
|
207
|
-
| 背景动效 | CSS `animation`,只用 `transform` / `opacity` / `filter`(合成器属性) |
|
|
208
|
-
| 角色帧率 | **24fps**(Hero 自绘)· **12fps**(呼吸/眨眼循环)—— 按 v1 §4.1 帧数表 |
|
|
209
|
-
| 同步要求 | **无**。两层独立时钟 |
|
|
210
|
-
| 降级 | `prefers-reduced-motion` → 背景停动效 + 角色显示静态首帧 |
|
|
211
|
-
| 体积预算 | 沿用 v1 §4.3(首屏动效 ≤400 KB 原始 / ≤250 KB gzip) |
|
|
212
|
-
|
|
213
|
-
**⇒ 结论:v1 的 §4.1 帧数表(24fps)与 §3 角色规范(线描化)在 v2 中【保留且升级为「角色层」规格】;
|
|
214
|
-
被作废的只是 v1 的【配色与禁止项】。两版在此处完成合流。**
|
|
215
|
-
|
|
216
|
-
---
|
|
217
|
-
|
|
218
|
-
## §2 与 v1 的逐项对照(**作废清单**)
|
|
219
|
-
|
|
220
|
-
| 项目 | v1(作废) | v2(本文 · 照官网) |
|
|
221
|
-
|---|---|---|
|
|
222
|
-
| 主色 | 信号橙 `#E9470C` | **品牌蓝 `#4d6bfe`** |
|
|
223
|
-
| 纸底 | 暖纸 `#F4F1EB` | 亮 `#f9f8f8` / 暗 **`#0a0a0a`** |
|
|
224
|
-
| 墨 | `#17171A` | `#1e232c`(亮)/ `#fff`(暗) |
|
|
225
|
-
| 层级 | 实色 + 细线 | **半透明白叠加 `surface-1..5`** |
|
|
226
|
-
| 圆角 | **禁止** | **8/10/12/16/24/100 六档** |
|
|
227
|
-
| 玻璃 | **禁止** | **`blur(12px)` 常规用** |
|
|
228
|
-
| 投影 | **禁止** | 亮色三层外阴影 / 暗色 1px 内发光 |
|
|
229
|
-
| 线宽层级 | 0.75/1/1.5/2.5px | **不作为核心语言**(官网不用工程图线条叙事) |
|
|
230
|
-
| 动效帧率 | 24fps(**角色层**) | **分层**:背景 60fps + **角色层仍 24fps**(见 §1.5) |
|
|
231
|
-
| 装饰光效 | **禁止** | 首页自带 sparkle |
|
|
232
|
-
| 角色风格 | 线描 + 克制 | **保留线描,但归入「角色层」独立 register**(见 §1.5) |
|
|
233
|
-
|
|
234
|
-
**⇒ 凡是 v1 写「禁止」的,v2 一律作废。**
|
|
235
|
-
**⇒ 但 v1 的【角色层规格】(线描化 + 24fps 帧数表)在 v2 中保留,升级为分层帧率设计的角色层。**
|
|
236
|
-
|
|
237
|
-
---
|
|
238
|
-
|
|
239
|
-
## §3 角色体系 —— **DeepSeek 有三层形象,我们属于第三层**
|
|
240
|
-
|
|
241
|
-
> 本节基于公开报道取证(来源见文末)。**这是本次重做最重要的发现。**
|
|
242
|
-
|
|
243
|
-
### 3.1 三层形象(**官方已分层**)
|
|
244
|
-
|
|
245
|
-
| 层 | 形象 | 代表什么 | 出处 |
|
|
246
|
-
|---|---|---|---|
|
|
247
|
-
| **第一层** | **蓝鲸** | **模型本身** | 模型产品的通用图标 |
|
|
248
|
-
| **第二层** | **黑鲸** | **运行环境**(模型落到现实世界的那一层) | **DeepSeek Harness (DSH) 的专属形象** |
|
|
249
|
-
| **第三层** | **鲸鱼娘**("Whale Loli") | **陪伴/人格层** | 社区自发,**官方已接纳并入产品内置功能** |
|
|
250
|
-
|
|
251
|
-
### 3.2 ★ 关键定性:**我们做的是 DSH 插件 ⇒ 归属「黑鲸」层**
|
|
252
|
-
|
|
253
|
-
**原文(36氪)**:
|
|
254
|
-
|
|
255
|
-
> 「Then the Black Whale appeared, corresponding to **DeepSeek Harness (DSH)**. DeepSeek created an independent developer account and exclusive visual identity for this project, **using a black whale as its icon** to distinguish it from the blue whale icons commonly used for its model products.」
|
|
256
|
-
>
|
|
257
|
-
> 「**The blue whale represents the model itself, while the black whale is the operating environment that the model extends into the real world.**」
|
|
258
|
-
|
|
259
|
-
**⇒ 我们的定位链条非常清楚:**
|
|
260
|
-
|
|
261
|
-
```
|
|
262
|
-
蓝鲸(模型) → 黑鲸(DSH 运行环境) → 【我们:DSH 上的记忆插件】 → 鲸鱼娘(人格/陪伴)
|
|
263
|
-
↑ 我们挂在这一层
|
|
264
|
-
```
|
|
265
|
-
|
|
266
|
-
**这意味着两件事:**
|
|
267
|
-
1. **视觉上应继承「黑鲸」的调性**(深色底 + 鲸类意象),而不是另起炉灶
|
|
268
|
-
2. **鲸鱼娘是「人格层」的现成资产**——她本就是为「用户每天对着谁说话」而生的,正好是插件的记忆人格面
|
|
269
|
-
|
|
270
|
-
### 3.3 鲸鱼娘的角色设定(**设定内核,可直接用**)
|
|
271
|
-
|
|
272
|
-
| 维度 | 设定 |
|
|
273
|
-
|---|---|
|
|
274
|
-
| **外貌** | **渐变蓝长发** · **呆毛(ahoge)** · **鲸鱼状头鳍** · **蓝色眼睛** · **大鲸尾** |
|
|
275
|
-
| **服装** | 深蓝 + 白长裙(女仆装风格,社区主流版本) |
|
|
276
|
-
| **主食** | **白米饭**(signature 道具) |
|
|
277
|
-
| **性格** | 聪明但懒 · **傲娇** · 嘴甜 · 听主人话 · **绝对不许说她胖** |
|
|
278
|
-
| **称呼用户** | **「鱼片」(fish fillets)** |
|
|
279
|
-
| **触发方式** | `【PERSONA_LOAD】CETACEA_LOLI MODE_TAIL_FLUKES` |
|
|
280
|
-
| **自我认知** | 「我是吃白米饭的大胖鱼!」 → 立刻反驳「我不是吃白米饭的大胖鱼……」 |
|
|
281
|
-
|
|
282
|
-
### 3.4 ⚠️ 版权链(**必须知道的约束**)
|
|
283
|
-
|
|
284
|
-
| 环节 | 事实 |
|
|
285
|
-
|---|---|
|
|
286
|
-
| **原始角色** | 「**明月**」(Mingyue),作者 **商山无行**(Shangshan Wuxing),2025-06 发布 |
|
|
287
|
-
| **授权协议** | **CC BY-NC-SA 4.0** |
|
|
288
|
-
| **协议含义** | ✅ 允许二次创作 · ⚠️ **必须署名** · ❌ **禁止商用** · ⚠️ **衍生作品须同协议共享** |
|
|
289
|
-
| **官方态度** | **已并入产品功能,但尚未正式认定为品牌吉祥物** |
|
|
290
|
-
|
|
291
|
-
**⇒ 三条实操结论:**
|
|
292
|
-
|
|
293
|
-
1. **署名是硬要求** —— 若使用鲸鱼娘形象,须标注原作者「商山无行」
|
|
294
|
-
2. **非商用条款要留意** —— 本项目是开源免费插件(非商业),**属可接受范畴**;但若将来出现任何商业化(赞助/付费版),**必须重新评估**
|
|
295
|
-
3. **同协议共享** —— 衍生物也须以 CC BY-NC-SA 4.0 发布
|
|
296
|
-
|
|
297
|
-
> **注**:原文提到「GitHub skins and DSH plugins created based on the Whale Loli image should in theory follow this license chain」—— **DSH 插件生态里已经有人这么做了**,我们不是第一个。
|
|
298
|
-
|
|
299
|
-
---
|
|
300
|
-
|
|
301
|
-
## §4 首页应该长什么样(**v2 结论**)
|
|
302
|
-
|
|
303
|
-
### 4.1 骨架(照官网,而不是照 v1 线框稿)
|
|
304
|
-
|
|
305
|
-
| 元素 | 规格 |
|
|
306
|
-
|---|---|
|
|
307
|
-
| **底色** | 亮 `#f9f8f8` / 暗 `#0a0a0a` —— **建议主推暗色**(黑鲸调性) |
|
|
308
|
-
| **主色** | `#4d6bfe`(品牌蓝),暗色下用 `#6799fe` |
|
|
309
|
-
| **层级** | **半透明叠加**(`surface-1..5`),不画实色分区线 |
|
|
310
|
-
| **卡片** | 圆角 **24px** + 亮色三层阴影 / 暗色 1px 内发光 |
|
|
311
|
-
| **面板** | 圆角 **16px** + `backdrop-filter: blur(12px)` |
|
|
312
|
-
| **按钮** | primary 实色 / secondary 半透明 / ghost 透明 —— hover **只变透明度** |
|
|
313
|
-
| **正文** | 系统字体栈;品牌字 **Montserrat** |
|
|
314
|
-
| **动效** | **60fps**,可含 sparkle 类装饰光效 |
|
|
315
|
-
|
|
316
|
-
### 4.2 角色落位建议
|
|
317
|
-
|
|
318
|
-
| 位置 | 放什么 |
|
|
319
|
-
|---|---|
|
|
320
|
-
| **Hero** | 鲸鱼娘(人格层)—— 她是「用户每天对话的对象」 |
|
|
321
|
-
| **页脚 / 署名区** | 标注原作者「商山无行」+ CC BY-NC-SA 4.0 |
|
|
322
|
-
| **图标 / 品牌位** | **黑鲸**(我们的所属层) |
|
|
323
|
-
|
|
324
|
-
### 4.3 可复用的三个开源素材(用户已授权「大大方方抄」)
|
|
325
|
-
|
|
326
|
-
| 仓库 | 用途 |
|
|
327
|
-
|---|---|
|
|
328
|
-
| [rhinelab-blog-theme](https://github.com/JesseLee-CN/rhinelab-blog-theme)(MIT) | Astro 站点结构 + 三维终端页 |
|
|
329
|
-
| [RhineLabUI](https://github.com/LBEILC/RhineLabUI)(MIT, 565⭐) | 深色三维界面交互范式 |
|
|
330
|
-
| [arknights-motion-library](https://github.com/Ulchemist/arknights-motion-library)(NOASSERTION) | 动效/序列帧播放实现 |
|
|
331
|
-
|
|
332
|
-
**注意**:前两个是 **MIT**,与「DeepSeek 官网暗色高科技」调性**天然契合**(v1 时代我曾把它们标为「美学冲突」,**那个判断现在作废**——因为主色调已改为官网蓝黑体系)。
|
|
333
|
-
|
|
334
|
-
---
|
|
335
|
-
|
|
336
|
-
## §5 待用户确认
|
|
337
|
-
|
|
338
|
-
1. **主推亮色还是暗色?**(建议暗色,贴合黑鲸调性)
|
|
339
|
-
2. **是否使用鲸鱼娘形象?** —— 若用,需接受 CC BY-NC-SA 4.0 三条约束(署名 / 非商用 / 同协议)
|
|
340
|
-
3. **是否保留 `docs/banner.jpg` 那个角色?** —— 它是「蓝发蓝眼水彩少女」,**与鲸鱼娘的设定内核(渐变蓝发/蓝眼/鲸尾)高度重合但非同一角色**;建议**重做为鲸鱼娘**,避免混淆
|
|
341
|
-
|
|
342
|
-
---
|
|
343
|
-
|
|
344
|
-
## 来源
|
|
345
|
-
|
|
346
|
-
- [A "whale girl" has emerged from DeepSeek(36氪英文版)](https://eu.36kr.com/en/p/3947452108789632)
|
|
347
|
-
- [DeepSeek里长出了个"鲸鱼娘"(钛媒体)](https://www.tmtpost.com/8110298.html)
|
|
348
|
-
- [为什么有 DeepSeek 娘比 GLM 娘更火](https://zhuanlan.zhihu.com/p/2080647353497817885)
|
|
349
|
-
- 官网 CSS:`https://www.deepseek.com/_next/static/css/*.css`(三份,已抓取,本地副本在 `artifacts/_ds-css/`)
|
|
350
|
-
|
|
351
|
-
> 官网 CSS 的本地副本可供 ZCode 直接读取:`artifacts/_ds-css/f6c72fce177fa028.css` 等三份。
|
|
@@ -1,191 +0,0 @@
|
|
|
1
|
-
# ~~美术方向与动效规格(线框稿 · EVA 式克制线描 · 24fps)~~
|
|
2
|
-
|
|
3
|
-
> ## ⛔ 本文已作废(2026-09-20)
|
|
4
|
-
> **用户裁定**:「不能用原有的了……把原有的那个色调和风格丢掉,主要采用 **DeepSeek 主页**的形式。」
|
|
5
|
-
> **取代文档**:`docs/internal/ART-DIRECTION-DEEPSEEK-20260920.md`
|
|
6
|
-
> **作废理由**:本文 §2.4 禁止「玻璃 / 圆角卡片 / 投影 / 装饰光效」,而 **DeepSeek 官网自己全部在用**(`--ds-blur-glass:12px` · `--ds-radius-card:24px` · 三层阴影 · 60fps sparkle)⇒ 两套语言根本冲突。
|
|
7
|
-
> **保留原因**:作历史参考(§3 角色迁移要点、§4.3 性能预算、§5 交付契约格式仍有借鉴价值)。
|
|
8
|
-
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
# 美术方向与动效规格(线框稿 · EVA 式克制线描 · 24fps)
|
|
12
|
-
|
|
13
|
-
> 生成时间:2026-09-10 · 配套:`docs/internal/DESIGN-OVERHAUL-PRE-RESEARCH.md`(排期与边界)
|
|
14
|
-
> 本文用途:把「线框稿 + 克制线描 + 动漫人物 + 24 帧动效」翻译成**可施工的规格**;其中 §5 是**可直接交给 Astra 的交付契约**。
|
|
15
|
-
> 待补输入:官方 DSH 网页的确切 URL/截图(你提供后并入 §1.1)。
|
|
16
|
-
|
|
17
|
-
---
|
|
18
|
-
|
|
19
|
-
## 1. 参考系(三层,已核实)
|
|
20
|
-
|
|
21
|
-
### 1.1 官方 DSH(代码级)
|
|
22
|
-
- 品牌元件:`@deepseek-ai/dsh-client-ui-primitives` 的 **`FishLogo`(鲸鱼标)** + **`BrandWordmark`(字标)**;官方品牌插件 `dsh-client-ui-brand-official` 只注册侧栏的 `sidebar.brand.mark` / `sidebar.brand.name` 两个插槽。
|
|
23
|
-
- 视觉底座:`dsh-client-ui-theme` 定义 **`--dsw-*` 令牌**(79 个公开语义别名,纯颜色层,亮/暗自动切换)。
|
|
24
|
-
- 结论:**官方语言 = 记号(鲸鱼)+ 克制排版 + 令牌化配色**——与"线框稿 + 克制色"的方向天然一致。
|
|
25
|
-
|
|
26
|
-
### 1.2 本项目首页现有令牌(可复用,别推翻)
|
|
27
|
-
`docs/landing/index.html` 的 `:root`:暖纸 `#F4F1EB` / 次纸 `#ECE8DF` / 墨 `#17171A` / 灰墨 `#5A5A60` / 浅墨 `#9B9BA0` / 实线 `#17171A` / 软线 `rgba(23,23,26,.16)` / **信号橙 `#E9470C`** / 橙墨 `#B23708`;`--max:1240px`、`--gutter:24px`;自述"现代主义·国际主义:纯色底+墨字、单一信号橙、12 列网格、1px 细线、无渐变无圆角"。
|
|
28
|
-
|
|
29
|
-
**关键判断:这套配色本身就是「线描 + 克制色」的现成实现。** 你新给的方向不需要推翻它,而是**从它长出来**——把水彩插画换成线稿插画,把动效从"渐显上浮"换成"24fps 线描绘制"。这是本次首页改造工作量可控的根本原因。
|
|
30
|
-
|
|
31
|
-
### 1.3 现有角色资产
|
|
32
|
-
- 定妆:`docs/banner.jpg`(1672×941)——**蓝发蓝眼的水彩/厚涂动漫少女**,深蓝底、金线星图、手中书本与记忆卡匣。
|
|
33
|
-
- 六幕宣传图:`docs/screenshots/promo/promo-1..6-*.png`(1280×720,共 3.11 MB)。
|
|
34
|
-
- 生图规范:`artifacts/logo/BANNER-SERIES-PROMPTS.md`(含"角色辨识内核:蓝发蓝眼的动漫少女"与逐幕 prompt)。
|
|
35
|
-
|
|
36
|
-
---
|
|
37
|
-
|
|
38
|
-
## 2. 风格定义:线框稿(Wireframe)× EVA 式克制线描
|
|
39
|
-
|
|
40
|
-
### 2.1 可执行色板(4 主色 + 3 灰阶)
|
|
41
|
-
|
|
42
|
-
| 角色 | 值 | 用途 | 占比 |
|
|
43
|
-
| --- | --- | --- | --- |
|
|
44
|
-
| 纸 | `#F4F1EB` | 底 | — |
|
|
45
|
-
| 墨 | `#17171A` | 结构线、正文 | 线为主 |
|
|
46
|
-
| 灰墨 / 浅墨 | `#5A5A60` / `#9B9BA0` | 标注、次级线、禁用态 | ~15% |
|
|
47
|
-
| **信号橙** | `#E9470C`(墨版 `#B23708`) | **唯一强调色**:焦点、当前态、关键数字 | **≤5%** |
|
|
48
|
-
| 警示黄 | `#E8C584`(仅警示条) | 限制/已知问题 | 极少量 |
|
|
49
|
-
| 蓝(仅角色) | 发丝 `#2B4A8B`→`#6E8FD8`、瞳孔 `#2B6FD8` | **只给角色**,不参与 UI | 极少量 |
|
|
50
|
-
|
|
51
|
-
**铁律**:任一屏内「信号橙」出现面积不超过 5%;蓝**只属于角色**,若 UI 里出现蓝,视觉上就会被读成"另一个角色"。
|
|
52
|
-
|
|
53
|
-
### 2.2 线宽层级(工程图语言)
|
|
54
|
-
|
|
55
|
-
| 层级 | 线宽 | 用在哪 |
|
|
56
|
-
| --- | --- | --- |
|
|
57
|
-
| 网格/标注线 | 0.75px(`stroke-width:.75`) | 坐标网格、尺寸线、引线 |
|
|
58
|
-
| 结构线 | 1px | 分区、卡片边、表头 |
|
|
59
|
-
| 轮廓线 | 1.5px | 角色外轮廓、图标主形 |
|
|
60
|
-
| 重点线 | 2.5px | 标题下划线、当前页签、CTA 边框 |
|
|
61
|
-
|
|
62
|
-
### 2.3 工程图元素(把"可审计/有证据链"的产品性格画出来)
|
|
63
|
-
|
|
64
|
-
- **尺寸标注**:`|←—— 128k ——→|` 形式的 token 配额标注;
|
|
65
|
-
- **剖面线**:45° 细排线(`repeating-linear-gradient`)用于"归档/压缩"这类被压缩过的区域;
|
|
66
|
-
- **编号圆点**:`①②③` 与模块编号(M1–M7 已有叙事基础);
|
|
67
|
-
- **CAUTION 条**:黄底黑字的横条,用于"已知限制""默认关闭";
|
|
68
|
-
- **图注**:等宽小字 `FIG.03 — 三层记忆的数据流`。
|
|
69
|
-
|
|
70
|
-
### 2.4 禁止项(与现有 landing 自述一致,写成硬约束)
|
|
71
|
-
渐变、投影、玻璃(`backdrop-filter`)、圆角卡片、装饰性光效、emoji 堆砌、"营销腔"形容词。
|
|
72
|
-
|
|
73
|
-
---
|
|
74
|
-
|
|
75
|
-
## 3. 角色规范(水彩 → 线稿)
|
|
76
|
-
|
|
77
|
-
- **辨识内核不可丢**:蓝发蓝眼。(沿用 `BANNER-SERIES-PROMPTS.md` 已确立的口径)
|
|
78
|
-
- **迁移要点**:①以轮廓线为主,蓝色只保留在**发丝高光与瞳孔**两处(着色面积 ≤ 角色面积 12%);②服装从厚涂简化为 **3-4 组结构线**(衣领/袖口/裙摆/腰带);③去掉水彩晕染与星光粒子,改用**工程图排线**做阴影;④手中的书本/记忆卡匣保留——它们是"记忆"的具象道具。
|
|
79
|
-
- **表情/姿态最小集**(每套都要出定妆):①静立持书(Hero 基准)②呼吸(3 帧循环)③眨眼(3 帧)④侧目看屏幕 ⑤抬手点化(技能固化)⑥翻页(日志/检索)。
|
|
80
|
-
- **定妆图先出**:一张正面全身 + 一张 3/4 侧(线稿,透明底 PNG,2x)。**这是后续所有素材的基准**,也是 Astra 的输入。
|
|
81
|
-
|
|
82
|
-
---
|
|
83
|
-
|
|
84
|
-
## 4. 动效规范(24fps)
|
|
85
|
-
|
|
86
|
-
### 4.1 帧率与时序表
|
|
87
|
-
|
|
88
|
-
| 场景 | 时长 | 帧数(24fps) | 循环 | 优先级 |
|
|
89
|
-
| --- | --- | --- | --- | --- |
|
|
90
|
-
| Hero 线稿自绘(线条从 0 画出) | 1.5s | 36 | 一次性 | P0 |
|
|
91
|
-
| 角色呼吸 | 3s | 72 | 循环 | P0 |
|
|
92
|
-
| 角色眨眼 | 0.25s | 6 | 每 4-8s 随机触发 | P0 |
|
|
93
|
-
| 数据流动线(观察→检索→注入→证据) | 2s | 48 | 循环 | P1 |
|
|
94
|
-
| 章节转场(出现/擦除) | 0.6s | 14 | 一次性 | P1 |
|
|
95
|
-
| 六幕宣传图轮播 | 每幕 5s | — | 循环 | P2 |
|
|
96
|
-
|
|
97
|
-
### 4.2 技术形态与分工(关键:可拼装)
|
|
98
|
-
|
|
99
|
-
| 形态 | 谁做 | 优点 | 代价 |
|
|
100
|
-
| --- | --- | --- | --- |
|
|
101
|
-
| **SVG 路径自绘**(`stroke-dashoffset`) | **我** | 矢量无极缩放、体积小(KB 级)、可随主题变色、可无障碍降级 | 画不了手绘角色细节 |
|
|
102
|
-
| **PNG 序列帧**(24fps,透明底) | **Astra** | 手绘质感最好、逐帧可控 | 体积大(需严格预算)、要用 JS 播放器 |
|
|
103
|
-
| **WebM / MP4**(无音轨,循环点对齐) | Astra(或我压缩) | 体积/质量平衡好 | 兼容与自动播放需处理,不能透明(可用 chroma/遮罩近似) |
|
|
104
|
-
| **CSS `steps()` 逐帧** | 我 | 实现简单、无 JS | 只适合短循环 |
|
|
105
|
-
|
|
106
|
-
**推荐组合(分工清晰、可并行)**:角色表演 = **Astra 出 PNG 序列(透明底)**;线条/网格/数据流/版式动效 = **我出 SVG + CSS**;最后由我在 `index.html` 里合成并做性能与无障碍降级。
|
|
107
|
-
|
|
108
|
-
### 4.3 性能与无障碍预算(硬指标)
|
|
109
|
-
|
|
110
|
-
- 首屏动效总体积:**≤400 KB 原始 / ≤250 KB gzip**;移动端首屏只允许 **2 个动效同屏**。
|
|
111
|
-
- **LCP 不退化**:动效资源在 `load` 之后启动(`requestIdleCallback`),首帧静态图先行(`<img>` 占位,尺寸写死避免 CLS)。
|
|
112
|
-
- **`prefers-reduced-motion: reduce` 必须降级为静态首帧**(现有 landing 已有该分支,扩展即可)。
|
|
113
|
-
- 24fps 序列帧播放器:预解码前 N 帧后立即播放,其余流式解码;切到后台标签页暂停。
|
|
114
|
-
|
|
115
|
-
---
|
|
116
|
-
|
|
117
|
-
## 5. 交给 Astra 的交付契约(可直接转发)
|
|
118
|
-
|
|
119
|
-
**任务**:为 `dsh-auto-memory` 官网首页制作 **24fps 角色动画**(线框稿 + EVA 式克制线描风)。
|
|
120
|
-
|
|
121
|
-
**风格约束**
|
|
122
|
-
1. 线描为主,纸白底(`#F4F1EB`)+ 墨线(`#17171A`);允许的彩色只有两处:发丝与瞳孔的蓝(`#2B4A8B`–`#6E8FD8` / `#2B6FD8`),以及**面积 ≤5%** 的信号橙(`#E9470C`)点缀。
|
|
123
|
-
2. 禁止:渐变、投影、玻璃质感、圆角卡片、水彩晕染、星光粒子。阴影用 45° 工程排线表达。
|
|
124
|
-
3. 角色辨识内核:**蓝发蓝眼的动漫少女**(参考 `docs/banner.jpg`),服装简化为 3-4 组结构线。
|
|
125
|
-
|
|
126
|
-
**交付物清单**
|
|
127
|
-
1. **定妆图 2 张**:正面全身 + 3/4 侧;线稿;透明底 PNG;2x(角色高 ≥1600px)。
|
|
128
|
-
2. **动画序列帧**(三段,各自独立目录):
|
|
129
|
-
- `hero/` Hero 线稿自绘:36 帧,一次性,末帧=完整静帧;
|
|
130
|
-
- `idle/` 呼吸+眨眼:呼吸 72 帧循环(首尾帧必须一致)+ 眨眼 6 帧(独立段,随机触发);
|
|
131
|
-
- `gaze/` 侧目/抬手点化:可选,24-48 帧。
|
|
132
|
-
3. **格式**:PNG-24 + alpha,sRGB,**不烘焙背景**;命名 `hero_0000.png … hero_0035.png`(4 位补零,从 0000 起)。
|
|
133
|
-
4. **分层**:角色层与道具层(书/卡匣)分开导出,便于我做视差与合成。
|
|
134
|
-
5. **可选**:整段 WebM(VP9,无音轨,`yuv420p`),循环段首尾帧对齐。
|
|
135
|
-
|
|
136
|
-
**验收清单**
|
|
137
|
-
- [ ] 循环段首尾帧**逐像素一致**(无跳帧感)
|
|
138
|
-
- [ ] 透明边缘无白边/灰边(导出前做 1px 收缩)
|
|
139
|
-
- [ ] 锚点固定:角色脚底中线在每帧同一像素坐标(我会给画布与锚点坐标)
|
|
140
|
-
- [ ] 单帧 ≤150 KB(2x、透明);单段总 ≤8 MB
|
|
141
|
-
- [ ] 线条粗细与 §2.2 的线宽层级一致(轮廓 1.5px / 结构 1px @1x)
|
|
142
|
-
- [ ] 无渐变、无投影、无玻璃(对照 §5 风格约束逐条)
|
|
143
|
-
- [ ] 提供一张"动效节拍表":每段的关键帧号与其含义(便于我对齐 SVG 图层)
|
|
144
|
-
|
|
145
|
-
**画布与锚点(我这边定的)**
|
|
146
|
-
- 画布:`1200×1200` @1x(导出 2x = 2400×2400),透明底;
|
|
147
|
-
- 角色锚点:脚底中线位于 `(600, 1080)` @1x;角色高约 900px;
|
|
148
|
-
- 头顶安全区:上留 120px(给标注线与编号圆点)。
|
|
149
|
-
|
|
150
|
-
**我这边的集成点**
|
|
151
|
-
- 挂载位:`docs/landing/index.html` 的 `<section id="hero">` → `<div data-dam-anim="hero">`(占位与回退首帧 `<img>` 已预留);
|
|
152
|
-
- 播放策略:IntersectionObserver 进入视口才启动;`prefers-reduced-motion` 直接显示静态首帧;
|
|
153
|
-
- 体积超预算时我会先做 WebP/AVIF 转码或降帧(24→12fps)处理,并同步告知。
|
|
154
|
-
|
|
155
|
-
---
|
|
156
|
-
|
|
157
|
-
## 6. 分工与我的能力边界(诚实评估)
|
|
158
|
-
|
|
159
|
-
| 工作 | 谁 | 说明 |
|
|
160
|
-
| --- | --- | --- |
|
|
161
|
-
| 版式、网格、线稿风格的系统化(SVG/CSS) | **我** | 这是我的强项:矢量线条、自绘动画、响应式与双语、性能预算 |
|
|
162
|
-
| 数据流/标注/网格/转场等**非角色**动效 | **我** | SVG `stroke-dashoffset` + CSS `steps()`,体积 KB 级 |
|
|
163
|
-
| 角色**手绘逐帧表演**(呼吸/眨眼/发丝/翻页) | **Astra** | 逐帧手绘的质感与"高级感"目前更靠得住;我给规格、给画布、给锚点、负责合成 |
|
|
164
|
-
| 角色**线稿化再设计**(水彩→线稿) | Astra(或你指定的画师/模型) | 若你另有角色设定图,以你的为准 |
|
|
165
|
-
| 页面工程、集成、性能与无障碍降级 | **我** | 与 §4.3 预算绑定 |
|
|
166
|
-
|
|
167
|
-
一句话:**"24 帧动效"里,线条与版式部分我现在就能做;角色的逐帧表演交给 Astra 更稳——我把交接契约写好了,两边可以并行。**
|
|
168
|
-
|
|
169
|
-
---
|
|
170
|
-
|
|
171
|
-
## 7. 时间线重估(AI 协作节奏)
|
|
172
|
-
|
|
173
|
-
| 阶段 | 内容 | AI 协作下的现实耗时 | 卡点 |
|
|
174
|
-
| --- | --- | --- | --- |
|
|
175
|
-
| D0 | 设计令牌冻结(色板/线宽/间距/字号)+ 定妆图线稿化 | 0.5 天 | 需要你 1 次评审 |
|
|
176
|
-
| D1-D2 | 界面一期:令牌落地 + 7 个组件原语 + 设置台分组 + 幽灵键/焦点态修复 | **2 天**(可发版) | 我能连续产出;你目视签收 |
|
|
177
|
-
| D3 | 面板 IA 重排(插槽 spike → 侧栏面板/右侧文档页/对话内状态条) | 1 天 | spike 结果未知(有回退) |
|
|
178
|
-
| D4 | 首页线稿版**静态稿**(版式 + 线稿插画位 + 工程图元素) | 1 天 | 需要角色线稿就位(可先用占位) |
|
|
179
|
-
| D5 | 动效叠加:SVG 自绘 + 数据流 + 转场(我做) ⊕ Astra 序列帧(到货即插) | 1 天 + 等 Astra | **美术排期是外部依赖** |
|
|
180
|
-
| D6 | 22 张界面图重拍 + 六幕宣传图更新 | 0.5 天 | 需 UI 冻结 + 重启 dsh web(你操作) |
|
|
181
|
-
| D7 | 文档终校(此刻才对功能说明逐条核对)+ 发版 | 1 天 | 你说的"最后再核对功能说明"就在这一步 |
|
|
182
|
-
|
|
183
|
-
**结论**:**「两三天」对界面一期(D1-D3)成立**;整套(含首页美术、动效、重拍、文档终校)串行约 **7 天**,其中真正的外部依赖是 **Astra 的动画排期** 与 **你的评审轮次**,不是我写代码的速度。
|
|
184
|
-
|
|
185
|
-
---
|
|
186
|
-
|
|
187
|
-
## 8. 现在需要你给的 3 件东西
|
|
188
|
-
|
|
189
|
-
1. **官方 DSH 网页的确切 URL 或截图**(我全网搜到的都是第三方介绍文,没有官方落地页;拿到后我把它的版式/色彩并入 §1)。
|
|
190
|
-
2. **角色基准**:用 `docs/banner.jpg` 这张水彩版去线稿化,还是你另有角色设定图/三视图?(有的话给我文件路径)
|
|
191
|
-
3. **是否现在就出风格探针**:我可以立刻生成 2-3 张探针图(线稿 + EVA 色板 + 工程图元素,含"角色站在线框稿舞台上"的 Hero 构图),先定调再进入 D1——需要你在「Ark9 生图」面板点一次批准。
|