tokentracker-cli 0.5.10 → 0.5.13
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/dashboard/dist/assets/DashboardPage-BS38-6Xx.js +12 -0
- package/dashboard/dist/assets/{LeaderboardPage-BaHIGvSw.js → LeaderboardPage-BhqpZtev.js} +1 -1
- package/dashboard/dist/assets/{LeaderboardProfilePage-BCvKUQ4z.js → LeaderboardProfilePage-CfQdUOe3.js} +1 -1
- package/dashboard/dist/assets/{ThemeToggle-BVMjkcsk.js → ThemeToggle-DVKbB4qC.js} +1 -1
- package/dashboard/dist/assets/{leaderboard-columns-BvsbuvV1.js → leaderboard-columns-2mvo_uNL.js} +1 -1
- package/dashboard/dist/assets/{main-Cs8rK2ak.js → main-7kFIj2vL.js} +4 -4
- package/dashboard/dist/clawd/happy.svg +161 -0
- package/dashboard/dist/clawd/idle/collapse.svg +101 -0
- package/dashboard/dist/clawd/idle/doze.svg +72 -0
- package/dashboard/dist/clawd/idle/follow.svg +64 -0
- package/dashboard/dist/clawd/idle/living.svg +196 -0
- package/dashboard/dist/clawd/idle/look.svg +115 -0
- package/dashboard/dist/clawd/idle/yawn.svg +158 -0
- package/dashboard/dist/clawd/mini/alert.svg +129 -0
- package/dashboard/dist/clawd/mini/crabwalk.svg +76 -0
- package/dashboard/dist/clawd/mini/enter-sleep.svg +65 -0
- package/dashboard/dist/clawd/mini/enter.svg +115 -0
- package/dashboard/dist/clawd/mini/happy.svg +124 -0
- package/dashboard/dist/clawd/mini/idle.svg +83 -0
- package/dashboard/dist/clawd/mini/peek.svg +82 -0
- package/dashboard/dist/clawd/mini/sleep.svg +112 -0
- package/dashboard/dist/clawd/react/double.svg +108 -0
- package/dashboard/dist/clawd/react/drag.svg +102 -0
- package/dashboard/dist/clawd/react/left.svg +102 -0
- package/dashboard/dist/clawd/react/right.svg +102 -0
- package/dashboard/dist/clawd/sleep/collapse-sleep.svg +247 -0
- package/dashboard/dist/clawd/sleep/sleeping.svg +118 -0
- package/dashboard/dist/clawd/sleep/wake.svg +277 -0
- package/dashboard/dist/clawd/static-base.svg +21 -0
- package/dashboard/dist/clawd/status/disconnected.svg +136 -0
- package/dashboard/dist/clawd/status/error.svg +94 -0
- package/dashboard/dist/clawd/status/notification.svg +134 -0
- package/dashboard/dist/clawd/working/building.svg +231 -0
- package/dashboard/dist/clawd/working/carrying.svg +107 -0
- package/dashboard/dist/clawd/working/conducting.svg +118 -0
- package/dashboard/dist/clawd/working/confused.svg +113 -0
- package/dashboard/dist/clawd/working/debugger.svg +91 -0
- package/dashboard/dist/clawd/working/juggling.svg +82 -0
- package/dashboard/dist/clawd/working/overheated.svg +75 -0
- package/dashboard/dist/clawd/working/pushing.svg +125 -0
- package/dashboard/dist/clawd/working/sweeping.svg +79 -0
- package/dashboard/dist/clawd/working/thinking.svg +119 -0
- package/dashboard/dist/clawd/working/typing.svg +153 -0
- package/dashboard/dist/clawd/working/ultrathink.svg +166 -0
- package/dashboard/dist/clawd/working/wizard.svg +98 -0
- package/dashboard/dist/index.html +1 -1
- package/dashboard/dist/llms.txt +9 -12
- package/dashboard/dist/share.html +1 -1
- package/package.json +1 -1
- package/dashboard/dist/assets/DashboardPage-DEZCzCqB.js +0 -12
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="-15 -25 45 45" width="500" height="500">
|
|
2
|
+
<defs>
|
|
3
|
+
<style>
|
|
4
|
+
/* Heavy bouncing animation for the body */
|
|
5
|
+
.body-bounce {
|
|
6
|
+
transform-origin: 7.5px 15px;
|
|
7
|
+
animation: hammer-bounce 1s infinite;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
/* Ground shadow pulsing on impact */
|
|
11
|
+
.shadow-pulse {
|
|
12
|
+
transform-origin: 7.5px 15.5px;
|
|
13
|
+
animation: shadow-impact 1s infinite;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
/* Left arm resting with slight movement */
|
|
17
|
+
.arm-l-rest {
|
|
18
|
+
transform-origin: 2px 10px;
|
|
19
|
+
animation: arm-rest 1s infinite;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
/* Right arm swinging the hammer */
|
|
23
|
+
.arm-hammer {
|
|
24
|
+
transform-origin: 14px 10px; /* Shoulder joint */
|
|
25
|
+
animation: hammer-swing 1s infinite;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/* Eyes squinting on impact */
|
|
29
|
+
.eyes-blink {
|
|
30
|
+
transform-origin: 7.5px 9px;
|
|
31
|
+
animation: hammer-eyes 1s infinite;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/* Spark particles */
|
|
35
|
+
.spark {
|
|
36
|
+
opacity: 0;
|
|
37
|
+
}
|
|
38
|
+
.s1 { animation: spark-1 1s infinite; }
|
|
39
|
+
.s2 { animation: spark-2 1s infinite; }
|
|
40
|
+
.s3 { animation: spark-3 1s infinite; }
|
|
41
|
+
|
|
42
|
+
/* Sweat drop flying off */
|
|
43
|
+
.sweat {
|
|
44
|
+
opacity: 0;
|
|
45
|
+
animation: sweat-fly 1s infinite cubic-bezier(.25,.1,.25,1);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/* Glowing hot metal cooling and heating up */
|
|
49
|
+
.hot-metal {
|
|
50
|
+
animation: metal-glow 1s infinite;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/* Keyframes */
|
|
54
|
+
@keyframes hammer-bounce {
|
|
55
|
+
0%, 100% { transform: scale(1, 1) translateY(0); } /* Base */
|
|
56
|
+
30% { transform: scale(0.95, 1.05) translateY(-2px); } /* Peak raise (anticipation) */
|
|
57
|
+
45% { transform: scale(1, 1) translateY(0); } /* Falling */
|
|
58
|
+
50% { transform: scale(1.15, 0.85) translateY(2px); } /* Hard impact squash */
|
|
59
|
+
70% { transform: scale(1, 1) translateY(0); } /* Recover */
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
@keyframes shadow-impact {
|
|
63
|
+
0%, 45%, 70%, 100% { transform: scale(1); opacity: 0.5; }
|
|
64
|
+
30% { transform: scale(0.8); opacity: 0.3; } /* Lighter when raised */
|
|
65
|
+
50% { transform: scale(1.3); opacity: 0.8; } /* Heavy and wide on impact */
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
@keyframes arm-rest {
|
|
69
|
+
0%, 100% { transform: rotate(0deg); }
|
|
70
|
+
30% { transform: rotate(15deg); }
|
|
71
|
+
50% { transform: rotate(-5deg); }
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
@keyframes hammer-swing {
|
|
75
|
+
0%, 100% { transform: rotate(15deg); }
|
|
76
|
+
30% { transform: rotate(-45deg); } /* Arm raised back */
|
|
77
|
+
45% { transform: rotate(40deg); } /* Swinging down fast */
|
|
78
|
+
50% { transform: rotate(125deg); } /* Striking the anvil */
|
|
79
|
+
70% { transform: rotate(15deg); }
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
@keyframes hammer-eyes {
|
|
83
|
+
0%, 40% { transform: scaleY(1); } /* Open */
|
|
84
|
+
48%, 60% { transform: scaleY(0.1); } /* Squeezed shut on impact */
|
|
85
|
+
65%, 100% { transform: scaleY(1); } /* Open again */
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
@keyframes metal-glow {
|
|
89
|
+
0%, 49% { fill: #FF5252; }
|
|
90
|
+
50%, 60% { fill: #FFF59D; } /* Flashes white/yellow hot on hit */
|
|
91
|
+
100% { fill: #FF5252; }
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
/* Sweat drop flies back and fades */
|
|
95
|
+
@keyframes sweat-fly {
|
|
96
|
+
0% { transform: translate(0, 0) scale(0); opacity: 0; }
|
|
97
|
+
30% { transform: translate(0, 0) scale(1); opacity: 1; }
|
|
98
|
+
80% { transform: translate(-6px, -6px) scale(0.8); opacity: 0; }
|
|
99
|
+
100% { opacity: 0; }
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
/* Sparks flying outwards from the impact zone */
|
|
103
|
+
@keyframes spark-1 {
|
|
104
|
+
0%, 49% { transform: translate(0, 0) scale(0); opacity: 0; }
|
|
105
|
+
50% { transform: translate(0, 0) scale(1); opacity: 1; }
|
|
106
|
+
70% { transform: translate(4px, -6px) scale(0); opacity: 0; }
|
|
107
|
+
100% { opacity: 0; }
|
|
108
|
+
}
|
|
109
|
+
@keyframes spark-2 {
|
|
110
|
+
0%, 49% { transform: translate(0, 0) scale(0); opacity: 0; }
|
|
111
|
+
50% { transform: translate(0, 0) scale(1); opacity: 1; }
|
|
112
|
+
70% { transform: translate(7px, -1px) scale(0); opacity: 0; }
|
|
113
|
+
100% { opacity: 0; }
|
|
114
|
+
}
|
|
115
|
+
@keyframes spark-3 {
|
|
116
|
+
0%, 49% { transform: translate(0, 0) scale(0); opacity: 0; }
|
|
117
|
+
50% { transform: translate(0, 0) scale(1); opacity: 1; }
|
|
118
|
+
70% { transform: translate(3px, 3px) scale(0); opacity: 0; }
|
|
119
|
+
100% { opacity: 0; }
|
|
120
|
+
}
|
|
121
|
+
</style>
|
|
122
|
+
|
|
123
|
+
<!-- Pixel Spark -->
|
|
124
|
+
<g id="pixel-spark">
|
|
125
|
+
<rect x="0" y="0" width="1" height="1" />
|
|
126
|
+
</g>
|
|
127
|
+
</defs>
|
|
128
|
+
|
|
129
|
+
<!-- Ground Shadows -->
|
|
130
|
+
<rect id="ground-shadow" class="shadow-pulse" x="3" y="15" width="9" height="1" fill="#000000"/>
|
|
131
|
+
<rect id="work-shadow" x="16" y="15" width="7" height="1" fill="#000000" opacity="0.4"/>
|
|
132
|
+
|
|
133
|
+
<!-- Metal Block / Anvil being hit -->
|
|
134
|
+
<g id="work-piece" transform="translate(17, 13)">
|
|
135
|
+
<!-- Base -->
|
|
136
|
+
<rect x="0" y="2" width="5" height="1" fill="#546E7A" />
|
|
137
|
+
<!-- Main block -->
|
|
138
|
+
<rect x="1" y="0" width="3" height="2" fill="#78909C" />
|
|
139
|
+
<!-- Glowing hot piece on top -->
|
|
140
|
+
<rect x="1.5" y="-0.5" width="2" height="1" class="hot-metal" />
|
|
141
|
+
</g>
|
|
142
|
+
|
|
143
|
+
<!-- Impact Sparks (Positioned near the hammer's strike point) -->
|
|
144
|
+
<g fill="#FFC107" transform="translate(19, 12.5)">
|
|
145
|
+
<use href="#pixel-spark" class="spark s1" />
|
|
146
|
+
<use href="#pixel-spark" class="spark s2" />
|
|
147
|
+
<use href="#pixel-spark" class="spark s3" />
|
|
148
|
+
</g>
|
|
149
|
+
|
|
150
|
+
<!-- Animated Character Body -->
|
|
151
|
+
<g class="body-bounce">
|
|
152
|
+
|
|
153
|
+
<!-- Sweat Drop (Positioned near the side of the head) -->
|
|
154
|
+
<g transform="translate(1, 8)">
|
|
155
|
+
<g class="sweat" fill="#40C4FF">
|
|
156
|
+
<rect x="0" y="1" width="1.5" height="1.5"/>
|
|
157
|
+
<rect x="0.25" y="0" width="1" height="1"/>
|
|
158
|
+
</g>
|
|
159
|
+
</g>
|
|
160
|
+
|
|
161
|
+
<!-- Hard Hat -->
|
|
162
|
+
<g id="hard-hat">
|
|
163
|
+
<!-- Ridges top (y=1) -->
|
|
164
|
+
<rect x="4" y="1" width="2" height="1" fill="#FBC02D"/>
|
|
165
|
+
<rect x="9" y="1" width="2" height="1" fill="#FBC02D"/>
|
|
166
|
+
|
|
167
|
+
<!-- Upper Dome (y=2) -->
|
|
168
|
+
<rect x="3" y="2" width="1" height="1" fill="#F9A825"/>
|
|
169
|
+
<rect x="4" y="2" width="2" height="1" fill="#FBC02D"/>
|
|
170
|
+
<rect x="6" y="2" width="1" height="1" fill="#F9A825"/>
|
|
171
|
+
<rect x="7" y="2" width="1" height="1" fill="#FBC02D"/>
|
|
172
|
+
<rect x="8" y="2" width="1" height="1" fill="#F9A825"/>
|
|
173
|
+
<rect x="9" y="2" width="2" height="1" fill="#FBC02D"/>
|
|
174
|
+
<rect x="11" y="2" width="1" height="1" fill="#F9A825"/>
|
|
175
|
+
|
|
176
|
+
<!-- Mid Dome (y=3) -->
|
|
177
|
+
<rect x="2" y="3" width="1" height="1" fill="#F9A825"/>
|
|
178
|
+
<rect x="3" y="3" width="3" height="1" fill="#FBC02D"/>
|
|
179
|
+
<rect x="6" y="3" width="1" height="1" fill="#F9A825"/>
|
|
180
|
+
<rect x="7" y="3" width="1" height="1" fill="#FBC02D"/>
|
|
181
|
+
<rect x="8" y="3" width="1" height="1" fill="#F9A825"/>
|
|
182
|
+
<rect x="9" y="3" width="3" height="1" fill="#FBC02D"/>
|
|
183
|
+
<rect x="12" y="3" width="1" height="1" fill="#F9A825"/>
|
|
184
|
+
|
|
185
|
+
<!-- Lower Dome / Brim top (y=4) -->
|
|
186
|
+
<rect x="1" y="4" width="2" height="1" fill="#F9A825"/>
|
|
187
|
+
<rect x="3" y="4" width="9" height="1" fill="#FBC02D"/>
|
|
188
|
+
<rect x="12" y="4" width="2" height="1" fill="#F9A825"/>
|
|
189
|
+
|
|
190
|
+
<!-- Bottom Band (y=5) -->
|
|
191
|
+
<rect x="0" y="5" width="15" height="1" fill="#F9A825"/>
|
|
192
|
+
</g>
|
|
193
|
+
|
|
194
|
+
<!-- Body Base Color Group -->
|
|
195
|
+
<g id="body-color-group" fill="#DE886D">
|
|
196
|
+
<!-- Static Legs -->
|
|
197
|
+
<rect id="outer-left-leg" x="3" y="13" width="1" height="2"/>
|
|
198
|
+
<rect id="inner-left-leg" x="5" y="13" width="1" height="2"/>
|
|
199
|
+
<rect id="inner-right-leg" x="9" y="13" width="1" height="2"/>
|
|
200
|
+
<rect id="outer-right-leg" x="11" y="13" width="1" height="2"/>
|
|
201
|
+
|
|
202
|
+
<!-- Main Torso -->
|
|
203
|
+
<rect id="torso" x="2" y="6" width="11" height="7"/>
|
|
204
|
+
|
|
205
|
+
<!-- Resting Left Arm -->
|
|
206
|
+
<g class="arm-l-rest">
|
|
207
|
+
<rect id="left-arm" x="0" y="9" width="2" height="2"/>
|
|
208
|
+
</g>
|
|
209
|
+
|
|
210
|
+
<!-- Hammer-Swinging Right Arm -->
|
|
211
|
+
<g class="arm-hammer">
|
|
212
|
+
<rect id="right-arm" x="13" y="9" width="2" height="2"/>
|
|
213
|
+
|
|
214
|
+
<!-- Tiny Pixel Hammer -->
|
|
215
|
+
<g id="hammer">
|
|
216
|
+
<!-- Handle -->
|
|
217
|
+
<rect x="13.5" y="4" width="1" height="6" fill="#795548" />
|
|
218
|
+
<!-- Head -->
|
|
219
|
+
<rect x="12.5" y="3" width="3" height="2" fill="#9E9E9E" />
|
|
220
|
+
</g>
|
|
221
|
+
</g>
|
|
222
|
+
</g>
|
|
223
|
+
|
|
224
|
+
<!-- Eyes Color Group (Determined / Straining) -->
|
|
225
|
+
<g class="eyes-blink" fill="#000000">
|
|
226
|
+
<rect id="left-eye" x="4" y="8.5" width="1.5" height="1.5"/>
|
|
227
|
+
<rect id="right-eye" x="9.5" y="8.5" width="1.5" height="1.5"/>
|
|
228
|
+
</g>
|
|
229
|
+
|
|
230
|
+
</g>
|
|
231
|
+
</svg>
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="-15 -25 45 45" width="500" height="500">
|
|
2
|
+
<defs>
|
|
3
|
+
<style>
|
|
4
|
+
/* Straining body trembling and squashing under weight */
|
|
5
|
+
.body-carry {
|
|
6
|
+
transform-origin: 7.5px 15px; /* Pivot at the base of the feet */
|
|
7
|
+
animation: carry-strain 0.15s infinite alternate ease-in-out;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
/* Heavy Data Block shaking */
|
|
11
|
+
.data-block {
|
|
12
|
+
animation: block-shake 0.15s infinite alternate ease-in-out;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
/* Trembling legs */
|
|
16
|
+
.leg {
|
|
17
|
+
transform-box: fill-box;
|
|
18
|
+
transform-origin: top center;
|
|
19
|
+
}
|
|
20
|
+
.leg-1 { animation: tremble-1 0.1s infinite linear; }
|
|
21
|
+
.leg-2 { animation: tremble-2 0.1s infinite linear; }
|
|
22
|
+
|
|
23
|
+
/* Sweat drop flying off */
|
|
24
|
+
.sweat {
|
|
25
|
+
opacity: 0;
|
|
26
|
+
animation: sweat-fly 2s infinite cubic-bezier(.25,.1,.25,1);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/* Ground shadow shifting */
|
|
30
|
+
.shadow-carry {
|
|
31
|
+
transform-origin: 7.5px 15.5px;
|
|
32
|
+
animation: shadow-strain 0.15s infinite alternate ease-in-out;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/* Keyframes */
|
|
36
|
+
@keyframes carry-strain {
|
|
37
|
+
0% { transform: translateY(1px) scale(1.05, 0.95); }
|
|
38
|
+
100% { transform: translateY(2px) scale(1.08, 0.92); } /* Heavy squash */
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
@keyframes shadow-strain {
|
|
42
|
+
0% { transform: scale(1.1); opacity: 0.6; }
|
|
43
|
+
100% { transform: scale(1.15); opacity: 0.7; }
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
@keyframes block-shake {
|
|
47
|
+
0% { transform: translate(0, 0) rotate(-0.5deg); }
|
|
48
|
+
100% { transform: translate(0, 1px) rotate(0.5deg); }
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/* Trembling legs under weight */
|
|
52
|
+
@keyframes tremble-1 {
|
|
53
|
+
0%, 100% { transform: translateX(0); }
|
|
54
|
+
50% { transform: translateX(-0.5px); }
|
|
55
|
+
}
|
|
56
|
+
@keyframes tremble-2 {
|
|
57
|
+
0%, 100% { transform: translateX(0); }
|
|
58
|
+
50% { transform: translateX(0.5px); }
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/* Sweat drop flies back and fades */
|
|
62
|
+
@keyframes sweat-fly {
|
|
63
|
+
0% { transform: translate(0, 0) scale(0); opacity: 0; }
|
|
64
|
+
10% { transform: translate(0, 0) scale(1); opacity: 1; }
|
|
65
|
+
40% { transform: translate(-8px, -4px) scale(0.8); opacity: 0; }
|
|
66
|
+
100% { opacity: 0; }
|
|
67
|
+
}
|
|
68
|
+
</style>
|
|
69
|
+
</defs>
|
|
70
|
+
|
|
71
|
+
<!-- Mirrored: entire scene flipped -->
|
|
72
|
+
<g transform="translate(15, 0) scale(-1, 1)">
|
|
73
|
+
<rect id="ground-shadow" class="shadow-carry" x="3" y="15" width="9" height="1" fill="#000000" opacity="0.5"/>
|
|
74
|
+
|
|
75
|
+
<g class="body-carry">
|
|
76
|
+
<g class="data-block" transform="translate(1, -5)">
|
|
77
|
+
<rect x="0" y="0" width="13" height="9" fill="#90A4AE"/>
|
|
78
|
+
<rect x="1" y="1" width="11" height="7" fill="#CFD8DC"/>
|
|
79
|
+
<rect x="2" y="2" width="2" height="2" fill="#0082FC"/>
|
|
80
|
+
<rect x="9" y="2" width="2" height="2" fill="#FFC107"/>
|
|
81
|
+
<rect x="3" y="5" width="7" height="2" fill="#B0BEC5"/>
|
|
82
|
+
</g>
|
|
83
|
+
|
|
84
|
+
<g transform="translate(-1, 5)">
|
|
85
|
+
<g class="sweat" fill="#40C4FF">
|
|
86
|
+
<rect x="0" y="1" width="1.5" height="1.5"/>
|
|
87
|
+
<rect x="0.25" y="0" width="1" height="1"/>
|
|
88
|
+
</g>
|
|
89
|
+
</g>
|
|
90
|
+
|
|
91
|
+
<g id="body-color-group" fill="#DE886D">
|
|
92
|
+
<rect id="outer-left-leg" class="leg leg-1" x="3" y="13" width="1" height="2"/>
|
|
93
|
+
<rect id="inner-left-leg" class="leg leg-2" x="5" y="13" width="1" height="2"/>
|
|
94
|
+
<rect id="inner-right-leg" class="leg leg-1" x="9" y="13" width="1" height="2"/>
|
|
95
|
+
<rect id="outer-right-leg" class="leg leg-2" x="11" y="13" width="1" height="2"/>
|
|
96
|
+
<rect id="torso" x="2" y="6" width="11" height="7"/>
|
|
97
|
+
<rect id="left-arm" x="0" y="4" width="2" height="4" />
|
|
98
|
+
<rect id="right-arm" x="13" y="4" width="2" height="4" />
|
|
99
|
+
</g>
|
|
100
|
+
|
|
101
|
+
<g fill="#000000">
|
|
102
|
+
<rect id="left-eye" x="4" y="6.5" width="1" height="1"/>
|
|
103
|
+
<rect id="right-eye" x="10" y="6" width="1" height="2"/>
|
|
104
|
+
</g>
|
|
105
|
+
</g>
|
|
106
|
+
</g>
|
|
107
|
+
</svg>
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="-15 -25 45 45" width="500" height="500">
|
|
2
|
+
<defs>
|
|
3
|
+
<style>
|
|
4
|
+
/* Smooth, graceful body bobbing */
|
|
5
|
+
.body-bob {
|
|
6
|
+
transform-origin: 7.5px 15px; /* Pivot at the base of the feet */
|
|
7
|
+
animation: bob 2s infinite ease-in-out;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
/* Ground shadow pulsing softly */
|
|
11
|
+
.shadow-bob {
|
|
12
|
+
transform-origin: 7.5px 15.5px;
|
|
13
|
+
animation: shadow-soft 2s infinite ease-in-out;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
/* Conductor arms waving smoothly */
|
|
17
|
+
.arm-l-conduct {
|
|
18
|
+
transform-origin: 1px 10px; /* Shoulder joint */
|
|
19
|
+
animation: conduct-l 2s infinite ease-in-out;
|
|
20
|
+
}
|
|
21
|
+
.arm-r-conduct {
|
|
22
|
+
transform-origin: 14px 10px; /* Shoulder joint */
|
|
23
|
+
animation: conduct-r 2s infinite ease-in-out;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/* Flowing data stream */
|
|
27
|
+
.pixel-stream {
|
|
28
|
+
opacity: 0;
|
|
29
|
+
animation: stream-flow 2s infinite linear;
|
|
30
|
+
}
|
|
31
|
+
.p1 { animation-delay: 0s; color: #0082FC; }
|
|
32
|
+
.p2 { animation-delay: 0.4s; color: #FFC107; }
|
|
33
|
+
.p3 { animation-delay: 0.8s; color: #FF5252; }
|
|
34
|
+
.p4 { animation-delay: 1.2s; color: #4CAF50; }
|
|
35
|
+
.p5 { animation-delay: 1.6s; color: #9C27B0; }
|
|
36
|
+
|
|
37
|
+
/* Keyframes */
|
|
38
|
+
@keyframes bob {
|
|
39
|
+
0%, 100% { transform: translateY(0) scale(1, 1); }
|
|
40
|
+
50% { transform: translateY(1.5px) scale(1.02, 0.98); } /* Gentle squash */
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
@keyframes shadow-soft {
|
|
44
|
+
0%, 100% { transform: scale(1); opacity: 0.4; }
|
|
45
|
+
50% { transform: scale(1.05); opacity: 0.5; }
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/* Left arm swoops up, then down */
|
|
49
|
+
@keyframes conduct-l {
|
|
50
|
+
0%, 100% { transform: rotate(15deg); }
|
|
51
|
+
50% { transform: rotate(85deg); }
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/* Right arm swoops down, then up (out of phase) */
|
|
55
|
+
@keyframes conduct-r {
|
|
56
|
+
0%, 100% { transform: rotate(-85deg); }
|
|
57
|
+
50% { transform: rotate(-15deg); }
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/* Data pixels flow in an arc over the head */
|
|
61
|
+
@keyframes stream-flow {
|
|
62
|
+
0% { transform: translate(-2px, 6px) scale(0); opacity: 0; }
|
|
63
|
+
15% { transform: translate(0px, 1px) scale(1); opacity: 1; }
|
|
64
|
+
50% { transform: translate(7.5px, -3px) scale(1.5); opacity: 1; } /* Peak of arc */
|
|
65
|
+
85% { transform: translate(15px, 1px) scale(1); opacity: 1; }
|
|
66
|
+
100% { transform: translate(17px, 6px) scale(0); opacity: 0; }
|
|
67
|
+
}
|
|
68
|
+
</style>
|
|
69
|
+
|
|
70
|
+
<!-- Data Pixel -->
|
|
71
|
+
<g id="data-pixel">
|
|
72
|
+
<rect x="0" y="0" width="1.5" height="1.5" fill="currentColor"/>
|
|
73
|
+
</g>
|
|
74
|
+
</defs>
|
|
75
|
+
|
|
76
|
+
<!-- Ground Shadow -->
|
|
77
|
+
<rect id="ground-shadow" class="shadow-bob" x="3" y="15" width="9" height="1" fill="#000000"/>
|
|
78
|
+
|
|
79
|
+
<!-- Data Stream Arc -->
|
|
80
|
+
<g>
|
|
81
|
+
<use href="#data-pixel" class="pixel-stream p1" />
|
|
82
|
+
<use href="#data-pixel" class="pixel-stream p2" />
|
|
83
|
+
<use href="#data-pixel" class="pixel-stream p3" />
|
|
84
|
+
<use href="#data-pixel" class="pixel-stream p4" />
|
|
85
|
+
<use href="#data-pixel" class="pixel-stream p5" />
|
|
86
|
+
</g>
|
|
87
|
+
|
|
88
|
+
<!-- Animated Character Body -->
|
|
89
|
+
<g class="body-bob">
|
|
90
|
+
|
|
91
|
+
<!-- Body Base Color Group -->
|
|
92
|
+
<g id="body-color-group" fill="#DE886D">
|
|
93
|
+
<!-- Static Legs -->
|
|
94
|
+
<rect id="outer-left-leg" x="3" y="13" width="1" height="2"/>
|
|
95
|
+
<rect id="inner-left-leg" x="5" y="13" width="1" height="2"/>
|
|
96
|
+
<rect id="inner-right-leg" x="9" y="13" width="1" height="2"/>
|
|
97
|
+
<rect id="outer-right-leg" x="11" y="13" width="1" height="2"/>
|
|
98
|
+
|
|
99
|
+
<!-- Main Torso -->
|
|
100
|
+
<rect id="torso" x="2" y="6" width="11" height="7"/>
|
|
101
|
+
|
|
102
|
+
<!-- Waving Arms -->
|
|
103
|
+
<g class="arm-l-conduct">
|
|
104
|
+
<rect id="left-arm" x="0" y="9" width="2" height="2"/>
|
|
105
|
+
</g>
|
|
106
|
+
<g class="arm-r-conduct">
|
|
107
|
+
<rect id="right-arm" x="13" y="9" width="2" height="2"/>
|
|
108
|
+
</g>
|
|
109
|
+
</g>
|
|
110
|
+
|
|
111
|
+
<!-- Eyes Color Group (Happily closed / smiling) -->
|
|
112
|
+
<g fill="#000000">
|
|
113
|
+
<rect id="left-eye-happy" x="3.5" y="8.5" width="2" height="0.5"/>
|
|
114
|
+
<rect id="right-eye-happy" x="9.5" y="8.5" width="2" height="0.5"/>
|
|
115
|
+
</g>
|
|
116
|
+
|
|
117
|
+
</g>
|
|
118
|
+
</svg>
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="-15 -25 45 45" width="500" height="500">
|
|
2
|
+
<defs>
|
|
3
|
+
<style>
|
|
4
|
+
.body-anim {
|
|
5
|
+
transform-origin: 7.5px 15px;
|
|
6
|
+
animation: body-look 6s infinite ease-in-out;
|
|
7
|
+
}
|
|
8
|
+
.eyes-anim {
|
|
9
|
+
animation: eyes-look 6s infinite ease-in-out;
|
|
10
|
+
}
|
|
11
|
+
.eyes-blink {
|
|
12
|
+
transform-origin: 7.5px 9px;
|
|
13
|
+
animation: blink 6s infinite linear;
|
|
14
|
+
}
|
|
15
|
+
.question-mark-l {
|
|
16
|
+
transform-origin: center;
|
|
17
|
+
animation: question-pop-l 6s infinite ease-in-out;
|
|
18
|
+
opacity: 0;
|
|
19
|
+
}
|
|
20
|
+
.question-mark-r {
|
|
21
|
+
transform-origin: center;
|
|
22
|
+
animation: question-pop-r 6s infinite ease-in-out;
|
|
23
|
+
opacity: 0;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/* Character Upper Body Movement (Simulates Side-to-Side Head/Torso Tilt) */
|
|
27
|
+
@keyframes body-look {
|
|
28
|
+
0%, 10% { transform: translate(0px, 0px); }
|
|
29
|
+
15%, 35% { transform: translate(-2px, 0px) rotate(-2deg); } /* Looks left */
|
|
30
|
+
40%, 45% { transform: translate(0px, 0px); }
|
|
31
|
+
50%, 70% { transform: translate(2px, 0px) rotate(2deg); } /* Looks right */
|
|
32
|
+
75%, 100% { transform: translate(0px, 0px); }
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/* Eye Movement for Parallax Directional Looking */
|
|
36
|
+
@keyframes eyes-look {
|
|
37
|
+
0%, 10% { transform: translate(0px, 0px); }
|
|
38
|
+
15%, 35% { transform: translate(-3px, 0px); }
|
|
39
|
+
40%, 45% { transform: translate(0px, 0px); }
|
|
40
|
+
50%, 70% { transform: translate(3px, 0px); }
|
|
41
|
+
75%, 100% { transform: translate(0px, 0px); }
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/* Occasional Blinking */
|
|
45
|
+
@keyframes blink {
|
|
46
|
+
0%, 13%, 17%, 48%, 52%, 80%, 84%, 100% { transform: scaleY(1); }
|
|
47
|
+
15%, 50%, 82% { transform: scaleY(0.1); }
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/* Confused Question Mark Animation Left */
|
|
51
|
+
@keyframes question-pop-l {
|
|
52
|
+
0%, 15% { opacity: 0; transform: translate(-6px, 6px) scale(0.5); }
|
|
53
|
+
20%, 30% { opacity: 1; transform: translate(-8px, -2px) scale(1); }
|
|
54
|
+
35%, 100% { opacity: 0; transform: translate(-8px, -8px) scale(1.2); }
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
/* Confused Question Mark Animation Right */
|
|
58
|
+
@keyframes question-pop-r {
|
|
59
|
+
0%, 50% { opacity: 0; transform: translate(6px, 6px) scale(0.5); }
|
|
60
|
+
55%, 65% { opacity: 1; transform: translate(8px, -2px) scale(1); }
|
|
61
|
+
70%, 100% { opacity: 0; transform: translate(8px, -8px) scale(1.2); }
|
|
62
|
+
}
|
|
63
|
+
</style>
|
|
64
|
+
|
|
65
|
+
<g id="pixel-question">
|
|
66
|
+
<rect x="1" y="0" width="2" height="1"/>
|
|
67
|
+
<rect x="0" y="1" width="1" height="1"/>
|
|
68
|
+
<rect x="3" y="1" width="1" height="2"/>
|
|
69
|
+
<rect x="2" y="3" width="1" height="1"/>
|
|
70
|
+
<rect x="1" y="4" width="1" height="1"/>
|
|
71
|
+
<rect x="1" y="6" width="1" height="1"/>
|
|
72
|
+
</g>
|
|
73
|
+
</defs>
|
|
74
|
+
|
|
75
|
+
<!-- Character Ground Shadow -->
|
|
76
|
+
<rect id="ground-shadow" x="3" y="15" width="9" height="1" fill="#000000" opacity="0.5"/>
|
|
77
|
+
|
|
78
|
+
<!-- Static Character Legs -->
|
|
79
|
+
<g id="legs" fill="#DE886D">
|
|
80
|
+
<rect id="outer-left-leg" x="3" y="13" width="1" height="2"/>
|
|
81
|
+
<rect id="inner-left-leg" x="5" y="13" width="1" height="2"/>
|
|
82
|
+
<rect id="inner-right-leg" x="9" y="13" width="1" height="2"/>
|
|
83
|
+
<rect id="outer-right-leg" x="11" y="13" width="1" height="2"/>
|
|
84
|
+
</g>
|
|
85
|
+
|
|
86
|
+
<!-- Animated Upper Body (Torso, Arms, and Eyes) -->
|
|
87
|
+
<g class="body-anim">
|
|
88
|
+
<!-- Body Color Group -->
|
|
89
|
+
<g fill="#DE886D">
|
|
90
|
+
<rect id="torso" x="2" y="6" width="11" height="7"/>
|
|
91
|
+
<!-- Scratching head arm (left arm raised slightly) -->
|
|
92
|
+
<rect id="left-arm" x="-1" y="7" width="2" height="2" transform="rotate(15 0 8)"/>
|
|
93
|
+
<rect id="right-arm" x="13" y="9" width="2" height="2"/>
|
|
94
|
+
</g>
|
|
95
|
+
|
|
96
|
+
<!-- Eyes Color Group -->
|
|
97
|
+
<g class="eyes-anim">
|
|
98
|
+
<g class="eyes-blink" fill="#000000">
|
|
99
|
+
<rect id="left-eye" x="4" y="8" width="1" height="2"/>
|
|
100
|
+
<rect id="right-eye" x="10" y="8" width="1" height="2"/>
|
|
101
|
+
</g>
|
|
102
|
+
</g>
|
|
103
|
+
</g>
|
|
104
|
+
|
|
105
|
+
<!-- Confused Question Marks -->
|
|
106
|
+
<g class="question-mark-l" fill="#40C4FF" transform="translate(0, 0)">
|
|
107
|
+
<use href="#pixel-question" />
|
|
108
|
+
</g>
|
|
109
|
+
<g class="question-mark-r" fill="#FFC107" transform="translate(10, 0)">
|
|
110
|
+
<use href="#pixel-question" />
|
|
111
|
+
</g>
|
|
112
|
+
|
|
113
|
+
</svg>
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="-15 -25 45 45" width="500" height="500">
|
|
2
|
+
<defs>
|
|
3
|
+
<style>
|
|
4
|
+
.body-hunch {
|
|
5
|
+
transform-origin: 7.5px 15px;
|
|
6
|
+
animation: hunch-walk 2s infinite alternate ease-in-out;
|
|
7
|
+
}
|
|
8
|
+
.magnifying-glass {
|
|
9
|
+
transform-origin: 14px 10px; /* Pivot at the right shoulder */
|
|
10
|
+
animation: search-glass 3s infinite ease-in-out;
|
|
11
|
+
}
|
|
12
|
+
.leg-1 { animation: sneak-1 0.5s infinite linear; transform-origin: top center; transform-box: fill-box; }
|
|
13
|
+
.leg-2 { animation: sneak-2 0.5s infinite linear; transform-origin: top center; transform-box: fill-box; }
|
|
14
|
+
.shadow-sneak {
|
|
15
|
+
transform-origin: 7.5px 15.5px;
|
|
16
|
+
animation: shadow-shift 2s infinite alternate ease-in-out;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/* Sneaking forward and backward */
|
|
20
|
+
@keyframes hunch-walk {
|
|
21
|
+
0% { transform: translate(-2px, 1px) rotate(2deg); }
|
|
22
|
+
100% { transform: translate(3px, 1px) rotate(2deg); }
|
|
23
|
+
}
|
|
24
|
+
@keyframes shadow-shift {
|
|
25
|
+
0% { transform: translateX(-2px) scale(0.9); opacity: 0.4; }
|
|
26
|
+
100% { transform: translateX(3px) scale(0.9); opacity: 0.4; }
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/* Hovering the magnifying glass over the eye */
|
|
30
|
+
@keyframes search-glass {
|
|
31
|
+
0%, 100% { transform: rotate(0deg) scale(1); }
|
|
32
|
+
50% { transform: rotate(-3deg) scale(1.05); }
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/* Fast tiptoe / sneak leg movement */
|
|
36
|
+
@keyframes sneak-1 {
|
|
37
|
+
0%, 100% { transform: rotate(0deg) scaleY(1); }
|
|
38
|
+
50% { transform: rotate(-25deg) scaleY(0.7); }
|
|
39
|
+
}
|
|
40
|
+
@keyframes sneak-2 {
|
|
41
|
+
0%, 100% { transform: rotate(-25deg) scaleY(0.7); }
|
|
42
|
+
50% { transform: rotate(0deg) scaleY(1); }
|
|
43
|
+
}
|
|
44
|
+
</style>
|
|
45
|
+
</defs>
|
|
46
|
+
|
|
47
|
+
<rect id="ground-shadow" class="shadow-sneak" x="3" y="15" width="9" height="1" fill="#000000" opacity="0.5"/>
|
|
48
|
+
|
|
49
|
+
<g class="body-hunch">
|
|
50
|
+
<g id="legs" fill="#DE886D">
|
|
51
|
+
<rect id="outer-left-leg" class="leg-1" x="3" y="13" width="1" height="2"/>
|
|
52
|
+
<rect id="inner-left-leg" class="leg-2" x="5" y="13" width="1" height="2"/>
|
|
53
|
+
<rect id="inner-right-leg" class="leg-1" x="9" y="13" width="1" height="2"/>
|
|
54
|
+
<rect id="outer-right-leg" class="leg-2" x="11" y="13" width="1" height="2"/>
|
|
55
|
+
</g>
|
|
56
|
+
|
|
57
|
+
<g id="body-color-group" fill="#DE886D">
|
|
58
|
+
<rect id="torso" x="2" y="6" width="11" height="7"/>
|
|
59
|
+
<!-- Left arm tucked back slightly -->
|
|
60
|
+
<rect id="left-arm" x="0" y="9" width="2" height="2" transform="translate(1, -1) rotate(15 1 10)"/>
|
|
61
|
+
</g>
|
|
62
|
+
|
|
63
|
+
<!-- Left Eye (squinting) -->
|
|
64
|
+
<g fill="#000000">
|
|
65
|
+
<rect id="left-eye" x="4" y="8.5" width="1" height="1"/>
|
|
66
|
+
</g>
|
|
67
|
+
|
|
68
|
+
<!-- Right Arm & Magnifying Glass -->
|
|
69
|
+
<g class="magnifying-glass">
|
|
70
|
+
<rect id="right-arm" x="13" y="9" width="2" height="2" fill="#DE886D"/>
|
|
71
|
+
|
|
72
|
+
<!-- The Magnifying Glass -->
|
|
73
|
+
<g id="glass" transform="translate(13.5, 9.5)">
|
|
74
|
+
<!-- Angled Handle from hand to rim -->
|
|
75
|
+
<polygon points="0.5,1.5 1.5,0.5 -1,-2 -2,-1" fill="#795548"/>
|
|
76
|
+
|
|
77
|
+
<!-- Large circular-ish Rim -->
|
|
78
|
+
<rect x="-6" y="-5" width="6" height="6" fill="#546E7A" rx="2"/>
|
|
79
|
+
|
|
80
|
+
<!-- Magnified Right Eye (Huge!) - Drawn behind the lens -->
|
|
81
|
+
<rect x="-4" y="-3.5" width="2" height="3" fill="#000000"/>
|
|
82
|
+
|
|
83
|
+
<!-- Glass Lens (semi-transparent so eye shows through) -->
|
|
84
|
+
<rect x="-5.5" y="-4.5" width="5" height="5" fill="#E0F7FA" rx="1.5" opacity="0.6"/>
|
|
85
|
+
|
|
86
|
+
<!-- Glare / Reflection on the glass -->
|
|
87
|
+
<rect x="-4.5" y="-3.5" width="1.5" height="1.5" fill="#FFFFFF" opacity="0.8"/>
|
|
88
|
+
</g>
|
|
89
|
+
</g>
|
|
90
|
+
</g>
|
|
91
|
+
</svg>
|