@taloswork/ose-shared 0.1.9 → 0.1.11
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/mcp/gen/mcp.json +2 -2
- package/package.json +3 -3
- package/skills/diagram-design/SKILL.md +1 -1
- package/skills/document/SKILL.md +63 -75
- package/skills/document/bin/deck-build.cjs +51 -1
- package/skills/document/bin/deck-qa.cjs +18745 -279
- package/skills/document/bin/doc-convert.cjs +9280 -76489
- package/skills/document/bin/doc-fill.cjs +0 -0
- package/skills/document/bin/doc-gen.cjs +3043 -46825
- package/skills/document/bin/doc-run.cjs +65095 -1967
- package/skills/document/bin/doc-scan.cjs +0 -0
- package/skills/document/bin/doc-text.cjs +0 -0
- package/skills/document/bin/doc-validate.cjs +18067 -226
- package/skills/document/bin/doc-xml.cjs +1 -1
- package/skills/document/bin/docx-annotate.cjs +0 -0
- package/skills/document/bin/html2pptx.cjs +32498 -145280
- package/skills/document/bin/ocr-worker.cjs +0 -0
- package/skills/document/bin/ocr.cjs +0 -0
- package/skills/document/bin/pdf-form.cjs +0 -0
- package/skills/document/bin/pdf-images.cjs +0 -0
- package/skills/document/bin/pdf-ops.cjs +0 -0
- package/skills/document/bin/pdf-render.cjs +11 -9
- package/skills/document/bin/pdf-tables.cjs +0 -0
- package/skills/document/bin/pptx-clone.cjs +21 -25
- package/skills/document/bin/pptx-embed-fonts.cjs +8 -6
- package/skills/document/bin/pptx-set-image.cjs +0 -0
- package/skills/document/bin/pptx-slide.cjs +22 -32
- package/skills/document/bin/pptx-theme.cjs +1 -20
- package/skills/document/bin/pptx-tokenize.cjs +1 -1
- package/skills/document/bin/xlsx-query.cjs +0 -0
- package/skills/document/bin/xlsx-recalc.cjs +0 -0
- package/skills/document/bin-reference.md +35 -0
- package/skills/document/content-pipeline.md +19 -18
- package/skills/document/deck-design.md +110 -211
- package/skills/document/layouts/README.md +4 -33
- package/skills/document/motion/README.md +4 -2
- package/skills/document/office.md +5 -1
- package/skills/document/rewrite.md +43 -99
- package/skills/document/styles/README.md +0 -7
- package/skills/document/theme-system.md +1 -0
- package/skills/document/themes/README.md +5 -5
- package/skills/document/themes/anthropic-clay.json +1 -7
- package/skills/document/themes/apple-keynote.json +1 -7
- package/skills/document/themes/black-gold.json +1 -2
- package/skills/document/themes/cinereel.json +1 -2
- package/skills/document/themes/cool-tech.json +1 -2
- package/skills/document/themes/hand-drawn.json +1 -2
- package/skills/document/themes/ivory-gold.json +1 -2
- package/skills/document/themes/magazine-ink.json +1 -2
- package/skills/document/themes/mckinsey-consulting.json +1 -7
- package/skills/document/themes/mono.json +1 -2
- package/skills/document/themes/swiss-grid.json +1 -2
- package/skills/document/themes/warm-editorial.json +1 -2
- package/skills/image-layout/SKILL.md +1 -1
- package/skills/image-layout/bin/html2img.cjs +0 -0
- package/skills/cozy-static-svg/SKILL.md +0 -76
- package/skills/cozy-static-svg/references/approved-preview.png +0 -0
- package/skills/cozy-static-svg/references/cross-platform.md +0 -73
- package/skills/cozy-static-svg/references/moon_keeps_watch.svg +0 -229
- package/skills/cozy-static-svg/references/style-anchor.md +0 -271
- package/skills/cozy-static-svg/scripts/artkit.py +0 -321
- package/skills/cozy-static-svg/scripts/to_png.py +0 -333
|
@@ -1,229 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="1200" height="900" viewBox="0 0 1200 900" role="img" aria-labelledby="art-title art-desc">
|
|
2
|
-
<title id="art-title">月亮替你值夜班</title>
|
|
3
|
-
<desc id="art-desc">一幅纯静态矢量插画:紫粉色夜空映在拱形窗里,月牙与星星照着远山。胖橘猫坐在窗台上,旁边有一盏暖黄色小灯、一盆绿植和一本翻开的书。今晚的任务,只有好好休息。</desc>
|
|
4
|
-
<defs>
|
|
5
|
-
<linearGradient id="room" x1="0" y1="0" x2="0.8" y2="1">
|
|
6
|
-
<stop stop-color="#252138"/>
|
|
7
|
-
<stop offset="0.6" stop-color="#46334D"/>
|
|
8
|
-
<stop offset="1" stop-color="#70515F"/>
|
|
9
|
-
</linearGradient>
|
|
10
|
-
<radialGradient id="room-light" cx="76%" cy="72%" r="57%">
|
|
11
|
-
<stop stop-color="#DFA878" stop-opacity="0.2"/>
|
|
12
|
-
<stop offset="1" stop-color="#DFA878" stop-opacity="0"/>
|
|
13
|
-
</radialGradient>
|
|
14
|
-
<linearGradient id="sky" x1="0" y1="0" x2="0" y2="1">
|
|
15
|
-
<stop stop-color="#343453"/>
|
|
16
|
-
<stop offset="0.48" stop-color="#77627D"/>
|
|
17
|
-
<stop offset="1" stop-color="#E8AD9B"/>
|
|
18
|
-
</linearGradient>
|
|
19
|
-
<linearGradient id="hill-far" x1="0" y1="0" x2="0" y2="1">
|
|
20
|
-
<stop stop-color="#97788D"/>
|
|
21
|
-
<stop offset="1" stop-color="#7E617F"/>
|
|
22
|
-
</linearGradient>
|
|
23
|
-
<linearGradient id="hill-near" x1="0" y1="0" x2="0" y2="1">
|
|
24
|
-
<stop stop-color="#51465F"/>
|
|
25
|
-
<stop offset="1" stop-color="#3D364F"/>
|
|
26
|
-
</linearGradient>
|
|
27
|
-
<linearGradient id="wood" x1="0" y1="0" x2="0" y2="1">
|
|
28
|
-
<stop stop-color="#997379"/>
|
|
29
|
-
<stop offset="1" stop-color="#775766"/>
|
|
30
|
-
</linearGradient>
|
|
31
|
-
<linearGradient id="desk" x1="0" y1="0" x2="0" y2="1">
|
|
32
|
-
<stop stop-color="#564052"/>
|
|
33
|
-
<stop offset="1" stop-color="#342C42"/>
|
|
34
|
-
</linearGradient>
|
|
35
|
-
<linearGradient id="fur" x1="0" y1="0" x2="1" y2="0.7">
|
|
36
|
-
<stop stop-color="#D89462"/>
|
|
37
|
-
<stop offset="0.55" stop-color="#ECAE78"/>
|
|
38
|
-
<stop offset="1" stop-color="#F5CA94"/>
|
|
39
|
-
</linearGradient>
|
|
40
|
-
<linearGradient id="tail-fur" x1="0" y1="0" x2="1" y2="0">
|
|
41
|
-
<stop stop-color="#C4855F"/>
|
|
42
|
-
<stop offset="1" stop-color="#EDB783"/>
|
|
43
|
-
</linearGradient>
|
|
44
|
-
<radialGradient id="lamp-halo">
|
|
45
|
-
<stop stop-color="#FFD29A" stop-opacity="0.35"/>
|
|
46
|
-
<stop offset="0.5" stop-color="#FFC989" stop-opacity="0.12"/>
|
|
47
|
-
<stop offset="1" stop-color="#FFC989" stop-opacity="0"/>
|
|
48
|
-
</radialGradient>
|
|
49
|
-
<linearGradient id="glass" x1="0" y1="0" x2="0.5" y2="1">
|
|
50
|
-
<stop stop-color="#FFE9BB"/>
|
|
51
|
-
<stop offset="0.6" stop-color="#FFDAA0"/>
|
|
52
|
-
<stop offset="1" stop-color="#ECC18A"/>
|
|
53
|
-
</linearGradient>
|
|
54
|
-
<linearGradient id="lamp-base" x1="0" y1="0" x2="1" y2="0">
|
|
55
|
-
<stop stop-color="#455D59"/>
|
|
56
|
-
<stop offset="0.6" stop-color="#61746A"/>
|
|
57
|
-
<stop offset="1" stop-color="#879081"/>
|
|
58
|
-
</linearGradient>
|
|
59
|
-
<clipPath id="canvas"><rect width="1200" height="900" rx="30"/></clipPath>
|
|
60
|
-
<clipPath id="window">
|
|
61
|
-
<path d="M270 698V472C270 294 416 166 600 166S930 294 930 472V698Z"/>
|
|
62
|
-
</clipPath>
|
|
63
|
-
<clipPath id="cat-body">
|
|
64
|
-
<path d="M450 568C411 598 394 635 398 672C400 705 428 718 475 719C526 720 558 705 556 669C554 630 527 592 505 573Z"/>
|
|
65
|
-
</clipPath>
|
|
66
|
-
<mask id="crescent" maskUnits="userSpaceOnUse" x="707" y="250" width="120" height="120">
|
|
67
|
-
<rect x="707" y="250" width="120" height="120" fill="black"/>
|
|
68
|
-
<circle cx="767" cy="310" r="48" fill="white"/>
|
|
69
|
-
<circle cx="786" cy="293" r="43" fill="black"/>
|
|
70
|
-
</mask>
|
|
71
|
-
<path id="spark" d="M0-8Q1-1 8 0Q1 1 0 8Q-1 1-8 0Q-1-1 0-8Z"/>
|
|
72
|
-
</defs>
|
|
73
|
-
|
|
74
|
-
<g clip-path="url(#canvas)">
|
|
75
|
-
<!-- 安静的室内与留白 -->
|
|
76
|
-
<rect width="1200" height="900" fill="url(#room)"/>
|
|
77
|
-
<rect width="1200" height="900" fill="url(#room-light)"/>
|
|
78
|
-
<path d="M86 122H135" stroke="#D8B68B" stroke-width="2" stroke-linecap="round"/>
|
|
79
|
-
<g font-family="'PingFang SC','Noto Sans CJK SC','Microsoft YaHei',sans-serif">
|
|
80
|
-
<text x="86" y="92" fill="#F5E1CD" font-size="27" font-weight="500" letter-spacing="4">月亮替你值夜班</text>
|
|
81
|
-
<text x="1112" y="90" text-anchor="end" fill="#C7AFAD" font-size="15" letter-spacing="3">晚安 · 阿答</text>
|
|
82
|
-
</g>
|
|
83
|
-
|
|
84
|
-
<!-- 拱窗:所有远景均收在完整窗框内 -->
|
|
85
|
-
<path d="M254 707V472C254 284 409 149 600 149S946 284 946 472V707Z" fill="#2B243A"/>
|
|
86
|
-
<path d="M262 703V472C262 289 412 158 600 158S938 289 938 472V703Z" fill="#A38189"/>
|
|
87
|
-
<g clip-path="url(#window)">
|
|
88
|
-
<rect x="260" y="158" width="682" height="552" fill="url(#sky)"/>
|
|
89
|
-
<circle cx="767" cy="310" r="110" fill="#FFF0C5" opacity="0.025"/>
|
|
90
|
-
<circle cx="767" cy="310" r="77" fill="#FFF0C5" opacity="0.045"/>
|
|
91
|
-
<circle cx="767" cy="310" r="48" fill="#FFF0C5" mask="url(#crescent)"/>
|
|
92
|
-
<!-- 定格的星光,没有动画 -->
|
|
93
|
-
<g fill="#F8E8CA">
|
|
94
|
-
<circle cx="450" cy="281" r="2" opacity="0.75"/>
|
|
95
|
-
<circle cx="559" cy="219" r="1.7" opacity="0.55"/>
|
|
96
|
-
<circle cx="651" cy="278" r="1.5" opacity="0.8"/>
|
|
97
|
-
<circle cx="691" cy="230" r="1.7" opacity="0.6"/>
|
|
98
|
-
<circle cx="835" cy="392" r="2" opacity="0.7"/>
|
|
99
|
-
<circle cx="369" cy="437" r="1.5" opacity="0.65"/>
|
|
100
|
-
<circle cx="520" cy="402" r="1.4" opacity="0.65"/>
|
|
101
|
-
<circle cx="625" cy="456" r="1.6" opacity="0.55"/>
|
|
102
|
-
<circle cx="865" cy="483" r="1.2" opacity="0.6"/>
|
|
103
|
-
<use href="#spark" transform="translate(565 332)" opacity="0.8"/>
|
|
104
|
-
<use href="#spark" transform="translate(388 352) scale(0.7)" opacity="0.65"/>
|
|
105
|
-
<use href="#spark" transform="translate(722 418) scale(0.55)" opacity="0.7"/>
|
|
106
|
-
</g>
|
|
107
|
-
<g fill="none" stroke="#F4D4CA" stroke-linecap="round">
|
|
108
|
-
<path d="M338 471Q387 460 448 470" stroke-width="3" opacity="0.15"/>
|
|
109
|
-
<path d="M577 510Q660 495 721 507" stroke-width="3" opacity="0.13"/>
|
|
110
|
-
<path d="M799 445H844" stroke-width="2" opacity="0.14"/>
|
|
111
|
-
</g>
|
|
112
|
-
<!-- 三层柔软的山色 -->
|
|
113
|
-
<path d="M240 592C357 550 410 486 505 525C586 558 620 575 711 536C796 499 884 527 959 575V710H240Z" fill="url(#hill-far)"/>
|
|
114
|
-
<path d="M244 649C350 557 440 602 534 623C663 652 760 547 858 582C902 597 940 621 961 641V714H244Z" fill="#695776"/>
|
|
115
|
-
<!-- 山间那一扇还亮着的小窗 -->
|
|
116
|
-
<g transform="translate(797 561)">
|
|
117
|
-
<path d="M0 19L22 1L46 19V49H0Z" fill="#51465F"/>
|
|
118
|
-
<path d="M-4 19L22-2L50 19" fill="none" stroke="#51465F" stroke-width="5" stroke-linejoin="round"/>
|
|
119
|
-
<rect x="17" y="22" width="11" height="14" rx="3" fill="#F6D5A0"/>
|
|
120
|
-
<path d="M22.5 22V36" stroke="#8E756F" stroke-width="1.3"/>
|
|
121
|
-
</g>
|
|
122
|
-
<path d="M244 675C327 641 383 630 472 654C557 677 635 635 717 640C813 646 873 660 954 638V719H244Z" fill="url(#hill-near)"/>
|
|
123
|
-
<path d="M620 161L294 698H332L650 162Z" fill="#FFFFFF" opacity="0.025"/>
|
|
124
|
-
</g>
|
|
125
|
-
<path d="M276 473C276 299 418 173 600 173" fill="none" stroke="#E2BCA5" stroke-width="2" opacity="0.4"/>
|
|
126
|
-
<path d="M600 173C782 173 924 299 924 473V696" fill="none" stroke="#D9ABA0" stroke-width="1.5" opacity="0.3"/>
|
|
127
|
-
|
|
128
|
-
<!-- 厚实的木窗台 -->
|
|
129
|
-
<path d="M232 699H968L994 728H206Z" fill="#AE8584"/>
|
|
130
|
-
<rect x="206" y="725" width="788" height="20" rx="5" fill="url(#wood)"/>
|
|
131
|
-
<path d="M225 728H976" stroke="#D7AAA0" stroke-width="1.5" opacity="0.45"/>
|
|
132
|
-
<path d="M228 745H973L1030 811H170Z" fill="#32283D" opacity="0.28"/>
|
|
133
|
-
<rect y="780" width="1200" height="120" fill="url(#desk)"/>
|
|
134
|
-
<path d="M0 780H1200" stroke="#A67A80" stroke-width="1" opacity="0.35"/>
|
|
135
|
-
|
|
136
|
-
<!-- 窗边的叶子 -->
|
|
137
|
-
<ellipse cx="318" cy="717" rx="46" ry="8" fill="#392B42" opacity="0.25"/>
|
|
138
|
-
<g fill="none" stroke="#809A8F" stroke-width="3" stroke-linecap="round">
|
|
139
|
-
<path d="M317 659Q309 596 290 544"/>
|
|
140
|
-
<path d="M319 658Q335 591 364 561"/>
|
|
141
|
-
<path d="M317 650Q317 593 323 572"/>
|
|
142
|
-
</g>
|
|
143
|
-
<g>
|
|
144
|
-
<path d="M297 568C273 568 265 550 270 533C291 535 302 550 297 568Z" fill="#92A594"/>
|
|
145
|
-
<path d="M302 589C316 570 334 570 341 578C334 595 318 602 302 589Z" fill="#6F9488"/>
|
|
146
|
-
<path d="M309 611C286 613 276 601 278 584C299 583 314 595 309 611Z" fill="#6E877D"/>
|
|
147
|
-
<path d="M338 604C339 580 353 567 371 572C371 592 357 608 338 604Z" fill="#9BB09B"/>
|
|
148
|
-
<path d="M351 579C347 559 357 545 372 541C379 560 370 577 351 579Z" fill="#B4BD9F"/>
|
|
149
|
-
<path d="M319 600C312 581 319 565 333 558C343 575 337 593 319 600Z" fill="#839D8A"/>
|
|
150
|
-
</g>
|
|
151
|
-
<path d="M282 654H354L344 707Q318 720 292 707Z" fill="#C28D7A"/>
|
|
152
|
-
<path d="M317 657H353L344 707Q330 714 317 714Z" fill="#E0AA8C" opacity="0.6"/>
|
|
153
|
-
<ellipse cx="318" cy="654" rx="36" ry="7" fill="#E2AF91"/>
|
|
154
|
-
<ellipse cx="318" cy="654" rx="29" ry="4" fill="#6E504E"/>
|
|
155
|
-
|
|
156
|
-
<!-- 小灯的暖光也是静态渐变 -->
|
|
157
|
-
<circle cx="824" cy="621" r="183" fill="url(#lamp-halo)"/>
|
|
158
|
-
<ellipse cx="824" cy="716" rx="74" ry="11" fill="#372D3D" opacity="0.28"/>
|
|
159
|
-
<path d="M776 667Q824 655 872 667V707Q824 724 776 707Z" fill="url(#lamp-base)"/>
|
|
160
|
-
<ellipse cx="824" cy="667" rx="48" ry="10" fill="#8A9783"/>
|
|
161
|
-
<ellipse cx="824" cy="663" rx="34" ry="6" fill="#D7C7A0"/>
|
|
162
|
-
<rect x="784" y="556" width="80" height="109" rx="29" fill="url(#glass)"/>
|
|
163
|
-
<path d="M796 611V589Q796 567 817 567" fill="none" stroke="#FFF4D9" stroke-width="4" stroke-linecap="round" opacity="0.5"/>
|
|
164
|
-
<circle cx="855" cy="691" r="11" fill="#BD9565"/>
|
|
165
|
-
<circle cx="856" cy="690" r="8" fill="#D5B486"/>
|
|
166
|
-
<path d="M856 684V689" stroke="#84745C" stroke-width="1.5" stroke-linecap="round"/>
|
|
167
|
-
|
|
168
|
-
<!-- 胖橘猫:圆圆的身子、闭着的笑眼、盘起来的尾巴 -->
|
|
169
|
-
<ellipse cx="480" cy="718" rx="108" ry="13" fill="#332B3C" opacity="0.32"/>
|
|
170
|
-
<path d="M450 568C411 598 394 635 398 672C400 705 428 718 475 719C526 720 558 705 556 669C554 630 527 592 505 573Z" fill="url(#fur)"/>
|
|
171
|
-
<g clip-path="url(#cat-body)" fill="none" stroke="#BB7957" stroke-width="13" stroke-linecap="round" opacity="0.5">
|
|
172
|
-
<path d="M393 614Q408 626 427 629"/>
|
|
173
|
-
<path d="M390 641Q407 654 423 654"/>
|
|
174
|
-
<path d="M390 670Q406 681 421 678"/>
|
|
175
|
-
</g>
|
|
176
|
-
<path d="M473 597C450 615 447 650 451 678C455 701 495 708 511 687C527 664 516 616 495 599Z" fill="#F9D4A3" opacity="0.86"/>
|
|
177
|
-
<!-- 耳朵先画,头部覆盖连接处 -->
|
|
178
|
-
<path d="M419 538L416 478Q419 471 425 476L457 507Z" fill="#DE9C6D"/>
|
|
179
|
-
<path d="M484 507L514 474Q520 470 522 479L526 539Z" fill="#F2BE87"/>
|
|
180
|
-
<path d="M424 514L423 488L445 509Z" fill="#BD7C6A" opacity="0.85"/>
|
|
181
|
-
<path d="M497 509L515 487L517 519Z" fill="#D3977D"/>
|
|
182
|
-
<path d="M418 528C421 507 443 498 469 498C496 498 522 510 527 533C534 560 520 586 478 591C440 594 411 570 418 528Z" fill="url(#fur)"/>
|
|
183
|
-
<g fill="none" stroke="#C1875F" stroke-width="7" stroke-linecap="round" opacity="0.7">
|
|
184
|
-
<path d="M455 503L460 520"/>
|
|
185
|
-
<path d="M474 502L475 519"/>
|
|
186
|
-
<path d="M493 507L488 522"/>
|
|
187
|
-
</g>
|
|
188
|
-
<path d="M443 555C441 542 460 540 470 552C481 540 502 543 502 556C502 574 483 581 471 580C458 580 444 571 443 555Z" fill="#FADAB0"/>
|
|
189
|
-
<g fill="none" stroke="#65454A" stroke-linecap="round">
|
|
190
|
-
<path d="M438 543Q445 551 453 543" stroke-width="3"/>
|
|
191
|
-
<path d="M486 543Q494 551 501 543" stroke-width="3"/>
|
|
192
|
-
<path d="M471 561V566M471 566Q464 572 461 567M471 566Q478 572 481 567" stroke-width="1.8"/>
|
|
193
|
-
</g>
|
|
194
|
-
<path d="M466 556Q471 553 476 556L471 562Z" fill="#B47A72"/>
|
|
195
|
-
<ellipse cx="435" cy="557" rx="8" ry="4.5" fill="#D08A72" opacity="0.55"/>
|
|
196
|
-
<ellipse cx="505" cy="557" rx="8" ry="4.5" fill="#D08A72" opacity="0.55"/>
|
|
197
|
-
<g fill="none" stroke="#F2CEA0" stroke-width="1.4" stroke-linecap="round" opacity="0.8">
|
|
198
|
-
<path d="M437 558L410 552M437 565L408 566M505 558L533 551M505 565L537 565"/>
|
|
199
|
-
</g>
|
|
200
|
-
<!-- 爪爪与尾巴的层次 -->
|
|
201
|
-
<path d="M458 656Q453 680 450 701Q452 712 469 710Q480 708 478 698L480 656" fill="#F2C693"/>
|
|
202
|
-
<path d="M497 656L493 697Q492 710 508 711Q523 710 522 700L516 658" fill="#F5CE9C"/>
|
|
203
|
-
<path d="M460 702V707M468 702V708M503 702V708M511 702V708" stroke="#BE9278" stroke-width="1.3" stroke-linecap="round"/>
|
|
204
|
-
<path d="M409 670C386 677 385 709 413 720C444 733 513 735 549 721C569 713 580 698 571 688C560 675 551 690 539 696C513 710 460 712 438 704" fill="none" stroke="url(#tail-fur)" stroke-width="24" stroke-linecap="round"/>
|
|
205
|
-
<path d="M456 718L455 731M484 718L486 732M514 714L518 726" fill="none" stroke="#B37A59" stroke-width="5" opacity="0.45"/>
|
|
206
|
-
|
|
207
|
-
<!-- 窗台上被灯光照亮的一小块位置 -->
|
|
208
|
-
<path d="M745 723H907" fill="none" stroke="#F0CA9A" stroke-width="2" opacity="0.35" stroke-linecap="round"/>
|
|
209
|
-
|
|
210
|
-
<!-- 桌上的书,今晚先读到这里 -->
|
|
211
|
-
<ellipse cx="746" cy="811" rx="128" ry="13" fill="#241E31" opacity="0.28"/>
|
|
212
|
-
<path d="M626 771L738 784L855 765L870 813L743 832L621 813Z" fill="#2D3C46"/>
|
|
213
|
-
<path d="M633 768Q686 762 741 787Q791 761 846 763L861 807Q798 806 743 826Q686 806 627 806Z" fill="#D9C1B1"/>
|
|
214
|
-
<path d="M633 763Q688 758 741 781L743 819Q691 798 627 801Z" fill="#EBD7BF"/>
|
|
215
|
-
<path d="M741 781Q790 756 845 757L859 800Q796 798 743 819Z" fill="#F5E5CB"/>
|
|
216
|
-
<path d="M741 781L743 819" fill="none" stroke="#B69C91" stroke-width="1.6"/>
|
|
217
|
-
<g fill="none" stroke="#B29B8C" stroke-width="1.2" opacity="0.55" stroke-linecap="round">
|
|
218
|
-
<path d="M648 773Q684 773 724 787M645 782Q684 782 725 796M644 791Q683 790 713 801"/>
|
|
219
|
-
<path d="M758 787Q796 771 835 771M758 796Q797 780 838 781M760 804Q785 794 812 791"/>
|
|
220
|
-
</g>
|
|
221
|
-
<path d="M806 761L816 760L826 808L819 805L814 811Z" fill="#C98779"/>
|
|
222
|
-
|
|
223
|
-
<!-- 给今晚的小小注脚 -->
|
|
224
|
-
<g font-family="'PingFang SC','Noto Sans CJK SC','Microsoft YaHei',sans-serif">
|
|
225
|
-
<text x="86" y="840" fill="#E2C9B6" font-size="17" letter-spacing="2">今晚的任务:好好休息。</text>
|
|
226
|
-
<text x="1112" y="841" text-anchor="end" fill="#A98F98" font-size="12" letter-spacing="3">不赶路,也很好</text>
|
|
227
|
-
</g>
|
|
228
|
-
</g>
|
|
229
|
-
</svg>
|
|
@@ -1,271 +0,0 @@
|
|
|
1
|
-
# 画风速查(《月亮替你值夜班》标准)
|
|
2
|
-
|
|
3
|
-
版本:基于 2026-09-10 用户认可的《月亮替你值夜班》;改动本文件前先征得用户确认。
|
|
4
|
-
用法:**每幅开画前通读本文件**;仅在需要复习完整结构时,再打开 `moon_keeps_watch.svg` 与 `approved-preview.png` 对照。速查表 + 自查清单 + artkit 质检,三者照做即可保持原作精细度。
|
|
5
|
-
|
|
6
|
-
**尺寸定位**:要学的是手法(圆润大形、渐变层次、分层空间、留白、温柔短句),**不是它的夜色**。原作是夜景只是恰好;默认出图应当**明快、明亮,明亮调与中间调为主**,夜景当少数例外。
|
|
7
|
-
|
|
8
|
-
**文件结构**:画布与技术骨架 → 硬底线(明度 / 对比 / 可读性)→ 题材轮换 → 颜色 → 层序与片段 → 动物配方 → 检查清单。
|
|
9
|
-
|
|
10
|
-
## 画布与技术骨架
|
|
11
|
-
|
|
12
|
-
- 默认 1200×900(4:3 横幅);用户指定尺寸优先。
|
|
13
|
-
- 根节点起手式:
|
|
14
|
-
|
|
15
|
-
```svg
|
|
16
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="1200" height="900" viewBox="0 0 1200 900" role="img" aria-labelledby="art-title art-desc">
|
|
17
|
-
<title id="art-title">…</title>
|
|
18
|
-
<desc id="art-desc">…(与画面一致,不夸大)</desc>
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
- 全幅圆角由最外层 clipPath 统一裁切(文字也要包含在内),rx≈30:
|
|
22
|
-
|
|
23
|
-
```svg
|
|
24
|
-
<clipPath id="canvas"><rect width="1200" height="900" rx="30"/></clipPath>
|
|
25
|
-
<g clip-path="url(#canvas)"> …全部内容… </g>
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
- 纯静态、纯矢量、自包含:无动画 / 脚本 / 外链 / 位图 / foreignObject。
|
|
29
|
-
|
|
30
|
-
## 硬底线(不可让步)
|
|
31
|
-
|
|
32
|
-
三条底线,按顺序过:**明度均衡 → 对比度 → 文字可读性**;它们优先于“好不好看”。共同底线:**脸、物件轮廓、文字的对比必须清楚**(亮底尤其别用浅色字)。
|
|
33
|
-
|
|
34
|
-
### 明度均衡
|
|
35
|
-
|
|
36
|
-
原作是夜景,但那份深底不是默认值。成批创作时**亮调、中间调要占多数**,深色夜景只当做偶尔的一种。判断标准很简单:
|
|
37
|
-
|
|
38
|
-
- 每 3–4 张里,至少 2 张是**亮底或中间调**(晨光、米白、浅木、雾面、淡彩)。
|
|
39
|
-
- 连续两张不要都是深底夜景;连续三张深底就算跑偏,第三张必须换亮。
|
|
40
|
-
- 深色只做点缀(主体、轮廓、文字、局部阴影),**不做整幅的默认底色**。
|
|
41
|
-
- 亮底不等于惨白:用米白、奶乳、浅木、雾青、樱粉这类**带暖度的浅色**打底,再以中深色物体压住画面重心。
|
|
42
|
-
|
|
43
|
-
### 对比度
|
|
44
|
-
|
|
45
|
-
明快不等于发飘。亮底必须靠**深色锚点**立住,深底必须靠**大面积亮部**立住;整幅要有一处明确的明暗落差,不能到处差不多亮。
|
|
46
|
-
|
|
47
|
-
- 亮底立住的三类锚点(至少用两类):**深色主体**(黑猫、深墨绿杯、深蓝书)、**成片的影子**(窗格影、斜射光带、投影)、**深色结构**(深木台面、深色屋档)。
|
|
48
|
-
- 深底立住的亮部:灯 / 发亮的窗是核心,再加上成片的浅色面(浅色石阶、白墙、浅色台面),亮部面积不能只是几个小点。
|
|
49
|
-
- 量化参考:亮底画里,最深处应当接近 `#3A2C22 / #242130`(不是浅褐);深底画里,最亮处应当接近 `#FFFDF0 / #FFF6E2`。
|
|
50
|
-
- 关键焦点(眼睛、灯芯、窗格中心)用**两端中最强的那一级**:亮底上最深的衬着最亮的,深底上最亮的衬着最深的。
|
|
51
|
-
- 别用低透明黑整层压暗来“造”对比,那是相下去不是对比;对比靠亮部与暗部**各自的纯度**。
|
|
52
|
-
- 对比要做在**有限的几个点点**上(主体、光源、影子),其余区域保持柔和过渡;整幅处处高对比会硬、会吵。
|
|
53
|
-
|
|
54
|
-
### 文字可读性
|
|
55
|
-
|
|
56
|
-
文字必须能在它的实际底色上轻松读出来。这是底线,不是风格偏好——好看的配色也要为重。
|
|
57
|
-
|
|
58
|
-
- **按文字所在区域定色,不按整幅平均色定色**:落在渐变压暗处、光斑上、深色物体上的字,以该处实际背景为准染深或染亮。
|
|
59
|
-
- **先保证对比,再谈协调**:把标题与注脚的明度与背景拉开;相邻明度差不足时,加深文字或给文字加一层轻柔的衬底/暗影,不要靠“整体感觉差不多”蒙过去。
|
|
60
|
-
- **亮底用深字,暗底用亮字**:亮底文字用深褐 / 深墨(如 `#4A3B34 / #2F4B54`),不要反过来,也不要给亮底配奶油色字、给暗底配中灰字。
|
|
61
|
-
- **文字不要横跨明暗交界**:不让句子一半在亮区、一半在暗区;让它整体待在一种背景上,必要时挪位置。
|
|
62
|
-
- **字号越小,对比要求越高**:右下小字最细最易糊,它比标题更需要拉足对比。
|
|
63
|
-
- 仅靠字形描边或很淡的投影来“救”低对比字是不够的;对比不足就直接换色。
|
|
64
|
-
- 四角文字都在圆角裁切内,选色时一并考虑裁切边缘的底色。
|
|
65
|
-
|
|
66
|
-
## 题材轮换(成批创作尤其重要)
|
|
67
|
-
|
|
68
|
-
画风固定,题材不能固定。同一批图里反复出现「远山+月+一盏灯」就是跑偏,哪怕每张坐标都换了。
|
|
69
|
-
|
|
70
|
-
- **连续两张不同题材类型**,不要连着两张都是山景(或两张都是室内窗户)。
|
|
71
|
-
- **每 4 张一轮**,至少覆盖三类不同题材:自然风景 / 室内生活 / 季节天气 / 旅途与建筑 / 动物与物件。
|
|
72
|
-
- **同一批里一个母题最多用两次**(母题=月色、灯火、远山、窗、荷、雪、舟……);第三次就换。
|
|
73
|
-
- **换的不只是题材名字,还有构图骨架**:不要每张都是“横向分天地”、一个远景加一个主体;俯视、近景特写、斜线分栏都可以用。
|
|
74
|
-
- **主体也可以换**:猫、兔、刺猬、狐狸、鸟、小鸭、鲸都能当主角;不必总用同一只猫换姿势。
|
|
75
|
-
- 用户指定了题材就直接用;没指定时,按上一张的类型主动错开。
|
|
76
|
-
|
|
77
|
-
## 颜色(自由发挥,不设固定色板)
|
|
78
|
-
|
|
79
|
-
颜色由你按题材与情绪自由决定、可多变;下表只是原作的参考示例,**不是必用色板**,任何协调的色系都可以用。
|
|
80
|
-
|
|
81
|
-
| 用途 | 原作示例(仅供参考) |
|
|
82
|
-
| --- | --- |
|
|
83
|
-
| 室内暮紫渐变 | `#252138 → #46334D → #70515F` |
|
|
84
|
-
| 窗外紫粉夜色 | `#343453 → #77627D → #E8AD9B` |
|
|
85
|
-
| 远 / 中 / 近山 | `#97788D / #695776 / #3D364F` |
|
|
86
|
-
| 暖金月光 | `#FFF0C5` |
|
|
87
|
-
| 小灯玻璃 | `#FFE9BB → #FFDAA0 → #ECC18A` |
|
|
88
|
-
| 橘猫毛色 | `#D89462 → #ECAE78 → #F5CA94`(尾 `#C4855F→#EDB783`) |
|
|
89
|
-
| 叶绿 | `#6F9488 / #9BB09B / #B4BD9F` |
|
|
90
|
-
| 灯座灰绿 | `#455D59 / #61746A` |
|
|
91
|
-
| 文字奶油 | `#F5E1CD / #E2C9B6 / #C7AFAD / #A98F98` |
|
|
92
|
-
| 腮红 / 条纹 | `#D08A72(低透明) / #BB7957` |
|
|
93
|
-
|
|
94
|
-
**亮调底色参考**(不是强制色板,只是把「亮」具象化,避免每次都摸回夜色):
|
|
95
|
-
|
|
96
|
-
| 氛围 | 底色示例 | 配文字色 |
|
|
97
|
-
| --- | --- | --- |
|
|
98
|
-
| 晨光米白 | `#FBF3E6 → #F3E3CC` | `#5A4A3E` |
|
|
99
|
-
| 浅木暖调 | `#F1DFC4 → #D9BE9A` | `#4E3A2E` |
|
|
100
|
-
| 雾青淡彩 | `#EAF4F2 → #CBE3E0` | `#2F4B54` |
|
|
101
|
-
| 樱粉霞色 | `#FCEAE4 → #F3CFC4` | `#6A4640` |
|
|
102
|
-
| 岚色雪白 | `#F4F7FA → #D9E4EE` | `#3C4E63` |
|
|
103
|
-
| 苹果园绿 | `#EFF6DC → #D2E3B4` | `#3F5A38` |
|
|
104
|
-
|
|
105
|
-
- 每幅可换色系:森林绿、海水蓝、晨雾灰、暮紫、樱粉、秋橙、雪青……都行;成批创作尤其鼓励每张不同,避免千篇一律。
|
|
106
|
-
- 保持的是手法而不是色值:渐变过渡自然、层次分明、主光源统一(暖灯 / 冷月 / 落日 / 晨雾 / 日间自然光皆可)。
|
|
107
|
-
|
|
108
|
-
## 层序总则(从后往前画)
|
|
109
|
-
|
|
110
|
-
1. 室内底色与氛围 2. 窗外/环境远景(全部收进 clip) 3. 结构(窗框 / 屋檐 / 栏杆)
|
|
111
|
-
4. 远→中→近景 5. 承托面(窗台 / 桌面 / 地面) 6. 道具 7. 主体 8. 细节(纹理 / 表情 / 高光) 9. 文字
|
|
112
|
-
|
|
113
|
-
- 每个物件:接触阴影(低透明扁椭圆)+ 明确承托;灯、盆、书不得悬空。
|
|
114
|
-
- 只在最后画文字,保证不被压住。
|
|
115
|
-
|
|
116
|
-
## 可复用片段(照结构改造;色值按当幅色系替换,别照抄坐标)
|
|
117
|
-
|
|
118
|
-
### 拱窗(框内远景不越界)
|
|
119
|
-
|
|
120
|
-
```svg
|
|
121
|
-
<path d="M254 707V472C254 284 409 149 600 149S946 284 946 472V707Z" fill="#2B243A"/><!-- 外框底 -->
|
|
122
|
-
<path d="M262 703V472C262 289 412 158 600 158S938 289 938 472V703Z" fill="#A38189"/><!-- 框面 -->
|
|
123
|
-
<clipPath id="window"><path d="M270 698V472C270 294 416 166 600 166S930 294 930 472V698Z"/></clipPath>
|
|
124
|
-
<g clip-path="url(#window)"> …天空 / 山 / 小窗屋… </g>
|
|
125
|
-
<path d="M276 473C276 299 418 173 600 173" fill="none" stroke="#E2BCA5" stroke-width="2" opacity="0.4"/><!-- 内缘高光最后画 -->
|
|
126
|
-
```
|
|
127
|
-
|
|
128
|
-
### 月牙(mask 切,光晕用 2–3 个低透明同心圆)
|
|
129
|
-
|
|
130
|
-
```svg
|
|
131
|
-
<mask id="crescent" maskUnits="userSpaceOnUse" x="707" y="250" width="120" height="120">
|
|
132
|
-
<rect x="707" y="250" width="120" height="120" fill="black"/>
|
|
133
|
-
<circle cx="767" cy="310" r="48" fill="white"/>
|
|
134
|
-
<circle cx="786" cy="293" r="43" fill="black"/>
|
|
135
|
-
</mask>
|
|
136
|
-
<circle cx="767" cy="310" r="110" fill="#FFF0C5" opacity="0.025"/>
|
|
137
|
-
<circle cx="767" cy="310" r="48" fill="#FFF0C5" mask="url(#crescent)"/>
|
|
138
|
-
```
|
|
139
|
-
|
|
140
|
-
### 星光(defs+use 复用,省时省体积)
|
|
141
|
-
|
|
142
|
-
```svg
|
|
143
|
-
<path id="spark" d="M0-8Q1-1 8 0Q1 1 0 8Q-1 1-8 0Q-1-1 0-8Z"/>
|
|
144
|
-
<use href="#spark" transform="translate(565 332)" opacity="0.8"/>
|
|
145
|
-
<use href="#spark" transform="translate(388 352) scale(0.7)" opacity="0.65"/>
|
|
146
|
-
```
|
|
147
|
-
|
|
148
|
-
### 暖光晕(径向渐变,不靠模糊滤镜)
|
|
149
|
-
|
|
150
|
-
```svg
|
|
151
|
-
<radialGradient id="lamp-halo">
|
|
152
|
-
<stop stop-color="#FFD29A" stop-opacity="0.35"/>
|
|
153
|
-
<stop offset="0.5" stop-color="#FFC989" stop-opacity="0.12"/>
|
|
154
|
-
<stop offset="1" stop-color="#FFC989" stop-opacity="0"/>
|
|
155
|
-
</radialGradient>
|
|
156
|
-
<circle cx="824" cy="621" r="183" fill="url(#lamp-halo)"/>
|
|
157
|
-
```
|
|
158
|
-
|
|
159
|
-
### 动物圆脸(闭眼弧线 / 鼻嘴 / 腮红)
|
|
160
|
-
|
|
161
|
-
```svg
|
|
162
|
-
<path d="M438 543Q445 551 453 543" fill="none" stroke="#65454A" stroke-width="3" stroke-linecap="round"/>
|
|
163
|
-
<path d="M471 561V566M471 566Q464 572 461 567M471 566Q478 572 481 567" fill="none" stroke="#65454A" stroke-width="1.8" stroke-linecap="round"/>
|
|
164
|
-
<ellipse cx="435" cy="557" rx="8" ry="4.5" fill="#D08A72" opacity="0.55"/>
|
|
165
|
-
```
|
|
166
|
-
|
|
167
|
-
### 条纹补丁(clip 到身体路径)
|
|
168
|
-
|
|
169
|
-
```svg
|
|
170
|
-
<clipPath id="cat-body"><path d="M…身体同一路径…"/></clipPath>
|
|
171
|
-
<g clip-path="url(#cat-body)" fill="none" stroke="#BB7957" stroke-width="13" stroke-linecap="round" opacity="0.5">…3 条弧线…</g>
|
|
172
|
-
```
|
|
173
|
-
|
|
174
|
-
### 文字组(位置与样式照做,字句随画面)
|
|
175
|
-
|
|
176
|
-
默认版(不带诗词,右下带一句小字):
|
|
177
|
-
|
|
178
|
-
```svg
|
|
179
|
-
<g font-family="'PingFang SC','Noto Sans CJK SC','Microsoft YaHei',sans-serif">
|
|
180
|
-
<text x="86" y="92" fill="#F5E1CD" font-size="27" font-weight="500" letter-spacing="4">标题</text>
|
|
181
|
-
<text x="1112" y="90" text-anchor="end" fill="#C7AFAD" font-size="15" letter-spacing="3">晚安 · 名字</text>
|
|
182
|
-
<text x="86" y="840" fill="#E2C9B6" font-size="17" letter-spacing="2">一句注脚</text>
|
|
183
|
-
<text x="1112" y="841" text-anchor="end" fill="#A98F98" font-size="12" letter-spacing="3">小字</text>
|
|
184
|
-
</g>
|
|
185
|
-
```
|
|
186
|
-
|
|
187
|
-
(质检脚本会核对字体栈与全部文案。)
|
|
188
|
-
|
|
189
|
-
### 诗词版:左下角放一首配得上的唐宋诗词
|
|
190
|
-
|
|
191
|
-
画面相宜时(山水、夜景、四季、雪月、荷塘这类题材尤其合适),左下角题诗词、去掉右下小字;**左上标题、右上落款照旧保留**,全图共五处文字。
|
|
192
|
-
|
|
193
|
-
```svg
|
|
194
|
-
<g font-family="'PingFang SC','Noto Sans CJK SC','Microsoft YaHei',sans-serif">
|
|
195
|
-
<text x="86" y="92" fill="#F2EBDC" font-size="27" font-weight="500" letter-spacing="4">今晚山里很静</text>
|
|
196
|
-
<text x="1112" y="90" text-anchor="end" fill="#8FA6BE" font-size="15" letter-spacing="3">夜 · 名字</text>
|
|
197
|
-
<text x="86" y="764" fill="#FFFFFF" font-size="28" font-weight="600" letter-spacing="6">月出惊山鸟</text>
|
|
198
|
-
<text x="86" y="814" fill="#FFF8E4" font-size="28" font-weight="600" letter-spacing="6">时鸣春涧中</text>
|
|
199
|
-
<text x="88" y="858" fill="#F4EEDC" font-size="14" letter-spacing="3">唐 · 王维《鸟鸣涧》</text>
|
|
200
|
-
</g>
|
|
201
|
-
```
|
|
202
|
-
|
|
203
|
-
**标题与诗句分工(别写成一句话)**:
|
|
204
|
-
|
|
205
|
-
- **左上标题**:写自己的话,讲画面的感受或情境(「今晚山里很静」「帐外还下着雪」),口语、短句。
|
|
206
|
-
- **左下诗句**:引原典原文,只选能**与画面互相对上**的句子(画里有鸟有月就选《鸟鸣涧》,有成排灯火就选「夜深千帐灯」)。
|
|
207
|
-
- 两者**不重复、不互相解释**:不拿诗句当标题,也不让标题去翻译诗句。
|
|
208
|
-
|
|
209
|
-
- **结构**:诗句两行(同字号、同字距、左对齐,行间距 50)+出处一行(朝代 · 作者《篇名》)。
|
|
210
|
-
- **字号与字重**:标题 27 号 / 字重 500 / 字距 4(与默认版一致);诗句 28 号 / 字重 600 / 字距 6;出处 14 号 / 字距 3,比诗句小一号且对比不低。
|
|
211
|
-
- **位置**:左上标题 (86, 92);诗句 x=86、出处 x=88,三行基线 764 / 814 / 858,整体待在左下角、不碰圆角;**右下不放小字**。
|
|
212
|
-
- **出处不省**:朝代与作者写清,字号虽小但对比要够。
|
|
213
|
-
|
|
214
|
-
**诗词版的对比标准(比普通注脚更严)**:诗句是画面主文字之一,必须一眼看清。
|
|
215
|
-
|
|
216
|
-
- 诗句与出处都比普通注脚更深/更亮一档:亮底上压到接近墨色(如 `#1E2E24 / #1E3A20`),深底上提到接近纯白(如 `#FFFFFF / #FFF8E4`)。
|
|
217
|
-
- 诗句与出处的对比**不要拉开太多**:出处虽小,也必须在它的底色上看得清,不能发灰发淡。
|
|
218
|
-
- 仍按**文字所在区域**定色:诗句落在深色山影或雪地浅色区上时,以那块背景为准染深或染亮(宁可反向形成强对比,也不要顺着背景走)。
|
|
219
|
-
- 不用透明度、不加投影来“平衡关系”;对比不够就直接换色值或加字重。
|
|
220
|
-
|
|
221
|
-
### 落款名:按使用者替换,不要照抄
|
|
222
|
-
|
|
223
|
-
上面片段里的「名字」是占位符,**不是固定文案**——写死就等于把名字串给别人。每张开画前按此决定:
|
|
224
|
-
|
|
225
|
-
1. **知道对方称呼时**:落款用对方的名字(如「晚安 · 小满」),跟随当前会话的使用者,不要沿用上一张或示例里的名字。
|
|
226
|
-
2. **不确定时**:改用中性落款,只留情境词,如「晚安」「早安」「祝你睡个好觉」,宁可不写名字也不要猜错。
|
|
227
|
-
3. **判断依据(按顺序取第一个可用的)**:当前会话里对方明确的称呼 → 记忆中的使用者姓名 → 中性落款。
|
|
228
|
-
|
|
229
|
-
- 只有认可原作 `references/moon_keeps_watch.svg` 里的「晚安 · 阿答」属于历史事实,保持原样不动;它是**示例来源**,不是**可复制模板**。
|
|
230
|
-
- 同一批多张图里,落款名要一致;换人做则整批一起换,不要一张一个名。
|
|
231
|
-
- 其余文案(标题、注脚)属于画风,保持克制中文短句即可,无需替换。
|
|
232
|
-
|
|
233
|
-
## 动物主角配方(坐姿猫为例)
|
|
234
|
-
|
|
235
|
-
1. 接触阴影椭圆 → 2. 身体大形(圆润梨形)→ 3. 条纹组(clip 到身体)→ 4. 肚皮浅色块 →
|
|
236
|
-
5. 耳朵(先画,含内耳深色)→ 6. 头(盖住耳根)→ 7. 脸(闭眼两段弧、小三角鼻、两小钩嘴、腮红、2–4 根细胡须)→
|
|
237
|
-
8. 前爪(圆头柱状,落在大形下缘)→ 9. 尾巴(最后画:粗圆头 stroke 绕出一侧,可与身体交叠出层次)
|
|
238
|
-
|
|
239
|
-
- 要点:圆头圆身;闭眼用上拱弧线;耳朵内色深一号。
|
|
240
|
-
- 变体:坐 / 趴 / 躺 / 回头 / 伸爪——改大形与四肢,**不要每张平移同一只猫**。
|
|
241
|
-
|
|
242
|
-
## 开画前自查清单(过一遍再落盘,能省一轮返工)
|
|
243
|
-
|
|
244
|
-
**结构与画法**
|
|
245
|
-
- [ ] 月牙用 mask;不用天空色圆"假装"遮挡
|
|
246
|
-
- [ ] 窗 / 框内远景全部被 clip;外框线压在最上
|
|
247
|
-
- [ ] 耳先头后、身先脸后、尾巴最后并压住衔接
|
|
248
|
-
- [ ] 每个物件有影子 + 承托;灯落座、书贴桌
|
|
249
|
-
- [ ] 全幅圆角由 canvas clip 统一(含文字)
|
|
250
|
-
- [ ] 重复小元素(星 / 叶 / 毛簇)用 defs+use
|
|
251
|
-
- [ ] 不复用上一张的同一套坐标;题材与前一张不同类型,母题未超两次,构图骨架换过
|
|
252
|
-
|
|
253
|
-
**底线三条(明度 / 对比 / 可读性)**
|
|
254
|
-
- [ ] 整幅底色不是默认深色(成批时亮调 / 中间调占多数,无连续夜景)
|
|
255
|
-
- [ ] 整幅有一处明确的明暗落差:亮底有深色锚点(主体 / 影子 / 深色结构)或深底有大面积亮部
|
|
256
|
-
- [ ] 对比集中在主体、光源、影子等少数区域,其余保持柔和过渡
|
|
257
|
-
- [ ] 文字按所在区域选色(不是按整幅平均):亮底用深、暗底用亮,对比足够,不横跨明暗交界
|
|
258
|
-
- [ ] 小字(如有)在它的底色上能读清楚(最细的字对比要求最高)
|
|
259
|
-
|
|
260
|
-
**文字与静态底线**
|
|
261
|
-
- [ ] 文字对比足够、字体栈齐全;无动画 / 外链节点
|
|
262
|
-
- [ ] 落款名已按当前使用者替换(或改用中性落款),没有照抄示例里的名字
|
|
263
|
-
- [ ] 若用了诗词版:五处文字齐全——左上标题(27/500,自拟短句)+右上落款+左下诗句两行(28/600/字距6)+出处一行(14),右下无小字
|
|
264
|
-
- [ ] 诗词版的标题与诗句不重复:标题写自己的话,诗句引原典
|
|
265
|
-
- [ ] 诗词诗句与出处的对比足够:亮底近墨色、深底近纯白,出处没有发灰发淡
|
|
266
|
-
|
|
267
|
-
## 交付前核对(结合 artkit 质检报告)
|
|
268
|
-
|
|
269
|
-
- 报告无 ✗:结构、圆角裁切(全部内容在框内)、引用、字体栈、静态底线。
|
|
270
|
-
- 调色清单与文案清单逐项核对:整幅用色协调、无错字、句子简短完整。
|
|
271
|
-
- 自查清单(含底线三条、题材轮换、诗词版)已勾完;最终交付 = 质检通过的最新版本,且为零动画原生 SVG。
|