tokentracker-cli 0.5.9 → 0.5.12
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-CRoqVbH0.js +12 -0
- package/dashboard/dist/assets/{LeaderboardPage-BaHIGvSw.js → LeaderboardPage-B3ZnlNgw.js} +1 -1
- package/dashboard/dist/assets/{LeaderboardProfilePage-BCvKUQ4z.js → LeaderboardProfilePage-Cq17bu0k.js} +1 -1
- package/dashboard/dist/assets/{ThemeToggle-BVMjkcsk.js → ThemeToggle-D2rifL57.js} +1 -1
- package/dashboard/dist/assets/{leaderboard-columns-BvsbuvV1.js → leaderboard-columns-DQnk56C_.js} +1 -1
- package/dashboard/dist/assets/{main-Cs8rK2ak.js → main-wolIKQH9.js} +3 -3
- 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/src/commands/serve.js +12 -0
- package/dashboard/dist/assets/DashboardPage-DEZCzCqB.js +0 -12
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="-15 -25 45 45" width="500" height="500">
|
|
2
|
+
<defs>
|
|
3
|
+
<style>
|
|
4
|
+
.body-rock {
|
|
5
|
+
transform-origin: 7.5px 15px;
|
|
6
|
+
animation: rock 0.6s infinite alternate ease-in-out;
|
|
7
|
+
}
|
|
8
|
+
.arm-juggle-l {
|
|
9
|
+
transform-origin: 1px 10px;
|
|
10
|
+
animation: arm-jl 0.6s infinite alternate ease-in-out;
|
|
11
|
+
}
|
|
12
|
+
.arm-juggle-r {
|
|
13
|
+
transform-origin: 14px 10px;
|
|
14
|
+
animation: arm-jr 0.6s infinite alternate ease-in-out;
|
|
15
|
+
}
|
|
16
|
+
.eyes-dart {
|
|
17
|
+
animation: dart 1.2s infinite;
|
|
18
|
+
}
|
|
19
|
+
.packet {
|
|
20
|
+
animation: juggle 1.2s infinite linear;
|
|
21
|
+
}
|
|
22
|
+
.p1 { animation-delay: 0s; fill: #FF5252; }
|
|
23
|
+
.p2 { animation-delay: -0.4s; fill: #FFC107; }
|
|
24
|
+
.p3 { animation-delay: -0.8s; fill: #4CAF50; }
|
|
25
|
+
|
|
26
|
+
@keyframes rock {
|
|
27
|
+
0% { transform: rotate(-5deg); }
|
|
28
|
+
100% { transform: rotate(5deg); }
|
|
29
|
+
}
|
|
30
|
+
@keyframes arm-jl {
|
|
31
|
+
0% { transform: rotate(60deg); }
|
|
32
|
+
100% { transform: rotate(10deg); }
|
|
33
|
+
}
|
|
34
|
+
@keyframes arm-jr {
|
|
35
|
+
0% { transform: rotate(-10deg); }
|
|
36
|
+
100% { transform: rotate(-60deg); }
|
|
37
|
+
}
|
|
38
|
+
@keyframes dart {
|
|
39
|
+
0%, 100% { transform: translate(-2px, -2px); }
|
|
40
|
+
25% { transform: translate(0, -3px); }
|
|
41
|
+
50% { transform: translate(2px, -2px); }
|
|
42
|
+
75% { transform: translate(0, 0); }
|
|
43
|
+
}
|
|
44
|
+
@keyframes juggle {
|
|
45
|
+
0% { transform: translate(0px, 9px) rotate(0deg); }
|
|
46
|
+
25% { transform: translate(8px, 0px) rotate(90deg); }
|
|
47
|
+
50% { transform: translate(15px, 9px) rotate(180deg); }
|
|
48
|
+
75% { transform: translate(8px, 4px) rotate(270deg); }
|
|
49
|
+
100% { transform: translate(0px, 9px) rotate(360deg); }
|
|
50
|
+
}
|
|
51
|
+
</style>
|
|
52
|
+
</defs>
|
|
53
|
+
|
|
54
|
+
<rect id="ground-shadow" x="3" y="15" width="9" height="1" fill="#000000" opacity="0.5"/>
|
|
55
|
+
|
|
56
|
+
<!-- Juggling Packets -->
|
|
57
|
+
<g class="packets">
|
|
58
|
+
<rect class="packet p1" x="-1" y="-1" width="2" height="2" />
|
|
59
|
+
<rect class="packet p2" x="-1" y="-1" width="2" height="2" />
|
|
60
|
+
<rect class="packet p3" x="-1" y="-1" width="2" height="2" />
|
|
61
|
+
</g>
|
|
62
|
+
|
|
63
|
+
<g class="body-rock">
|
|
64
|
+
<g id="legs" fill="#DE886D">
|
|
65
|
+
<rect x="3" y="13" width="1" height="2"/>
|
|
66
|
+
<rect x="5" y="13" width="1" height="2"/>
|
|
67
|
+
<rect x="9" y="13" width="1" height="2"/>
|
|
68
|
+
<rect x="11" y="13" width="1" height="2"/>
|
|
69
|
+
</g>
|
|
70
|
+
|
|
71
|
+
<g id="body-color-group" fill="#DE886D">
|
|
72
|
+
<rect x="2" y="6" width="11" height="7"/>
|
|
73
|
+
<g class="arm-juggle-l"><rect x="0" y="9" width="2" height="2"/></g>
|
|
74
|
+
<g class="arm-juggle-r"><rect x="13" y="9" width="2" height="2"/></g>
|
|
75
|
+
</g>
|
|
76
|
+
|
|
77
|
+
<g class="eyes-dart" fill="#000000">
|
|
78
|
+
<rect x="4" y="8" width="1" height="2"/>
|
|
79
|
+
<rect x="10" y="8" width="1" height="2"/>
|
|
80
|
+
</g>
|
|
81
|
+
</g>
|
|
82
|
+
</svg>
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="-15 -25 45 45" width="500" height="500">
|
|
2
|
+
<defs>
|
|
3
|
+
<style>
|
|
4
|
+
.body-exhausted {
|
|
5
|
+
transform-origin: 7.5px 15px;
|
|
6
|
+
animation: heavy-breathe 2.5s infinite ease-in-out;
|
|
7
|
+
}
|
|
8
|
+
.arm-fan {
|
|
9
|
+
transform-origin: 14px 10px;
|
|
10
|
+
animation: fan-self 0.4s infinite alternate ease-in-out;
|
|
11
|
+
}
|
|
12
|
+
.smoke {
|
|
13
|
+
opacity: 0;
|
|
14
|
+
animation: puff-smoke 3s infinite ease-out;
|
|
15
|
+
}
|
|
16
|
+
.sm1 { animation-delay: 0s; }
|
|
17
|
+
.sm2 { animation-delay: 1s; }
|
|
18
|
+
.sm3 { animation-delay: 2s; }
|
|
19
|
+
|
|
20
|
+
@keyframes heavy-breathe {
|
|
21
|
+
0%, 100% { transform: scale(1, 1) translateY(0); }
|
|
22
|
+
50% { transform: scale(1.05, 0.9) translateY(1.5px); }
|
|
23
|
+
}
|
|
24
|
+
@keyframes fan-self {
|
|
25
|
+
0% { transform: rotate(0deg); }
|
|
26
|
+
100% { transform: rotate(-60deg); }
|
|
27
|
+
}
|
|
28
|
+
@keyframes puff-smoke {
|
|
29
|
+
0% { transform: translate(7.5px, 6px) scale(0.5); opacity: 0; }
|
|
30
|
+
20% { opacity: 0.6; }
|
|
31
|
+
100% { transform: translate(7.5px, -15px) scale(2); opacity: 0; }
|
|
32
|
+
}
|
|
33
|
+
</style>
|
|
34
|
+
<g id="smoke-puff">
|
|
35
|
+
<rect x="-1" y="-1" width="2" height="2" fill="#B0BEC5" rx="0.5"/>
|
|
36
|
+
<rect x="0" y="-2" width="2" height="2" fill="#CFD8DC" rx="0.5"/>
|
|
37
|
+
</g>
|
|
38
|
+
</defs>
|
|
39
|
+
|
|
40
|
+
<rect id="ground-shadow" x="-1" y="15" width="17" height="1" fill="#000000" opacity="0.5"/>
|
|
41
|
+
|
|
42
|
+
<!-- Smoke -->
|
|
43
|
+
<g>
|
|
44
|
+
<use href="#smoke-puff" class="smoke sm1"/>
|
|
45
|
+
<use href="#smoke-puff" class="smoke sm2" transform="translate(-2, 0)"/>
|
|
46
|
+
<use href="#smoke-puff" class="smoke sm3" transform="translate(2, 0)"/>
|
|
47
|
+
</g>
|
|
48
|
+
|
|
49
|
+
<g class="body-exhausted">
|
|
50
|
+
<!-- Sploot Legs -->
|
|
51
|
+
<g fill="#DE886D">
|
|
52
|
+
<rect x="3" y="9" width="1" height="1"/>
|
|
53
|
+
<rect x="5" y="9" width="1" height="1"/>
|
|
54
|
+
<rect x="9" y="9" width="1" height="1"/>
|
|
55
|
+
<rect x="11" y="9" width="1" height="1"/>
|
|
56
|
+
</g>
|
|
57
|
+
|
|
58
|
+
<!-- Torso Sploot -->
|
|
59
|
+
<g fill="#DE886D">
|
|
60
|
+
<rect x="1" y="10" width="13" height="5"/>
|
|
61
|
+
<rect x="-1" y="13" width="2" height="2"/> <!-- left arm down -->
|
|
62
|
+
</g>
|
|
63
|
+
|
|
64
|
+
<!-- Fanning Arm -->
|
|
65
|
+
<g class="arm-fan">
|
|
66
|
+
<rect x="14" y="11" width="2" height="2" fill="#DE886D"/>
|
|
67
|
+
</g>
|
|
68
|
+
|
|
69
|
+
<!-- Tired Eyes -->
|
|
70
|
+
<g fill="#000000">
|
|
71
|
+
<rect x="3.5" y="12.5" width="2" height="0.4"/>
|
|
72
|
+
<rect x="9.5" y="12.5" width="2" height="0.4"/>
|
|
73
|
+
</g>
|
|
74
|
+
</g>
|
|
75
|
+
</svg>
|
|
@@ -0,0 +1,125 @@
|
|
|
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 lean */
|
|
5
|
+
.body-push {
|
|
6
|
+
transform-origin: 7.5px 15px; /* Pivot at the base of the feet */
|
|
7
|
+
animation: push-strain 0.6s infinite alternate ease-in-out;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
/* Heavy Data Block shaking */
|
|
11
|
+
.data-block {
|
|
12
|
+
animation: block-shake 0.1s infinite alternate;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
/* Scrambling legs (alternating) */
|
|
16
|
+
.leg {
|
|
17
|
+
transform-box: fill-box;
|
|
18
|
+
transform-origin: top center;
|
|
19
|
+
}
|
|
20
|
+
.leg-1 { animation: run-1 0.3s infinite linear; }
|
|
21
|
+
.leg-2 { animation: run-2 0.3s 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-push {
|
|
31
|
+
transform-origin: 7.5px 15.5px;
|
|
32
|
+
animation: shadow-strain 0.6s infinite alternate ease-in-out;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/* Keyframes */
|
|
36
|
+
@keyframes push-strain {
|
|
37
|
+
0% { transform: rotate(12deg) scale(1, 0.95); }
|
|
38
|
+
100% { transform: rotate(18deg) scale(1.05, 0.9); } /* Deeper lean and squash */
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
@keyframes shadow-strain {
|
|
42
|
+
0% { transform: translateX(1px) scaleX(1); opacity: 0.5; }
|
|
43
|
+
100% { transform: translateX(3px) scaleX(1.1); opacity: 0.6; }
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
@keyframes block-shake {
|
|
47
|
+
0% { transform: translate(0, 0); }
|
|
48
|
+
100% { transform: translate(0.5px, -0.5px); }
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/* Scrambling legs swinging backwards to push */
|
|
52
|
+
@keyframes run-1 {
|
|
53
|
+
0%, 100% { transform: rotate(0deg) scaleY(1); }
|
|
54
|
+
50% { transform: rotate(-25deg) scaleY(0.7); }
|
|
55
|
+
}
|
|
56
|
+
@keyframes run-2 {
|
|
57
|
+
0%, 100% { transform: rotate(-25deg) scaleY(0.7); }
|
|
58
|
+
50% { transform: rotate(0deg) scaleY(1); }
|
|
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
|
+
<!-- Ground Shadows -->
|
|
72
|
+
<rect id="ground-shadow" class="shadow-push" x="3" y="15" width="9" height="1" fill="#000000" opacity="0.5"/>
|
|
73
|
+
<rect id="block-shadow" x="14" y="15" width="10" height="1" fill="#000000" opacity="0.4"/>
|
|
74
|
+
|
|
75
|
+
<!-- Heavy Data Block -->
|
|
76
|
+
<g class="data-block" transform="translate(14, 5)">
|
|
77
|
+
<!-- Main Block -->
|
|
78
|
+
<rect x="0" y="0" width="10" height="10" fill="#90A4AE"/>
|
|
79
|
+
<rect x="1" y="1" width="8" height="8" fill="#CFD8DC"/>
|
|
80
|
+
|
|
81
|
+
<!-- Data "Lights" on the block -->
|
|
82
|
+
<rect x="2" y="2" width="2" height="2" fill="#0082FC"/>
|
|
83
|
+
<rect x="6" y="2" width="2" height="2" fill="#FFC107"/>
|
|
84
|
+
<rect x="2" y="6" width="6" height="2" fill="#B0BEC5"/>
|
|
85
|
+
</g>
|
|
86
|
+
|
|
87
|
+
<!-- Leaning Body -->
|
|
88
|
+
<g class="body-push">
|
|
89
|
+
|
|
90
|
+
<!-- Sweat Drop (Positioned near the side of the head) -->
|
|
91
|
+
<g transform="translate(1, 4)">
|
|
92
|
+
<g class="sweat" fill="#40C4FF">
|
|
93
|
+
<rect x="0" y="1" width="1.5" height="1.5"/>
|
|
94
|
+
<rect x="0.25" y="0" width="1" height="1"/>
|
|
95
|
+
</g>
|
|
96
|
+
</g>
|
|
97
|
+
|
|
98
|
+
<!-- Body Base Color Group -->
|
|
99
|
+
<g id="body-color-group" fill="#DE886D">
|
|
100
|
+
<!-- Scrambling Legs -->
|
|
101
|
+
<rect id="outer-left-leg" class="leg leg-1" x="3" y="13" width="1" height="2"/>
|
|
102
|
+
<rect id="inner-left-leg" class="leg leg-2" x="5" y="13" width="1" height="2"/>
|
|
103
|
+
<rect id="inner-right-leg" class="leg leg-1" x="9" y="13" width="1" height="2"/>
|
|
104
|
+
<rect id="outer-right-leg" class="leg leg-2" x="11" y="13" width="1" height="2"/>
|
|
105
|
+
|
|
106
|
+
<!-- Main Torso -->
|
|
107
|
+
<rect id="torso" x="2" y="6" width="11" height="7"/>
|
|
108
|
+
|
|
109
|
+
<!-- Left Arm (Pushed forward, reaching across body) -->
|
|
110
|
+
<rect id="left-arm" x="0" y="9" width="2" height="2" transform="translate(11, 0) rotate(-15 1 10)"/>
|
|
111
|
+
|
|
112
|
+
<!-- Right Arm (Pushed forward, fully extended) -->
|
|
113
|
+
<rect id="right-arm" x="13" y="9" width="2" height="2" transform="translate(0, -1) rotate(-15 14 10)"/>
|
|
114
|
+
</g>
|
|
115
|
+
|
|
116
|
+
<!-- Eyes Color Group (Straining, looking at the block) -->
|
|
117
|
+
<g fill="#000000">
|
|
118
|
+
<!-- Left eye is squinting hard -->
|
|
119
|
+
<rect id="left-eye" x="8" y="8.5" width="1" height="1"/>
|
|
120
|
+
<!-- Right eye is wide with strain -->
|
|
121
|
+
<rect id="right-eye" x="12" y="7" width="1" height="2.5"/>
|
|
122
|
+
</g>
|
|
123
|
+
|
|
124
|
+
</g>
|
|
125
|
+
</svg>
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="-15 -25 45 45" width="500" height="500">
|
|
2
|
+
<defs>
|
|
3
|
+
<style>
|
|
4
|
+
.body-sweep {
|
|
5
|
+
transform-origin: 7.5px 15px;
|
|
6
|
+
animation: sweep-lean 1.5s infinite ease-in-out;
|
|
7
|
+
}
|
|
8
|
+
.arm-sweep {
|
|
9
|
+
transform-origin: 14px 10px;
|
|
10
|
+
animation: sweep-arm 1.5s infinite ease-in-out;
|
|
11
|
+
}
|
|
12
|
+
.broom {
|
|
13
|
+
transform-origin: 13.5px 14px;
|
|
14
|
+
animation: sweep-broom 1.5s infinite ease-in-out;
|
|
15
|
+
}
|
|
16
|
+
.dust {
|
|
17
|
+
opacity: 0;
|
|
18
|
+
animation: sweep-dust 1.5s infinite ease-out;
|
|
19
|
+
}
|
|
20
|
+
.d1 { animation-delay: 0.2s; }
|
|
21
|
+
.d2 { animation-delay: 0.4s; }
|
|
22
|
+
|
|
23
|
+
@keyframes sweep-lean {
|
|
24
|
+
0%, 100% { transform: rotate(5deg) translate(1px, 0); }
|
|
25
|
+
50% { transform: rotate(15deg) translate(3px, 1px); }
|
|
26
|
+
}
|
|
27
|
+
@keyframes sweep-arm {
|
|
28
|
+
0%, 100% { transform: rotate(0deg); }
|
|
29
|
+
50% { transform: rotate(-20deg); }
|
|
30
|
+
}
|
|
31
|
+
@keyframes sweep-broom {
|
|
32
|
+
0%, 100% { transform: rotate(10deg); }
|
|
33
|
+
50% { transform: rotate(30deg) translate(2px, -1px); }
|
|
34
|
+
}
|
|
35
|
+
@keyframes sweep-dust {
|
|
36
|
+
0%, 40% { transform: translate(17px, 14px) scale(0); opacity: 0; }
|
|
37
|
+
50% { transform: translate(19px, 14px) scale(1); opacity: 1; }
|
|
38
|
+
100% { transform: translate(25px, 14px) scale(0.5); opacity: 0; }
|
|
39
|
+
}
|
|
40
|
+
</style>
|
|
41
|
+
</defs>
|
|
42
|
+
|
|
43
|
+
<!-- Mirrored: entire scene flipped so Clawd sweeps leftward -->
|
|
44
|
+
<g transform="translate(15, 0) scale(-1, 1)">
|
|
45
|
+
<rect id="ground-shadow" x="3" y="15" width="13" height="1" fill="#000000" opacity="0.5"/>
|
|
46
|
+
|
|
47
|
+
<g class="body-sweep">
|
|
48
|
+
<g id="legs" fill="#DE886D">
|
|
49
|
+
<rect x="3" y="13" width="1" height="2"/>
|
|
50
|
+
<rect x="5" y="13" width="1" height="2"/>
|
|
51
|
+
<rect x="9" y="13" width="1" height="2"/>
|
|
52
|
+
<rect x="11" y="13" width="1" height="2"/>
|
|
53
|
+
</g>
|
|
54
|
+
|
|
55
|
+
<g id="body-color-group" fill="#DE886D">
|
|
56
|
+
<rect x="2" y="6" width="11" height="7"/>
|
|
57
|
+
<rect x="0" y="9" width="2" height="2" transform="translate(6, 1) rotate(-15 1 10)"/>
|
|
58
|
+
<g class="arm-sweep"><rect x="13" y="9" width="2" height="2"/></g>
|
|
59
|
+
</g>
|
|
60
|
+
|
|
61
|
+
<g fill="#000000">
|
|
62
|
+
<rect x="5" y="8" width="1" height="2"/>
|
|
63
|
+
<rect x="11" y="8" width="1" height="2"/>
|
|
64
|
+
</g>
|
|
65
|
+
</g>
|
|
66
|
+
|
|
67
|
+
<g class="broom">
|
|
68
|
+
<rect x="13.5" y="4" width="1" height="10" fill="#795548"/>
|
|
69
|
+
<rect x="12" y="14" width="4" height="2" fill="#FFC107"/>
|
|
70
|
+
</g>
|
|
71
|
+
|
|
72
|
+
<g class="dust" fill="#9E9E9E">
|
|
73
|
+
<rect x="0" y="0" width="1.5" height="1.5"/>
|
|
74
|
+
</g>
|
|
75
|
+
<g class="dust d1" fill="#B0BEC5">
|
|
76
|
+
<rect x="0" y="0" width="1" height="1"/>
|
|
77
|
+
</g>
|
|
78
|
+
</g>
|
|
79
|
+
</svg>
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="-15 -25 45 45" width="500" height="500">
|
|
2
|
+
<defs>
|
|
3
|
+
<style>
|
|
4
|
+
/* Slow, contemplative swaying */
|
|
5
|
+
.body-sway {
|
|
6
|
+
transform-origin: 7.5px 15px; /* Pivot at the base of the feet */
|
|
7
|
+
animation: sway 4s infinite ease-in-out;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
/* Ground shadow shifting with the sway */
|
|
11
|
+
.shadow-sway {
|
|
12
|
+
transform-origin: 7.5px 15.5px;
|
|
13
|
+
animation: shadow-shift 4s infinite ease-in-out;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
/* Right arm raised and tapping the "chin" */
|
|
17
|
+
.arm-tap {
|
|
18
|
+
transform-origin: 14px 10px; /* Shoulder joint */
|
|
19
|
+
animation: tap-chin 0.8s infinite alternate ease-in-out;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
/* Slow, thoughtful blinking */
|
|
23
|
+
.eyes-think {
|
|
24
|
+
transform-origin: 7.5px 7px;
|
|
25
|
+
animation: blink-think 4s infinite;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/* Loading dots appearing sequentially */
|
|
29
|
+
.dot { opacity: 0; }
|
|
30
|
+
.d1 { animation: load-dot-1 2s infinite; }
|
|
31
|
+
.d2 { animation: load-dot-2 2s infinite; }
|
|
32
|
+
.d3 { animation: load-dot-3 2s infinite; }
|
|
33
|
+
|
|
34
|
+
/* Keyframes */
|
|
35
|
+
@keyframes sway {
|
|
36
|
+
0%, 100% { transform: rotate(0deg) translate(0, 0); }
|
|
37
|
+
25% { transform: rotate(-3deg) translate(-1px, 0); }
|
|
38
|
+
75% { transform: rotate(3deg) translate(1px, 0); }
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
@keyframes shadow-shift {
|
|
42
|
+
0%, 100% { transform: translate(0, 0); }
|
|
43
|
+
25% { transform: translate(-1px, 0); }
|
|
44
|
+
75% { transform: translate(1px, 0); }
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
@keyframes tap-chin {
|
|
48
|
+
0% { transform: rotate(-125deg); }
|
|
49
|
+
100% { transform: rotate(-145deg); }
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
@keyframes blink-think {
|
|
53
|
+
0%, 46%, 54%, 100% { transform: scaleY(1); }
|
|
54
|
+
50% { transform: scaleY(0.1); } /* Single slow blink */
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
/* Sequential dot loading (0-20% empty, then dots appear one by one) */
|
|
58
|
+
@keyframes load-dot-1 {
|
|
59
|
+
0%, 20% { opacity: 0; }
|
|
60
|
+
21%, 100% { opacity: 1; }
|
|
61
|
+
}
|
|
62
|
+
@keyframes load-dot-2 {
|
|
63
|
+
0%, 40% { opacity: 0; }
|
|
64
|
+
41%, 100% { opacity: 1; }
|
|
65
|
+
}
|
|
66
|
+
@keyframes load-dot-3 {
|
|
67
|
+
0%, 60% { opacity: 0; }
|
|
68
|
+
61%, 100% { opacity: 1; }
|
|
69
|
+
}
|
|
70
|
+
</style>
|
|
71
|
+
</defs>
|
|
72
|
+
|
|
73
|
+
<!-- Pixel-Art Thinking Bubble (upper-left, tail points down-right toward Clawd) -->
|
|
74
|
+
<g transform="translate(-3, -7)">
|
|
75
|
+
<g class="think-bubble">
|
|
76
|
+
<!-- Bubble Cloud Base -->
|
|
77
|
+
<g fill="#FFFFFF" opacity="0.9">
|
|
78
|
+
<rect x="2" y="1" width="8" height="7"/>
|
|
79
|
+
<rect x="1" y="2" width="10" height="5"/>
|
|
80
|
+
<rect x="3" y="0" width="6" height="9"/>
|
|
81
|
+
|
|
82
|
+
<!-- Tail pointing down-right toward Clawd -->
|
|
83
|
+
<rect x="8" y="7" width="2" height="2"/>
|
|
84
|
+
<rect x="10" y="9" width="1" height="1"/>
|
|
85
|
+
</g>
|
|
86
|
+
|
|
87
|
+
<!-- Animated Loading Dots (left-to-right order preserved) -->
|
|
88
|
+
<g fill="#0082FC">
|
|
89
|
+
<rect class="dot d1" x="2.5" y="4" width="1" height="1"/>
|
|
90
|
+
<rect class="dot d2" x="5.5" y="4" width="1" height="1"/>
|
|
91
|
+
<rect class="dot d3" x="8.5" y="4" width="1" height="1"/>
|
|
92
|
+
</g>
|
|
93
|
+
</g>
|
|
94
|
+
</g>
|
|
95
|
+
|
|
96
|
+
<!-- Mirrored Character Body (SVG transform flips all body parts + shadow) -->
|
|
97
|
+
<g transform="translate(15, 0) scale(-1, 1)">
|
|
98
|
+
<!-- Ground Shadow -->
|
|
99
|
+
<rect id="ground-shadow" class="shadow-sway" x="3" y="15" width="9" height="1" fill="#000000" opacity="0.5"/>
|
|
100
|
+
|
|
101
|
+
<g class="body-sway">
|
|
102
|
+
<g id="body-color-group" fill="#DE886D">
|
|
103
|
+
<rect id="outer-left-leg" x="3" y="13" width="1" height="2"/>
|
|
104
|
+
<rect id="inner-left-leg" x="5" y="13" width="1" height="2"/>
|
|
105
|
+
<rect id="inner-right-leg" x="9" y="13" width="1" height="2"/>
|
|
106
|
+
<rect id="outer-right-leg" x="11" y="13" width="1" height="2"/>
|
|
107
|
+
<rect id="torso" x="2" y="6" width="11" height="7"/>
|
|
108
|
+
<rect id="left-arm" x="0" y="9" width="3" height="2" transform="rotate(25 1 10)"/>
|
|
109
|
+
<g class="arm-tap">
|
|
110
|
+
<rect id="right-arm" x="13" y="9" width="2" height="2"/>
|
|
111
|
+
</g>
|
|
112
|
+
</g>
|
|
113
|
+
<g class="eyes-think" fill="#000000">
|
|
114
|
+
<rect id="left-eye" x="5" y="7" width="1" height="2"/>
|
|
115
|
+
<rect id="right-eye" x="11" y="7" width="1" height="2"/>
|
|
116
|
+
</g>
|
|
117
|
+
</g>
|
|
118
|
+
</g>
|
|
119
|
+
</svg>
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="-15 -25 45 45" width="500" height="500">
|
|
2
|
+
<defs>
|
|
3
|
+
<style>
|
|
4
|
+
/* High-speed body jitter */
|
|
5
|
+
.body-jitter {
|
|
6
|
+
transform-origin: 7.5px 15px;
|
|
7
|
+
animation: jitter 0.08s infinite alternate ease-in-out;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
/* Furious typing arms (rotating out and tapping) */
|
|
11
|
+
.arm-l-type {
|
|
12
|
+
transform-origin: 2px 10px; /* Shoulder joint */
|
|
13
|
+
animation: type-l 0.15s infinite ease-in-out;
|
|
14
|
+
}
|
|
15
|
+
.arm-r-type {
|
|
16
|
+
transform-origin: 13px 10px; /* Shoulder joint */
|
|
17
|
+
animation: type-r 0.12s infinite ease-in-out;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/* Eye tracking (reading lines of code quickly) */
|
|
21
|
+
.eyes-read {
|
|
22
|
+
animation: read-code 1.2s infinite;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/* Floating data packets */
|
|
26
|
+
.data-bit {
|
|
27
|
+
opacity: 0;
|
|
28
|
+
animation: float-data 1s infinite linear;
|
|
29
|
+
}
|
|
30
|
+
.d1 { animation-delay: 0.0s; transform-origin: -2px 10px; }
|
|
31
|
+
.d2 { animation-delay: 0.3s; transform-origin: 5px 12px; }
|
|
32
|
+
.d3 { animation-delay: 0.6s; transform-origin: 12px 11px; }
|
|
33
|
+
.d4 { animation-delay: 0.8s; transform-origin: 17px 9px; }
|
|
34
|
+
.d5 { animation-delay: 0.1s; transform-origin: 8px 10px; }
|
|
35
|
+
.d6 { animation-delay: 0.4s; transform-origin: 0px 11px; }
|
|
36
|
+
.d7 { animation-delay: 0.7s; transform-origin: 15px 12px; }
|
|
37
|
+
|
|
38
|
+
/* Laptop Logo Glow */
|
|
39
|
+
.logo-glow {
|
|
40
|
+
animation: logo-pulse 1.5s infinite alternate ease-in-out;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/* Keyframes */
|
|
44
|
+
@keyframes jitter {
|
|
45
|
+
0% { transform: translateY(0); }
|
|
46
|
+
100% { transform: translateY(0.5px); }
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/* Arms point forward and tap rapidly */
|
|
50
|
+
@keyframes type-l {
|
|
51
|
+
0% { transform: rotate(70deg); }
|
|
52
|
+
25% { transform: rotate(110deg); }
|
|
53
|
+
50% { transform: rotate(80deg); }
|
|
54
|
+
75% { transform: rotate(100deg); }
|
|
55
|
+
100% { transform: rotate(70deg); }
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
@keyframes type-r {
|
|
59
|
+
0% { transform: rotate(-80deg); }
|
|
60
|
+
25% { transform: rotate(-100deg); }
|
|
61
|
+
50% { transform: rotate(-70deg); }
|
|
62
|
+
75% { transform: rotate(-110deg); }
|
|
63
|
+
100% { transform: rotate(-80deg); }
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
/* Discrete steps to look like reading text */
|
|
67
|
+
@keyframes read-code {
|
|
68
|
+
0%, 14% { transform: translate(-2px, 0); }
|
|
69
|
+
15%, 29% { transform: translate(-1px, 0); }
|
|
70
|
+
30%, 44% { transform: translate(0px, 0); }
|
|
71
|
+
45%, 59% { transform: translate(1px, 0); }
|
|
72
|
+
60%, 84% { transform: translate(2px, 0); }
|
|
73
|
+
85%, 100% { transform: translate(-2px, 0); } /* Carriage return snap back */
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
/* Packets float up and fade */
|
|
77
|
+
@keyframes float-data {
|
|
78
|
+
0% { transform: translateY(0) scale(0.5); opacity: 0; }
|
|
79
|
+
20% { opacity: 0.8; }
|
|
80
|
+
100% { transform: translateY(-15px) scale(1.2); opacity: 0; }
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
@keyframes logo-pulse {
|
|
84
|
+
0% { opacity: 0.4; }
|
|
85
|
+
100% { opacity: 1; }
|
|
86
|
+
}
|
|
87
|
+
</style>
|
|
88
|
+
|
|
89
|
+
<!-- A small square to represent data/code -->
|
|
90
|
+
<g id="pixel-packet">
|
|
91
|
+
<rect x="0" y="0" width="1.5" height="1.5" />
|
|
92
|
+
</g>
|
|
93
|
+
</defs>
|
|
94
|
+
|
|
95
|
+
<!-- Ground Shadow -->
|
|
96
|
+
<rect id="ground-shadow" x="3" y="15" width="9" height="1" fill="#000000" opacity="0.5"/>
|
|
97
|
+
|
|
98
|
+
<!-- Data Particles floating up from behind the laptop -->
|
|
99
|
+
<g class="data-particles" fill="#40C4FF">
|
|
100
|
+
<use href="#pixel-packet" class="data-bit d1" x="-2" y="12" />
|
|
101
|
+
<use href="#pixel-packet" class="data-bit d2" x="5" y="11" />
|
|
102
|
+
<use href="#pixel-packet" class="data-bit d3" x="12" y="13" />
|
|
103
|
+
<use href="#pixel-packet" class="data-bit d4" x="17" y="11" />
|
|
104
|
+
<use href="#pixel-packet" class="data-bit d5" x="8" y="10" />
|
|
105
|
+
<use href="#pixel-packet" class="data-bit d6" x="1" y="11" />
|
|
106
|
+
<use href="#pixel-packet" class="data-bit d7" x="15" y="12" />
|
|
107
|
+
</g>
|
|
108
|
+
|
|
109
|
+
<!-- Animated Character Body -->
|
|
110
|
+
<g class="body-jitter">
|
|
111
|
+
|
|
112
|
+
<!-- Body Base Color Group -->
|
|
113
|
+
<g id="body-color-group" fill="#DE886D">
|
|
114
|
+
<!-- Static Legs -->
|
|
115
|
+
<rect id="outer-left-leg" x="3" y="13" width="1" height="2"/>
|
|
116
|
+
<rect id="inner-left-leg" x="5" y="13" width="1" height="2"/>
|
|
117
|
+
<rect id="inner-right-leg" x="9" y="13" width="1" height="2"/>
|
|
118
|
+
<rect id="outer-right-leg" x="11" y="13" width="1" height="2"/>
|
|
119
|
+
|
|
120
|
+
<!-- Main Torso -->
|
|
121
|
+
<rect id="torso" x="2" y="6" width="11" height="7"/>
|
|
122
|
+
|
|
123
|
+
<!-- Typing Arms -->
|
|
124
|
+
<g class="arm-l-type">
|
|
125
|
+
<rect id="left-arm" x="0" y="9" width="2" height="2"/>
|
|
126
|
+
</g>
|
|
127
|
+
<g class="arm-r-type">
|
|
128
|
+
<rect id="right-arm" x="13" y="9" width="2" height="2"/>
|
|
129
|
+
</g>
|
|
130
|
+
</g>
|
|
131
|
+
|
|
132
|
+
<!-- Eyes Color Group (Squinting) -->
|
|
133
|
+
<g fill="#000000">
|
|
134
|
+
<g class="eyes-read">
|
|
135
|
+
<rect id="left-eye-squint" x="4" y="8.5" width="1" height="1"/>
|
|
136
|
+
<rect id="right-eye-squint" x="10" y="8.5" width="1" height="1"/>
|
|
137
|
+
</g>
|
|
138
|
+
</g>
|
|
139
|
+
|
|
140
|
+
</g>
|
|
141
|
+
|
|
142
|
+
<!-- Pixel Laptop (facing Clawd, so we see the back of the screen) -->
|
|
143
|
+
<g id="laptop" transform="translate(3, 9.5)">
|
|
144
|
+
<!-- Laptop Base -->
|
|
145
|
+
<rect x="-0.5" y="5" width="10" height="1" fill="#546E7A" rx="0.5"/>
|
|
146
|
+
<!-- Screen Back -->
|
|
147
|
+
<rect x="0" y="0" width="9" height="5.5" fill="#78909C" rx="0.5"/>
|
|
148
|
+
<!-- Glowing Logo (Pixel) -->
|
|
149
|
+
<circle cx="4.5" cy="2.5" r="1.5" fill="#40C4FF" opacity="0.2" class="logo-glow"/>
|
|
150
|
+
<rect x="4" y="2" width="1" height="1" fill="#FFFFFF" class="logo-glow"/>
|
|
151
|
+
</g>
|
|
152
|
+
|
|
153
|
+
</svg>
|