@mumulinya167/ccm-pet-assets 2.0.0 → 2.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/calico/calico-idle-follow.svg +324 -324
- package/assets/calico.svg +324 -324
- package/assets/clawd/LICENSE +22 -22
- package/assets/clawd/clawd-about-hero.svg +202 -202
- package/assets/clawd/clawd-collapse-sleep.svg +247 -247
- package/assets/clawd/clawd-error.svg +94 -94
- package/assets/clawd/clawd-happy.svg +160 -160
- package/assets/clawd/clawd-headphones-groove.svg +194 -194
- package/assets/clawd/clawd-idle-bubble.svg +180 -180
- package/assets/clawd/clawd-idle-collapse.svg +101 -101
- package/assets/clawd/clawd-idle-doze.svg +72 -72
- package/assets/clawd/clawd-idle-follow.svg +64 -64
- package/assets/clawd/clawd-idle-living.svg +195 -195
- package/assets/clawd/clawd-idle-look.svg +115 -115
- package/assets/clawd/clawd-idle-reading.svg +252 -252
- package/assets/clawd/clawd-idle-yawn.svg +158 -158
- package/assets/clawd/clawd-mini-alert.svg +129 -129
- package/assets/clawd/clawd-mini-crabwalk.svg +76 -76
- package/assets/clawd/clawd-mini-enter-sleep.svg +64 -64
- package/assets/clawd/clawd-mini-enter.svg +114 -114
- package/assets/clawd/clawd-mini-happy.svg +124 -124
- package/assets/clawd/clawd-mini-idle.svg +83 -83
- package/assets/clawd/clawd-mini-peek.svg +82 -82
- package/assets/clawd/clawd-mini-sleep.svg +112 -112
- package/assets/clawd/clawd-mini-typing.svg +153 -153
- package/assets/clawd/clawd-notification.svg +438 -438
- package/assets/clawd/clawd-react-annoyed.svg +167 -167
- package/assets/clawd/clawd-react-double-jump.svg +229 -229
- package/assets/clawd/clawd-react-double.svg +108 -108
- package/assets/clawd/clawd-react-drag.svg +102 -102
- package/assets/clawd/clawd-react-left.svg +102 -102
- package/assets/clawd/clawd-react-right.svg +102 -102
- package/assets/clawd/clawd-sleeping.svg +117 -117
- package/assets/clawd/clawd-static-base.svg +20 -20
- package/assets/clawd/clawd-wake.svg +277 -277
- package/assets/clawd/clawd-working-building.svg +329 -329
- package/assets/clawd/clawd-working-carrying.svg +178 -178
- package/assets/clawd/clawd-working-debugger.svg +245 -245
- package/assets/clawd/clawd-working-juggling.svg +183 -183
- package/assets/clawd/clawd-working-sweeping.svg +248 -248
- package/assets/clawd/clawd-working-thinking.svg +501 -501
- package/assets/clawd/clawd-working-typing-boss.svg +307 -307
- package/assets/clawd/clawd-working-typing.svg +273 -273
- package/assets/clawd/clawd-working-ultrathink.svg +166 -166
- package/assets/clawd/clawd-working-wizard.svg +356 -356
- package/assets/clawd.svg +64 -64
- package/assets/cloudling/cloudling/cloudling-attention.svg +379 -379
- package/assets/cloudling/cloudling/cloudling-building.svg +667 -667
- package/assets/cloudling/cloudling/cloudling-carrying.svg +604 -604
- package/assets/cloudling/cloudling/cloudling-conducting.svg +616 -616
- package/assets/cloudling/cloudling/cloudling-dozing-to-sleeping.svg +578 -578
- package/assets/cloudling/cloudling/cloudling-dozing.svg +358 -358
- package/assets/cloudling/cloudling/cloudling-error.svg +428 -428
- package/assets/cloudling/cloudling/cloudling-idle-reading.svg +658 -658
- package/assets/cloudling/cloudling/cloudling-idle-to-dozing.svg +568 -568
- package/assets/cloudling/cloudling/cloudling-idle-to-sleeping.svg +811 -811
- package/assets/cloudling/cloudling/cloudling-idle.svg +255 -255
- package/assets/cloudling/cloudling/cloudling-juggling.svg +648 -648
- package/assets/cloudling/cloudling/cloudling-mini-alert.svg +389 -389
- package/assets/cloudling/cloudling/cloudling-mini-crabwalk.svg +335 -335
- package/assets/cloudling/cloudling/cloudling-mini-enter-roll-in.svg +225 -225
- package/assets/cloudling/cloudling/cloudling-mini-enter-sleep.svg +231 -231
- package/assets/cloudling/cloudling/cloudling-mini-happy.svg +370 -370
- package/assets/cloudling/cloudling/cloudling-mini-idle.svg +279 -279
- package/assets/cloudling/cloudling/cloudling-mini-peek.svg +327 -327
- package/assets/cloudling/cloudling/cloudling-mini-sleep.svg +260 -260
- package/assets/cloudling/cloudling/cloudling-mini-typing.svg +691 -691
- package/assets/cloudling/cloudling/cloudling-notification.svg +493 -493
- package/assets/cloudling/cloudling/cloudling-react-drag.svg +83 -83
- package/assets/cloudling/cloudling/cloudling-sleeping-to-idle.svg +555 -555
- package/assets/cloudling/cloudling/cloudling-sleeping.svg +500 -500
- package/assets/cloudling/cloudling/cloudling-sweeping.svg +292 -292
- package/assets/cloudling/cloudling/cloudling-thinking.svg +719 -719
- package/assets/cloudling/cloudling/cloudling-typing.svg +354 -354
- package/assets/cloudling/cloudling-attention.svg +379 -379
- package/assets/cloudling/cloudling-building.svg +667 -667
- package/assets/cloudling/cloudling-carrying.svg +604 -604
- package/assets/cloudling/cloudling-conducting.svg +616 -616
- package/assets/cloudling/cloudling-dozing-to-sleeping.svg +578 -578
- package/assets/cloudling/cloudling-dozing.svg +358 -358
- package/assets/cloudling/cloudling-error.svg +428 -428
- package/assets/cloudling/cloudling-idle-reading.svg +658 -658
- package/assets/cloudling/cloudling-idle-to-dozing.svg +568 -568
- package/assets/cloudling/cloudling-idle-to-sleeping.svg +811 -811
- package/assets/cloudling/cloudling-idle.svg +255 -255
- package/assets/cloudling/cloudling-juggling.svg +648 -648
- package/assets/cloudling/cloudling-mini-alert.svg +389 -389
- package/assets/cloudling/cloudling-mini-crabwalk.svg +335 -335
- package/assets/cloudling/cloudling-mini-enter-roll-in.svg +225 -225
- package/assets/cloudling/cloudling-mini-enter-sleep.svg +231 -231
- package/assets/cloudling/cloudling-mini-happy.svg +370 -370
- package/assets/cloudling/cloudling-mini-idle.svg +279 -279
- package/assets/cloudling/cloudling-mini-peek.svg +327 -327
- package/assets/cloudling/cloudling-mini-sleep.svg +260 -260
- package/assets/cloudling/cloudling-mini-typing.svg +691 -691
- package/assets/cloudling/cloudling-notification.svg +493 -493
- package/assets/cloudling/cloudling-react-drag.svg +83 -83
- package/assets/cloudling/cloudling-sleeping-to-idle.svg +555 -555
- package/assets/cloudling/cloudling-sleeping.svg +500 -500
- package/assets/cloudling/cloudling-sweeping.svg +292 -292
- package/assets/cloudling/cloudling-thinking.svg +719 -719
- package/assets/cloudling/cloudling-typing.svg +354 -354
- package/assets/cloudling.svg +255 -255
- package/assets/ghost-attention.svg +19 -19
- package/assets/ghost-carrying.svg +19 -19
- package/assets/ghost-collapsing.svg +19 -19
- package/assets/ghost-dozing.svg +23 -23
- package/assets/ghost-error.svg +19 -19
- package/assets/ghost-happy.svg +23 -23
- package/assets/ghost-idle.svg +11 -11
- package/assets/ghost-juggling.svg +19 -19
- package/assets/ghost-notification.svg +19 -19
- package/assets/ghost-react-double.svg +23 -23
- package/assets/ghost-react-drag.svg +23 -23
- package/assets/ghost-react-left.svg +19 -19
- package/assets/ghost-react-right.svg +19 -19
- package/assets/ghost-sleeping.svg +19 -19
- package/assets/ghost-sweeping.svg +19 -19
- package/assets/ghost-waking.svg +19 -19
- package/assets/ghost-yawning.svg +23 -23
- package/assets/ghost.svg +11 -11
- package/assets/robot-attention.svg +19 -19
- package/assets/robot-carrying.svg +19 -19
- package/assets/robot-collapsing.svg +19 -19
- package/assets/robot-dozing.svg +23 -23
- package/assets/robot-error.svg +19 -19
- package/assets/robot-happy.svg +23 -23
- package/assets/robot-idle.svg +11 -11
- package/assets/robot-juggling.svg +19 -19
- package/assets/robot-notification.svg +19 -19
- package/assets/robot-react-double.svg +23 -23
- package/assets/robot-react-drag.svg +23 -23
- package/assets/robot-react-left.svg +19 -19
- package/assets/robot-react-right.svg +19 -19
- package/assets/robot-sleeping.svg +19 -19
- package/assets/robot-sweeping.svg +19 -19
- package/assets/robot-waking.svg +19 -19
- package/assets/robot-yawning.svg +23 -23
- package/assets/robot.svg +11 -11
- package/manifest.json +280 -280
- package/package.json +1 -1
|
@@ -1,196 +1,196 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="-15 -25 45 45" width="500" height="500">
|
|
2
|
-
<defs>
|
|
3
|
-
<style>
|
|
4
|
-
/* 16-Second Master Sequence for Idle Actions */
|
|
5
|
-
.action-body {
|
|
6
|
-
transform-origin: 7.5px 13px; /* Pivot at the base of the torso */
|
|
7
|
-
animation: action-body 16s infinite ease-in-out;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
/* Continuous Subtle Breathing (Syncs exactly 5 times per 16s loop) */
|
|
11
|
-
.breathe-anim {
|
|
12
|
-
transform-origin: 7.5px 13px;
|
|
13
|
-
animation: breathe 3.2s infinite ease-in-out;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
/* Shadow shrinking and shifting matching actions */
|
|
17
|
-
.shadow-anim {
|
|
18
|
-
transform-origin: 7.5px 15.5px;
|
|
19
|
-
animation: shadow-action 16s infinite ease-in-out;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
/* Left Arm (Scratching and Yawn Stretching) */
|
|
23
|
-
.arm-l {
|
|
24
|
-
transform-origin: 1px 10px;
|
|
25
|
-
animation: arm-l-idle 16s infinite ease-in-out;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
/* Right Arm (Yawn Stretching) */
|
|
29
|
-
.arm-r {
|
|
30
|
-
transform-origin: 14px 10px;
|
|
31
|
-
animation: arm-r-idle 16s infinite ease-in-out;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
/* Eye Tracking (Looking around) */
|
|
35
|
-
.eyes-look {
|
|
36
|
-
animation: eye-track 16s infinite ease-in-out;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
/* Occasional Blinks and shutting during Yawn */
|
|
40
|
-
.eyes-blink {
|
|
41
|
-
transform-origin: 7.5px 9px;
|
|
42
|
-
animation: eye-blink 16s infinite linear;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
/* Yawn Mouth Appearance */
|
|
46
|
-
.yawn-mouth {
|
|
47
|
-
transform-origin: 7.5px 11px;
|
|
48
|
-
animation: yawn-mouth-anim 16s infinite ease-in-out;
|
|
49
|
-
opacity: 0;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
/* Tiny tear that appears during the big yawn */
|
|
53
|
-
.yawn-tear {
|
|
54
|
-
animation: tear-fall 16s infinite ease-in-out;
|
|
55
|
-
opacity: 0;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
/* --- Keyframes --- */
|
|
59
|
-
|
|
60
|
-
@keyframes breathe {
|
|
61
|
-
0%, 100% { transform: scale(1, 1) translate(0, 0); }
|
|
62
|
-
50% { transform: scale(1.02, 0.98) translate(0, 0.5px); }
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
@keyframes action-body {
|
|
66
|
-
0%, 8%, 26%, 38%, 55%, 80%, 100% { transform: scale(1, 1) translate(0, 0); }
|
|
67
|
-
/* Look Right Tilt */
|
|
68
|
-
12%, 22% { transform: scale(1, 1) translate(1px, 0); }
|
|
69
|
-
/* Look Left Tilt */
|
|
70
|
-
42%, 50% { transform: scale(1, 1) translate(-1px, 0); }
|
|
71
|
-
/* Scratching Lean */
|
|
72
|
-
30%, 36% { transform: scale(1, 1) translate(0.5px, 0); }
|
|
73
|
-
/* Deep Yawn Stretch */
|
|
74
|
-
60% { transform: scale(0.95, 1.05) translate(0px, -1px); } /* Stretch up */
|
|
75
|
-
65% { transform: scale(0.9, 1.1) translate(0px, -2px); } /* Peak stretch */
|
|
76
|
-
72% { transform: scale(1.05, 0.95) translate(0px, 1px); } /* Heavy sigh / squash down */
|
|
77
|
-
76% { transform: scale(1, 1) translate(0px, 0px); } /* Recover */
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
@keyframes shadow-action {
|
|
81
|
-
0%, 8%, 26%, 38%, 55%, 80%, 100% { transform: scaleX(1) translate(0, 0); opacity: 0.5; }
|
|
82
|
-
12%, 22% { transform: scaleX(1) translate(1px, 0); opacity: 0.5; }
|
|
83
|
-
42%, 50% { transform: scaleX(1) translate(-1px, 0); opacity: 0.5; }
|
|
84
|
-
30%, 36% { transform: scaleX(1) translate(0.5px, 0); opacity: 0.5; }
|
|
85
|
-
60% { transform: scaleX(0.95) translate(0, 0); opacity: 0.45; }
|
|
86
|
-
65% { transform: scaleX(0.9) translate(0, 0); opacity: 0.4; }
|
|
87
|
-
72% { transform: scaleX(1.05) translate(0, 0); opacity: 0.55; }
|
|
88
|
-
76% { transform: scaleX(1) translate(0, 0); opacity: 0.5; }
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
@keyframes eye-track {
|
|
92
|
-
0%, 10%, 25%, 38%, 52%, 58%, 80%, 100% { transform: translate(0px, 0px); }
|
|
93
|
-
12%, 22% { transform: translate(3px, 0px); } /* Look Right */
|
|
94
|
-
42%, 50% { transform: translate(-3px, 0px); } /* Look Left */
|
|
95
|
-
60%, 75% { transform: translate(0px, -1px); } /* Look slightly up during yawn */
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
@keyframes eye-blink {
|
|
99
|
-
0%, 3%, 7%, 18%, 22%, 43%, 47%, 56%, 83%, 87%, 100% { transform: scaleY(1); }
|
|
100
|
-
5%, 20%, 45%, 85% { transform: scaleY(0.1); } /* Quick Blinks */
|
|
101
|
-
/* Yawn Closed Eyes */
|
|
102
|
-
60% { transform: scaleY(1); }
|
|
103
|
-
62%, 72% { transform: scaleY(0.1); } /* Eyes completely shut */
|
|
104
|
-
75% { transform: scaleY(1); }
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
@keyframes arm-l-idle {
|
|
108
|
-
0%, 28% { transform: translate(0, 0) rotate(0deg); }
|
|
109
|
-
|
|
110
|
-
/* Occasional Scratching Sequence (Left Arm) */
|
|
111
|
-
30% { transform: translate(1px, -3px) rotate(15deg); }
|
|
112
|
-
31% { transform: translate(1.5px, -4px) rotate(35deg); } /* Up */
|
|
113
|
-
32% { transform: translate(0.5px, -2.5px) rotate(0deg); } /* Down */
|
|
114
|
-
33% { transform: translate(1.5px, -4px) rotate(35deg); }
|
|
115
|
-
34% { transform: translate(0.5px, -2.5px) rotate(0deg); }
|
|
116
|
-
35% { transform: translate(1.5px, -4px) rotate(35deg); }
|
|
117
|
-
36% { transform: translate(0.5px, -2.5px) rotate(0deg); }
|
|
118
|
-
|
|
119
|
-
38%, 58% { transform: translate(0, 0) rotate(0deg); }
|
|
120
|
-
|
|
121
|
-
/* Yawn Stretch */
|
|
122
|
-
62% { transform: translate(-1px, -2px) rotate(45deg); }
|
|
123
|
-
65% { transform: translate(-2px, -3px) rotate(80deg); } /* Full outward stretch */
|
|
124
|
-
72% { transform: translate(0px, 1px) rotate(-15deg); } /* Relax down */
|
|
125
|
-
76%, 100% { transform: translate(0, 0) rotate(0deg); }
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
@keyframes arm-r-idle {
|
|
129
|
-
0%, 58% { transform: translate(0, 0) rotate(0deg); }
|
|
130
|
-
/* Yawn Stretch */
|
|
131
|
-
62% { transform: translate(1px, -2px) rotate(-45deg); }
|
|
132
|
-
65% { transform: translate(2px, -3px) rotate(-80deg); } /* Full outward stretch */
|
|
133
|
-
72% { transform: translate(0px, 1px) rotate(15deg); } /* Relax down */
|
|
134
|
-
76%, 100% { transform: translate(0, 0) rotate(0deg); }
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
@keyframes yawn-mouth-anim {
|
|
138
|
-
0%, 58%, 76%, 100% { opacity: 0; transform: scale(0.1); }
|
|
139
|
-
60% { opacity: 1; transform: scale(0.5, 0.2); }
|
|
140
|
-
65% { opacity: 1; transform: scale(1.1, 1.4); } /* Wide Open */
|
|
141
|
-
72% { opacity: 1; transform: scale(0.6, 0.4); } /* Shrinking */
|
|
142
|
-
75% { opacity: 0; transform: scale(0.1); }
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
@keyframes tear-fall {
|
|
146
|
-
0%, 64%, 80%, 100% { opacity: 0; transform: translateY(0); }
|
|
147
|
-
66% { opacity: 1; transform: translateY(0); } /* Appears at corner of eye */
|
|
148
|
-
72% { opacity: 1; transform: translateY(2.5px); } /* Slides down cheek */
|
|
149
|
-
75% { opacity: 0; transform: translateY(3px); } /* Fades out */
|
|
150
|
-
}
|
|
151
|
-
</style>
|
|
152
|
-
</defs>
|
|
153
|
-
|
|
154
|
-
<!-- Ground Shadow -->
|
|
155
|
-
<rect id="ground-shadow" class="shadow-anim" x="3" y="15" width="9" height="1" fill="#000000" opacity="0.5"/>
|
|
156
|
-
|
|
157
|
-
<!-- Static Character Legs (extended up to stay connected during yawn stretch) -->
|
|
158
|
-
<g id="legs" fill="#DE886D">
|
|
159
|
-
<rect id="outer-left-leg" x="3" y="12" width="1" height="3"/>
|
|
160
|
-
<rect id="inner-left-leg" x="5" y="12" width="1" height="3"/>
|
|
161
|
-
<rect id="inner-right-leg" x="9" y="12" width="1" height="3"/>
|
|
162
|
-
<rect id="outer-right-leg" x="11" y="12" width="1" height="3"/>
|
|
163
|
-
</g>
|
|
164
|
-
|
|
165
|
-
<!-- Animated Upper Body (Combines occasional actions + continuous breathing) -->
|
|
166
|
-
<g class="action-body">
|
|
167
|
-
<g class="breathe-anim">
|
|
168
|
-
|
|
169
|
-
<!-- Torso -->
|
|
170
|
-
<rect id="torso" x="2" y="6" width="11" height="7" fill="#DE886D"/>
|
|
171
|
-
|
|
172
|
-
<!-- Arms -->
|
|
173
|
-
<g class="arm-l">
|
|
174
|
-
<rect id="left-arm" x="0" y="9" width="2" height="2" fill="#DE886D"/>
|
|
175
|
-
</g>
|
|
176
|
-
<g class="arm-r">
|
|
177
|
-
<rect id="right-arm" x="13" y="9" width="2" height="2" fill="#DE886D"/>
|
|
178
|
-
</g>
|
|
179
|
-
|
|
180
|
-
<!-- Yawning Mouth (Hidden usually) -->
|
|
181
|
-
<rect class="yawn-mouth" x="6" y="10" width="3" height="2" fill="#000000"/>
|
|
182
|
-
|
|
183
|
-
<!-- Eyes Group -->
|
|
184
|
-
<g class="eyes-look" fill="#000000">
|
|
185
|
-
<g class="eyes-blink">
|
|
186
|
-
<rect id="left-eye" x="4" y="8" width="1" height="2"/>
|
|
187
|
-
<rect id="right-eye" x="10" y="8" width="1" height="2"/>
|
|
188
|
-
</g>
|
|
189
|
-
</g>
|
|
190
|
-
|
|
191
|
-
<!-- Yawn Tear Drop (A tiny detail for the big stretch) -->
|
|
192
|
-
<rect class="yawn-tear" x="3.5" y="10" width="1" height="1" fill="#40C4FF"/>
|
|
193
|
-
|
|
194
|
-
</g>
|
|
195
|
-
</g>
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="-15 -25 45 45" width="500" height="500">
|
|
2
|
+
<defs>
|
|
3
|
+
<style>
|
|
4
|
+
/* 16-Second Master Sequence for Idle Actions */
|
|
5
|
+
.action-body {
|
|
6
|
+
transform-origin: 7.5px 13px; /* Pivot at the base of the torso */
|
|
7
|
+
animation: action-body 16s infinite ease-in-out;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
/* Continuous Subtle Breathing (Syncs exactly 5 times per 16s loop) */
|
|
11
|
+
.breathe-anim {
|
|
12
|
+
transform-origin: 7.5px 13px;
|
|
13
|
+
animation: breathe 3.2s infinite ease-in-out;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
/* Shadow shrinking and shifting matching actions */
|
|
17
|
+
.shadow-anim {
|
|
18
|
+
transform-origin: 7.5px 15.5px;
|
|
19
|
+
animation: shadow-action 16s infinite ease-in-out;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
/* Left Arm (Scratching and Yawn Stretching) */
|
|
23
|
+
.arm-l {
|
|
24
|
+
transform-origin: 1px 10px;
|
|
25
|
+
animation: arm-l-idle 16s infinite ease-in-out;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/* Right Arm (Yawn Stretching) */
|
|
29
|
+
.arm-r {
|
|
30
|
+
transform-origin: 14px 10px;
|
|
31
|
+
animation: arm-r-idle 16s infinite ease-in-out;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/* Eye Tracking (Looking around) */
|
|
35
|
+
.eyes-look {
|
|
36
|
+
animation: eye-track 16s infinite ease-in-out;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/* Occasional Blinks and shutting during Yawn */
|
|
40
|
+
.eyes-blink {
|
|
41
|
+
transform-origin: 7.5px 9px;
|
|
42
|
+
animation: eye-blink 16s infinite linear;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/* Yawn Mouth Appearance */
|
|
46
|
+
.yawn-mouth {
|
|
47
|
+
transform-origin: 7.5px 11px;
|
|
48
|
+
animation: yawn-mouth-anim 16s infinite ease-in-out;
|
|
49
|
+
opacity: 0;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/* Tiny tear that appears during the big yawn */
|
|
53
|
+
.yawn-tear {
|
|
54
|
+
animation: tear-fall 16s infinite ease-in-out;
|
|
55
|
+
opacity: 0;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/* --- Keyframes --- */
|
|
59
|
+
|
|
60
|
+
@keyframes breathe {
|
|
61
|
+
0%, 100% { transform: scale(1, 1) translate(0, 0); }
|
|
62
|
+
50% { transform: scale(1.02, 0.98) translate(0, 0.5px); }
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
@keyframes action-body {
|
|
66
|
+
0%, 8%, 26%, 38%, 55%, 80%, 100% { transform: scale(1, 1) translate(0, 0); }
|
|
67
|
+
/* Look Right Tilt */
|
|
68
|
+
12%, 22% { transform: scale(1, 1) translate(1px, 0); }
|
|
69
|
+
/* Look Left Tilt */
|
|
70
|
+
42%, 50% { transform: scale(1, 1) translate(-1px, 0); }
|
|
71
|
+
/* Scratching Lean */
|
|
72
|
+
30%, 36% { transform: scale(1, 1) translate(0.5px, 0); }
|
|
73
|
+
/* Deep Yawn Stretch */
|
|
74
|
+
60% { transform: scale(0.95, 1.05) translate(0px, -1px); } /* Stretch up */
|
|
75
|
+
65% { transform: scale(0.9, 1.1) translate(0px, -2px); } /* Peak stretch */
|
|
76
|
+
72% { transform: scale(1.05, 0.95) translate(0px, 1px); } /* Heavy sigh / squash down */
|
|
77
|
+
76% { transform: scale(1, 1) translate(0px, 0px); } /* Recover */
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
@keyframes shadow-action {
|
|
81
|
+
0%, 8%, 26%, 38%, 55%, 80%, 100% { transform: scaleX(1) translate(0, 0); opacity: 0.5; }
|
|
82
|
+
12%, 22% { transform: scaleX(1) translate(1px, 0); opacity: 0.5; }
|
|
83
|
+
42%, 50% { transform: scaleX(1) translate(-1px, 0); opacity: 0.5; }
|
|
84
|
+
30%, 36% { transform: scaleX(1) translate(0.5px, 0); opacity: 0.5; }
|
|
85
|
+
60% { transform: scaleX(0.95) translate(0, 0); opacity: 0.45; }
|
|
86
|
+
65% { transform: scaleX(0.9) translate(0, 0); opacity: 0.4; }
|
|
87
|
+
72% { transform: scaleX(1.05) translate(0, 0); opacity: 0.55; }
|
|
88
|
+
76% { transform: scaleX(1) translate(0, 0); opacity: 0.5; }
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
@keyframes eye-track {
|
|
92
|
+
0%, 10%, 25%, 38%, 52%, 58%, 80%, 100% { transform: translate(0px, 0px); }
|
|
93
|
+
12%, 22% { transform: translate(3px, 0px); } /* Look Right */
|
|
94
|
+
42%, 50% { transform: translate(-3px, 0px); } /* Look Left */
|
|
95
|
+
60%, 75% { transform: translate(0px, -1px); } /* Look slightly up during yawn */
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
@keyframes eye-blink {
|
|
99
|
+
0%, 3%, 7%, 18%, 22%, 43%, 47%, 56%, 83%, 87%, 100% { transform: scaleY(1); }
|
|
100
|
+
5%, 20%, 45%, 85% { transform: scaleY(0.1); } /* Quick Blinks */
|
|
101
|
+
/* Yawn Closed Eyes */
|
|
102
|
+
60% { transform: scaleY(1); }
|
|
103
|
+
62%, 72% { transform: scaleY(0.1); } /* Eyes completely shut */
|
|
104
|
+
75% { transform: scaleY(1); }
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
@keyframes arm-l-idle {
|
|
108
|
+
0%, 28% { transform: translate(0, 0) rotate(0deg); }
|
|
109
|
+
|
|
110
|
+
/* Occasional Scratching Sequence (Left Arm) */
|
|
111
|
+
30% { transform: translate(1px, -3px) rotate(15deg); }
|
|
112
|
+
31% { transform: translate(1.5px, -4px) rotate(35deg); } /* Up */
|
|
113
|
+
32% { transform: translate(0.5px, -2.5px) rotate(0deg); } /* Down */
|
|
114
|
+
33% { transform: translate(1.5px, -4px) rotate(35deg); }
|
|
115
|
+
34% { transform: translate(0.5px, -2.5px) rotate(0deg); }
|
|
116
|
+
35% { transform: translate(1.5px, -4px) rotate(35deg); }
|
|
117
|
+
36% { transform: translate(0.5px, -2.5px) rotate(0deg); }
|
|
118
|
+
|
|
119
|
+
38%, 58% { transform: translate(0, 0) rotate(0deg); }
|
|
120
|
+
|
|
121
|
+
/* Yawn Stretch */
|
|
122
|
+
62% { transform: translate(-1px, -2px) rotate(45deg); }
|
|
123
|
+
65% { transform: translate(-2px, -3px) rotate(80deg); } /* Full outward stretch */
|
|
124
|
+
72% { transform: translate(0px, 1px) rotate(-15deg); } /* Relax down */
|
|
125
|
+
76%, 100% { transform: translate(0, 0) rotate(0deg); }
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
@keyframes arm-r-idle {
|
|
129
|
+
0%, 58% { transform: translate(0, 0) rotate(0deg); }
|
|
130
|
+
/* Yawn Stretch */
|
|
131
|
+
62% { transform: translate(1px, -2px) rotate(-45deg); }
|
|
132
|
+
65% { transform: translate(2px, -3px) rotate(-80deg); } /* Full outward stretch */
|
|
133
|
+
72% { transform: translate(0px, 1px) rotate(15deg); } /* Relax down */
|
|
134
|
+
76%, 100% { transform: translate(0, 0) rotate(0deg); }
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
@keyframes yawn-mouth-anim {
|
|
138
|
+
0%, 58%, 76%, 100% { opacity: 0; transform: scale(0.1); }
|
|
139
|
+
60% { opacity: 1; transform: scale(0.5, 0.2); }
|
|
140
|
+
65% { opacity: 1; transform: scale(1.1, 1.4); } /* Wide Open */
|
|
141
|
+
72% { opacity: 1; transform: scale(0.6, 0.4); } /* Shrinking */
|
|
142
|
+
75% { opacity: 0; transform: scale(0.1); }
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
@keyframes tear-fall {
|
|
146
|
+
0%, 64%, 80%, 100% { opacity: 0; transform: translateY(0); }
|
|
147
|
+
66% { opacity: 1; transform: translateY(0); } /* Appears at corner of eye */
|
|
148
|
+
72% { opacity: 1; transform: translateY(2.5px); } /* Slides down cheek */
|
|
149
|
+
75% { opacity: 0; transform: translateY(3px); } /* Fades out */
|
|
150
|
+
}
|
|
151
|
+
</style>
|
|
152
|
+
</defs>
|
|
153
|
+
|
|
154
|
+
<!-- Ground Shadow -->
|
|
155
|
+
<rect id="ground-shadow" class="shadow-anim" x="3" y="15" width="9" height="1" fill="#000000" opacity="0.5"/>
|
|
156
|
+
|
|
157
|
+
<!-- Static Character Legs (extended up to stay connected during yawn stretch) -->
|
|
158
|
+
<g id="legs" fill="#DE886D">
|
|
159
|
+
<rect id="outer-left-leg" x="3" y="12" width="1" height="3"/>
|
|
160
|
+
<rect id="inner-left-leg" x="5" y="12" width="1" height="3"/>
|
|
161
|
+
<rect id="inner-right-leg" x="9" y="12" width="1" height="3"/>
|
|
162
|
+
<rect id="outer-right-leg" x="11" y="12" width="1" height="3"/>
|
|
163
|
+
</g>
|
|
164
|
+
|
|
165
|
+
<!-- Animated Upper Body (Combines occasional actions + continuous breathing) -->
|
|
166
|
+
<g class="action-body">
|
|
167
|
+
<g class="breathe-anim">
|
|
168
|
+
|
|
169
|
+
<!-- Torso -->
|
|
170
|
+
<rect id="torso" x="2" y="6" width="11" height="7" fill="#DE886D"/>
|
|
171
|
+
|
|
172
|
+
<!-- Arms -->
|
|
173
|
+
<g class="arm-l">
|
|
174
|
+
<rect id="left-arm" x="0" y="9" width="2" height="2" fill="#DE886D"/>
|
|
175
|
+
</g>
|
|
176
|
+
<g class="arm-r">
|
|
177
|
+
<rect id="right-arm" x="13" y="9" width="2" height="2" fill="#DE886D"/>
|
|
178
|
+
</g>
|
|
179
|
+
|
|
180
|
+
<!-- Yawning Mouth (Hidden usually) -->
|
|
181
|
+
<rect class="yawn-mouth" x="6" y="10" width="3" height="2" fill="#000000"/>
|
|
182
|
+
|
|
183
|
+
<!-- Eyes Group -->
|
|
184
|
+
<g class="eyes-look" fill="#000000">
|
|
185
|
+
<g class="eyes-blink">
|
|
186
|
+
<rect id="left-eye" x="4" y="8" width="1" height="2"/>
|
|
187
|
+
<rect id="right-eye" x="10" y="8" width="1" height="2"/>
|
|
188
|
+
</g>
|
|
189
|
+
</g>
|
|
190
|
+
|
|
191
|
+
<!-- Yawn Tear Drop (A tiny detail for the big stretch) -->
|
|
192
|
+
<rect class="yawn-tear" x="3.5" y="10" width="1" height="1" fill="#40C4FF"/>
|
|
193
|
+
|
|
194
|
+
</g>
|
|
195
|
+
</g>
|
|
196
196
|
</svg>
|
|
@@ -1,115 +1,115 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="-15 -25 45 45" width="500" height="500">
|
|
2
|
-
<defs>
|
|
3
|
-
<style>
|
|
4
|
-
/* 10-Second Idle Loop — Looking Around + Scratching (no yawn) */
|
|
5
|
-
.action-body {
|
|
6
|
-
transform-origin: 7.5px 13px;
|
|
7
|
-
animation: action-body 10s infinite ease-in-out;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
.breathe-anim {
|
|
11
|
-
transform-origin: 7.5px 13px;
|
|
12
|
-
animation: breathe 3.2s infinite ease-in-out;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
.shadow-anim {
|
|
16
|
-
transform-origin: 7.5px 15.5px;
|
|
17
|
-
animation: shadow-action 10s infinite ease-in-out;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
.arm-l {
|
|
21
|
-
transform-origin: 1px 10px;
|
|
22
|
-
animation: arm-l-idle 10s infinite ease-in-out;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
.eyes-look {
|
|
26
|
-
animation: eye-track 10s infinite ease-in-out;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
.eyes-blink {
|
|
30
|
-
transform-origin: 7.5px 9px;
|
|
31
|
-
animation: eye-blink 10s infinite linear;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
/* --- Keyframes --- */
|
|
35
|
-
|
|
36
|
-
@keyframes breathe {
|
|
37
|
-
0%, 100% { transform: scale(1, 1) translate(0, 0); }
|
|
38
|
-
50% { transform: scale(1.02, 0.98) translate(0, 0.5px); }
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
@keyframes action-body {
|
|
42
|
-
0%, 8%, 25%, 30%, 40%, 45%, 60%, 100% { transform: scale(1,1) translate(0,0); }
|
|
43
|
-
/* Look Right */
|
|
44
|
-
12%, 22% { transform: scale(1,1) translate(1px, 0); }
|
|
45
|
-
/* Look Left */
|
|
46
|
-
48%, 57% { transform: scale(1,1) translate(-1px, 0); }
|
|
47
|
-
/* Scratch Lean */
|
|
48
|
-
33%, 38% { transform: scale(1,1) translate(0.5px, 0); }
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
@keyframes shadow-action {
|
|
52
|
-
0%, 8%, 25%, 30%, 40%, 45%, 60%, 100% { transform: scaleX(1) translate(0,0); opacity: 0.5; }
|
|
53
|
-
12%, 22% { transform: scaleX(1) translate(1px, 0); opacity: 0.5; }
|
|
54
|
-
48%, 57% { transform: scaleX(1) translate(-1px, 0); opacity: 0.5; }
|
|
55
|
-
33%, 38% { transform: scaleX(1) translate(0.5px, 0); opacity: 0.5; }
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
@keyframes eye-track {
|
|
59
|
-
0%, 10%, 25%, 43%, 60%, 100% { transform: translate(0, 0); }
|
|
60
|
-
12%, 22% { transform: translate(3px, 0); } /* Look Right */
|
|
61
|
-
48%, 57% { transform: translate(-3px, 0); } /* Look Left */
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
@keyframes eye-blink {
|
|
65
|
-
0%, 3%, 7%, 18%, 22%, 47%, 51%, 78%, 82%, 100% { transform: scaleY(1); }
|
|
66
|
-
5%, 20%, 49%, 80% { transform: scaleY(0.1); }
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
@keyframes arm-l-idle {
|
|
70
|
-
0%, 30% { transform: translate(0,0) rotate(0deg); }
|
|
71
|
-
/* Scratching Sequence */
|
|
72
|
-
33% { transform: translate(1px, -3px) rotate(15deg); }
|
|
73
|
-
34% { transform: translate(1.5px, -4px) rotate(35deg); }
|
|
74
|
-
35% { transform: translate(0.5px, -2.5px) rotate(0deg); }
|
|
75
|
-
36% { transform: translate(1.5px, -4px) rotate(35deg); }
|
|
76
|
-
37% { transform: translate(0.5px, -2.5px) rotate(0deg); }
|
|
77
|
-
38% { transform: translate(1.5px, -4px) rotate(35deg); }
|
|
78
|
-
39% { transform: translate(0.5px, -2.5px) rotate(0deg); }
|
|
79
|
-
42%, 100% { transform: translate(0,0) rotate(0deg); }
|
|
80
|
-
}
|
|
81
|
-
</style>
|
|
82
|
-
</defs>
|
|
83
|
-
|
|
84
|
-
<!-- Ground Shadow -->
|
|
85
|
-
<rect id="ground-shadow" class="shadow-anim" x="3" y="15" width="9" height="1" fill="#000000" opacity="0.5"/>
|
|
86
|
-
|
|
87
|
-
<!-- Static Legs -->
|
|
88
|
-
<g id="legs" fill="#DE886D">
|
|
89
|
-
<rect x="3" y="12" width="1" height="3"/>
|
|
90
|
-
<rect x="5" y="12" width="1" height="3"/>
|
|
91
|
-
<rect x="9" y="12" width="1" height="3"/>
|
|
92
|
-
<rect x="11" y="12" width="1" height="3"/>
|
|
93
|
-
</g>
|
|
94
|
-
|
|
95
|
-
<!-- Animated Upper Body -->
|
|
96
|
-
<g class="action-body">
|
|
97
|
-
<g class="breathe-anim">
|
|
98
|
-
<!-- Torso -->
|
|
99
|
-
<rect id="torso" x="2" y="6" width="11" height="7" fill="#DE886D"/>
|
|
100
|
-
<!-- Left Arm (scratches) -->
|
|
101
|
-
<g class="arm-l">
|
|
102
|
-
<rect x="0" y="9" width="2" height="2" fill="#DE886D"/>
|
|
103
|
-
</g>
|
|
104
|
-
<!-- Right Arm (static) -->
|
|
105
|
-
<rect x="13" y="9" width="2" height="2" fill="#DE886D"/>
|
|
106
|
-
<!-- Eyes -->
|
|
107
|
-
<g class="eyes-look" fill="#000000">
|
|
108
|
-
<g class="eyes-blink">
|
|
109
|
-
<rect x="4" y="8" width="1" height="2"/>
|
|
110
|
-
<rect x="10" y="8" width="1" height="2"/>
|
|
111
|
-
</g>
|
|
112
|
-
</g>
|
|
113
|
-
</g>
|
|
114
|
-
</g>
|
|
115
|
-
</svg>
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="-15 -25 45 45" width="500" height="500">
|
|
2
|
+
<defs>
|
|
3
|
+
<style>
|
|
4
|
+
/* 10-Second Idle Loop — Looking Around + Scratching (no yawn) */
|
|
5
|
+
.action-body {
|
|
6
|
+
transform-origin: 7.5px 13px;
|
|
7
|
+
animation: action-body 10s infinite ease-in-out;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.breathe-anim {
|
|
11
|
+
transform-origin: 7.5px 13px;
|
|
12
|
+
animation: breathe 3.2s infinite ease-in-out;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.shadow-anim {
|
|
16
|
+
transform-origin: 7.5px 15.5px;
|
|
17
|
+
animation: shadow-action 10s infinite ease-in-out;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.arm-l {
|
|
21
|
+
transform-origin: 1px 10px;
|
|
22
|
+
animation: arm-l-idle 10s infinite ease-in-out;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.eyes-look {
|
|
26
|
+
animation: eye-track 10s infinite ease-in-out;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.eyes-blink {
|
|
30
|
+
transform-origin: 7.5px 9px;
|
|
31
|
+
animation: eye-blink 10s infinite linear;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/* --- Keyframes --- */
|
|
35
|
+
|
|
36
|
+
@keyframes breathe {
|
|
37
|
+
0%, 100% { transform: scale(1, 1) translate(0, 0); }
|
|
38
|
+
50% { transform: scale(1.02, 0.98) translate(0, 0.5px); }
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
@keyframes action-body {
|
|
42
|
+
0%, 8%, 25%, 30%, 40%, 45%, 60%, 100% { transform: scale(1,1) translate(0,0); }
|
|
43
|
+
/* Look Right */
|
|
44
|
+
12%, 22% { transform: scale(1,1) translate(1px, 0); }
|
|
45
|
+
/* Look Left */
|
|
46
|
+
48%, 57% { transform: scale(1,1) translate(-1px, 0); }
|
|
47
|
+
/* Scratch Lean */
|
|
48
|
+
33%, 38% { transform: scale(1,1) translate(0.5px, 0); }
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
@keyframes shadow-action {
|
|
52
|
+
0%, 8%, 25%, 30%, 40%, 45%, 60%, 100% { transform: scaleX(1) translate(0,0); opacity: 0.5; }
|
|
53
|
+
12%, 22% { transform: scaleX(1) translate(1px, 0); opacity: 0.5; }
|
|
54
|
+
48%, 57% { transform: scaleX(1) translate(-1px, 0); opacity: 0.5; }
|
|
55
|
+
33%, 38% { transform: scaleX(1) translate(0.5px, 0); opacity: 0.5; }
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
@keyframes eye-track {
|
|
59
|
+
0%, 10%, 25%, 43%, 60%, 100% { transform: translate(0, 0); }
|
|
60
|
+
12%, 22% { transform: translate(3px, 0); } /* Look Right */
|
|
61
|
+
48%, 57% { transform: translate(-3px, 0); } /* Look Left */
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
@keyframes eye-blink {
|
|
65
|
+
0%, 3%, 7%, 18%, 22%, 47%, 51%, 78%, 82%, 100% { transform: scaleY(1); }
|
|
66
|
+
5%, 20%, 49%, 80% { transform: scaleY(0.1); }
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
@keyframes arm-l-idle {
|
|
70
|
+
0%, 30% { transform: translate(0,0) rotate(0deg); }
|
|
71
|
+
/* Scratching Sequence */
|
|
72
|
+
33% { transform: translate(1px, -3px) rotate(15deg); }
|
|
73
|
+
34% { transform: translate(1.5px, -4px) rotate(35deg); }
|
|
74
|
+
35% { transform: translate(0.5px, -2.5px) rotate(0deg); }
|
|
75
|
+
36% { transform: translate(1.5px, -4px) rotate(35deg); }
|
|
76
|
+
37% { transform: translate(0.5px, -2.5px) rotate(0deg); }
|
|
77
|
+
38% { transform: translate(1.5px, -4px) rotate(35deg); }
|
|
78
|
+
39% { transform: translate(0.5px, -2.5px) rotate(0deg); }
|
|
79
|
+
42%, 100% { transform: translate(0,0) rotate(0deg); }
|
|
80
|
+
}
|
|
81
|
+
</style>
|
|
82
|
+
</defs>
|
|
83
|
+
|
|
84
|
+
<!-- Ground Shadow -->
|
|
85
|
+
<rect id="ground-shadow" class="shadow-anim" x="3" y="15" width="9" height="1" fill="#000000" opacity="0.5"/>
|
|
86
|
+
|
|
87
|
+
<!-- Static Legs -->
|
|
88
|
+
<g id="legs" fill="#DE886D">
|
|
89
|
+
<rect x="3" y="12" width="1" height="3"/>
|
|
90
|
+
<rect x="5" y="12" width="1" height="3"/>
|
|
91
|
+
<rect x="9" y="12" width="1" height="3"/>
|
|
92
|
+
<rect x="11" y="12" width="1" height="3"/>
|
|
93
|
+
</g>
|
|
94
|
+
|
|
95
|
+
<!-- Animated Upper Body -->
|
|
96
|
+
<g class="action-body">
|
|
97
|
+
<g class="breathe-anim">
|
|
98
|
+
<!-- Torso -->
|
|
99
|
+
<rect id="torso" x="2" y="6" width="11" height="7" fill="#DE886D"/>
|
|
100
|
+
<!-- Left Arm (scratches) -->
|
|
101
|
+
<g class="arm-l">
|
|
102
|
+
<rect x="0" y="9" width="2" height="2" fill="#DE886D"/>
|
|
103
|
+
</g>
|
|
104
|
+
<!-- Right Arm (static) -->
|
|
105
|
+
<rect x="13" y="9" width="2" height="2" fill="#DE886D"/>
|
|
106
|
+
<!-- Eyes -->
|
|
107
|
+
<g class="eyes-look" fill="#000000">
|
|
108
|
+
<g class="eyes-blink">
|
|
109
|
+
<rect x="4" y="8" width="1" height="2"/>
|
|
110
|
+
<rect x="10" y="8" width="1" height="2"/>
|
|
111
|
+
</g>
|
|
112
|
+
</g>
|
|
113
|
+
</g>
|
|
114
|
+
</g>
|
|
115
|
+
</svg>
|