@mumulinya167/ccm-pet-assets 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (178) hide show
  1. package/README.md +4 -0
  2. package/assets/calico/calico-collapsing.apng +0 -0
  3. package/assets/calico/calico-dozing.apng +0 -0
  4. package/assets/calico/calico-error.apng +0 -0
  5. package/assets/calico/calico-happy.apng +0 -0
  6. package/assets/calico/calico-idle-follow.svg +324 -0
  7. package/assets/calico/calico-idle.apng +0 -0
  8. package/assets/calico/calico-mini-alert.apng +0 -0
  9. package/assets/calico/calico-mini-crabwalk.apng +0 -0
  10. package/assets/calico/calico-mini-enter.apng +0 -0
  11. package/assets/calico/calico-mini-happy.apng +0 -0
  12. package/assets/calico/calico-mini-idle.apng +0 -0
  13. package/assets/calico/calico-mini-peek.apng +0 -0
  14. package/assets/calico/calico-mini-sleep.apng +0 -0
  15. package/assets/calico/calico-notification.apng +0 -0
  16. package/assets/calico/calico-react-drag.apng +0 -0
  17. package/assets/calico/calico-react-left.apng +0 -0
  18. package/assets/calico/calico-react-poke.apng +0 -0
  19. package/assets/calico/calico-sleeping.apng +0 -0
  20. package/assets/calico/calico-thinking.apng +0 -0
  21. package/assets/calico/calico-waking.apng +0 -0
  22. package/assets/calico/calico-working-building.apng +0 -0
  23. package/assets/calico/calico-working-carrying.apng +0 -0
  24. package/assets/calico/calico-working-conducting.apng +0 -0
  25. package/assets/calico/calico-working-juggling.apng +0 -0
  26. package/assets/calico/calico-working-sweeping.apng +0 -0
  27. package/assets/calico/calico-working-typing.apng +0 -0
  28. package/assets/calico/calico-yawning.apng +0 -0
  29. package/assets/calico.svg +324 -0
  30. package/assets/clawd/LICENSE +22 -0
  31. package/assets/clawd/clawd-about-hero.svg +202 -0
  32. package/assets/clawd/clawd-collapse-sleep.svg +247 -0
  33. package/assets/clawd/clawd-error.svg +94 -0
  34. package/assets/clawd/clawd-happy.svg +161 -0
  35. package/assets/clawd/clawd-headphones-groove.svg +194 -0
  36. package/assets/clawd/clawd-idle-bubble.svg +180 -0
  37. package/assets/clawd/clawd-idle-collapse.svg +101 -0
  38. package/assets/clawd/clawd-idle-doze.svg +72 -0
  39. package/assets/clawd/clawd-idle-follow.svg +64 -0
  40. package/assets/clawd/clawd-idle-living.svg +196 -0
  41. package/assets/clawd/clawd-idle-look.svg +115 -0
  42. package/assets/clawd/clawd-idle-reading.svg +252 -0
  43. package/assets/clawd/clawd-idle-yawn.svg +158 -0
  44. package/assets/clawd/clawd-mini-alert.svg +129 -0
  45. package/assets/clawd/clawd-mini-crabwalk.svg +76 -0
  46. package/assets/clawd/clawd-mini-enter-sleep.svg +64 -0
  47. package/assets/clawd/clawd-mini-enter.svg +114 -0
  48. package/assets/clawd/clawd-mini-happy.svg +124 -0
  49. package/assets/clawd/clawd-mini-idle.svg +83 -0
  50. package/assets/clawd/clawd-mini-peek.svg +82 -0
  51. package/assets/clawd/clawd-mini-sleep.svg +112 -0
  52. package/assets/clawd/clawd-mini-typing.svg +153 -0
  53. package/assets/clawd/clawd-notification.svg +438 -0
  54. package/assets/clawd/clawd-react-annoyed.svg +167 -0
  55. package/assets/clawd/clawd-react-double-jump.svg +229 -0
  56. package/assets/clawd/clawd-react-double.svg +108 -0
  57. package/assets/clawd/clawd-react-drag.svg +102 -0
  58. package/assets/clawd/clawd-react-left.svg +102 -0
  59. package/assets/clawd/clawd-react-right.svg +102 -0
  60. package/assets/clawd/clawd-sleeping.svg +118 -0
  61. package/assets/clawd/clawd-static-base.svg +21 -0
  62. package/assets/clawd/clawd-wake.svg +277 -0
  63. package/assets/clawd/clawd-working-building.svg +329 -0
  64. package/assets/clawd/clawd-working-carrying.svg +178 -0
  65. package/assets/clawd/clawd-working-debugger.svg +245 -0
  66. package/assets/clawd/clawd-working-juggling.svg +183 -0
  67. package/assets/clawd/clawd-working-sweeping.svg +248 -0
  68. package/assets/clawd/clawd-working-thinking.svg +501 -0
  69. package/assets/clawd/clawd-working-typing-boss.svg +307 -0
  70. package/assets/clawd/clawd-working-typing.svg +273 -0
  71. package/assets/clawd/clawd-working-ultrathink.svg +166 -0
  72. package/assets/clawd/clawd-working-wizard.svg +356 -0
  73. package/assets/clawd.svg +64 -0
  74. package/assets/cloudling/cloudling/cloudling-attention.svg +380 -0
  75. package/assets/cloudling/cloudling/cloudling-building.svg +667 -0
  76. package/assets/cloudling/cloudling/cloudling-carrying.svg +604 -0
  77. package/assets/cloudling/cloudling/cloudling-conducting.svg +616 -0
  78. package/assets/cloudling/cloudling/cloudling-dozing-to-sleeping.svg +578 -0
  79. package/assets/cloudling/cloudling/cloudling-dozing.svg +358 -0
  80. package/assets/cloudling/cloudling/cloudling-error.svg +428 -0
  81. package/assets/cloudling/cloudling/cloudling-idle-reading.svg +658 -0
  82. package/assets/cloudling/cloudling/cloudling-idle-to-dozing.svg +568 -0
  83. package/assets/cloudling/cloudling/cloudling-idle-to-sleeping.svg +811 -0
  84. package/assets/cloudling/cloudling/cloudling-idle.svg +255 -0
  85. package/assets/cloudling/cloudling/cloudling-juggling.svg +648 -0
  86. package/assets/cloudling/cloudling/cloudling-mini-alert.svg +390 -0
  87. package/assets/cloudling/cloudling/cloudling-mini-crabwalk.svg +335 -0
  88. package/assets/cloudling/cloudling/cloudling-mini-enter-roll-in.svg +226 -0
  89. package/assets/cloudling/cloudling/cloudling-mini-enter-sleep.svg +232 -0
  90. package/assets/cloudling/cloudling/cloudling-mini-happy.svg +371 -0
  91. package/assets/cloudling/cloudling/cloudling-mini-idle.svg +279 -0
  92. package/assets/cloudling/cloudling/cloudling-mini-peek.svg +328 -0
  93. package/assets/cloudling/cloudling/cloudling-mini-sleep.svg +260 -0
  94. package/assets/cloudling/cloudling/cloudling-mini-typing.svg +692 -0
  95. package/assets/cloudling/cloudling/cloudling-notification.svg +494 -0
  96. package/assets/cloudling/cloudling/cloudling-react-drag.svg +83 -0
  97. package/assets/cloudling/cloudling/cloudling-sleeping-to-idle.svg +555 -0
  98. package/assets/cloudling/cloudling/cloudling-sleeping.svg +500 -0
  99. package/assets/cloudling/cloudling/cloudling-sweeping.svg +292 -0
  100. package/assets/cloudling/cloudling/cloudling-thinking.svg +720 -0
  101. package/assets/cloudling/cloudling/cloudling-typing.svg +354 -0
  102. package/assets/cloudling/cloudling-attention.svg +380 -0
  103. package/assets/cloudling/cloudling-building.svg +667 -0
  104. package/assets/cloudling/cloudling-carrying.svg +604 -0
  105. package/assets/cloudling/cloudling-conducting.svg +616 -0
  106. package/assets/cloudling/cloudling-dozing-to-sleeping.svg +578 -0
  107. package/assets/cloudling/cloudling-dozing.svg +358 -0
  108. package/assets/cloudling/cloudling-error.svg +428 -0
  109. package/assets/cloudling/cloudling-idle-reading.svg +658 -0
  110. package/assets/cloudling/cloudling-idle-to-dozing.svg +568 -0
  111. package/assets/cloudling/cloudling-idle-to-sleeping.svg +811 -0
  112. package/assets/cloudling/cloudling-idle.svg +255 -0
  113. package/assets/cloudling/cloudling-juggling.svg +648 -0
  114. package/assets/cloudling/cloudling-mini-alert.svg +390 -0
  115. package/assets/cloudling/cloudling-mini-crabwalk.svg +335 -0
  116. package/assets/cloudling/cloudling-mini-enter-roll-in.svg +226 -0
  117. package/assets/cloudling/cloudling-mini-enter-sleep.svg +232 -0
  118. package/assets/cloudling/cloudling-mini-happy.svg +371 -0
  119. package/assets/cloudling/cloudling-mini-idle.svg +279 -0
  120. package/assets/cloudling/cloudling-mini-peek.svg +328 -0
  121. package/assets/cloudling/cloudling-mini-sleep.svg +260 -0
  122. package/assets/cloudling/cloudling-mini-typing.svg +692 -0
  123. package/assets/cloudling/cloudling-notification.svg +494 -0
  124. package/assets/cloudling/cloudling-react-drag.svg +83 -0
  125. package/assets/cloudling/cloudling-sleeping-to-idle.svg +555 -0
  126. package/assets/cloudling/cloudling-sleeping.svg +500 -0
  127. package/assets/cloudling/cloudling-sweeping.svg +292 -0
  128. package/assets/cloudling/cloudling-thinking.svg +720 -0
  129. package/assets/cloudling/cloudling-typing.svg +354 -0
  130. package/assets/cloudling.svg +255 -0
  131. package/assets/ghost-attention.svg +19 -0
  132. package/assets/ghost-carrying.svg +19 -0
  133. package/assets/ghost-collapsing.svg +19 -0
  134. package/assets/ghost-dozing.svg +23 -0
  135. package/assets/ghost-error.svg +19 -0
  136. package/assets/ghost-happy.svg +23 -0
  137. package/assets/ghost-idle-action1.svg +19 -0
  138. package/assets/ghost-idle-action2.svg +19 -0
  139. package/assets/ghost-idle-action3.svg +19 -0
  140. package/assets/ghost-idle.svg +11 -0
  141. package/assets/ghost-juggling.svg +19 -0
  142. package/assets/ghost-notification.svg +19 -0
  143. package/assets/ghost-react-double.svg +23 -0
  144. package/assets/ghost-react-drag.svg +23 -0
  145. package/assets/ghost-react-left.svg +19 -0
  146. package/assets/ghost-react-right.svg +19 -0
  147. package/assets/ghost-sleeping.svg +19 -0
  148. package/assets/ghost-sweeping.svg +19 -0
  149. package/assets/ghost-thinking.svg +19 -0
  150. package/assets/ghost-waking.svg +19 -0
  151. package/assets/ghost-working.svg +19 -0
  152. package/assets/ghost-yawning.svg +23 -0
  153. package/assets/ghost.svg +11 -0
  154. package/assets/robot-attention.svg +19 -0
  155. package/assets/robot-carrying.svg +19 -0
  156. package/assets/robot-collapsing.svg +19 -0
  157. package/assets/robot-dozing.svg +23 -0
  158. package/assets/robot-error.svg +19 -0
  159. package/assets/robot-happy.svg +23 -0
  160. package/assets/robot-idle-action1.svg +19 -0
  161. package/assets/robot-idle-action2.svg +19 -0
  162. package/assets/robot-idle-action3.svg +19 -0
  163. package/assets/robot-idle.svg +11 -0
  164. package/assets/robot-juggling.svg +19 -0
  165. package/assets/robot-notification.svg +19 -0
  166. package/assets/robot-react-double.svg +23 -0
  167. package/assets/robot-react-drag.svg +23 -0
  168. package/assets/robot-react-left.svg +19 -0
  169. package/assets/robot-react-right.svg +19 -0
  170. package/assets/robot-sleeping.svg +19 -0
  171. package/assets/robot-sweeping.svg +19 -0
  172. package/assets/robot-thinking.svg +19 -0
  173. package/assets/robot-waking.svg +19 -0
  174. package/assets/robot-working.svg +19 -0
  175. package/assets/robot-yawning.svg +23 -0
  176. package/assets/robot.svg +11 -0
  177. package/manifest.json +889 -0
  178. package/package.json +18 -0
@@ -0,0 +1,83 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="-15 -25 45 45" width="500" height="500">
2
+ <defs>
3
+ <style>
4
+ .breathe-anim {
5
+ transform-origin: 7.5px 13px;
6
+ animation: breathe 3.2s infinite ease-in-out;
7
+ }
8
+
9
+ .eyes-blink {
10
+ transform-origin: 7.5px 9px;
11
+ animation: eye-blink 4s infinite ease-in-out;
12
+ }
13
+
14
+ #eyes-js {
15
+ transition: transform 0.2s ease-out;
16
+ }
17
+
18
+ /* Visible arm (left, facing screen) — occasional wobble */
19
+ .arm-wobble {
20
+ transform-box: fill-box;
21
+ transform-origin: 100% 0%; /* Shoulder joint: body-side top */
22
+ animation: arm-wobble 25s infinite ease-in-out;
23
+ }
24
+
25
+ @keyframes breathe {
26
+ 0%, 100% { transform: scale(1, 1) translate(0, 0); }
27
+ 50% { transform: scale(1.02, 0.98) translate(0, 0.5px); }
28
+ }
29
+
30
+ @keyframes eye-blink {
31
+ 0%, 10%, 100% { transform: scaleY(1); }
32
+ 5% { transform: scaleY(0.1); }
33
+ }
34
+
35
+ /* Arm wobble: 25s cycle, still ~23s, quick wave in ~1.5s near the end */
36
+ @keyframes arm-wobble {
37
+ 0%, 91%, 97%, 100% { transform: rotate(0deg); }
38
+ 92% { transform: rotate(18deg); }
39
+ 93.5% { transform: rotate(-5deg); }
40
+ 95% { transform: rotate(14deg); }
41
+ }
42
+ </style>
43
+ </defs>
44
+
45
+ <!-- No shadow (against screen edge, no ground plane) -->
46
+
47
+ <!-- Entire character leaning: rotate -12° around feet base (7.5, 15) -->
48
+ <!-- Negative = counterclockwise = head tilts left toward screen = peeking pose -->
49
+ <g transform="rotate(-12, 7.5, 15)">
50
+
51
+ <!-- Legs (inside rotation group so they tilt with the body) -->
52
+ <g fill="#DE886D">
53
+ <rect x="3" y="11" width="1" height="4"/>
54
+ <rect x="5" y="11" width="1" height="4"/>
55
+ <rect x="9" y="11" width="1" height="4"/>
56
+ <rect x="11" y="11" width="1" height="4"/>
57
+ </g>
58
+
59
+ <!-- Upper Body (JS body-shift preserved for compatibility) -->
60
+ <g id="body-js">
61
+ <g class="breathe-anim">
62
+ <!-- Torso -->
63
+ <rect x="2" y="6" width="11" height="7" fill="#DE886D"/>
64
+
65
+ <!-- Left Arm (visible side, facing screen) — extended + wobble -->
66
+ <g class="arm-wobble">
67
+ <rect x="-1.5" y="9" width="4.5" height="2" fill="#DE886D"/>
68
+ </g>
69
+
70
+ <!-- Right Arm (near edge, partially hidden) — normal -->
71
+ <rect x="13" y="9" width="2" height="2" fill="#DE886D"/>
72
+
73
+ <!-- Eyes: JS translate wrapper + CSS blink -->
74
+ <g id="eyes-js" fill="#000000">
75
+ <g class="eyes-blink">
76
+ <rect x="4" y="8" width="1" height="2"/>
77
+ <rect x="10" y="8" width="1" height="2"/>
78
+ </g>
79
+ </g>
80
+ </g>
81
+ </g>
82
+ </g>
83
+ </svg>
@@ -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
+ .breathe-anim {
5
+ transform-origin: 7.5px 13px;
6
+ animation: breathe 3.2s infinite ease-in-out;
7
+ }
8
+
9
+ .eyes-blink {
10
+ transform-origin: 7.5px 9px;
11
+ animation: eye-blink 4s infinite ease-in-out;
12
+ }
13
+
14
+ #eyes-js {
15
+ transition: transform 0.2s ease-out;
16
+ }
17
+
18
+ /* Arm waving — fast 3 waves then pause, loop */
19
+ .arm-wave {
20
+ transform-origin: 2px 9px;
21
+ animation: peek-wave 3s infinite ease-in-out;
22
+ }
23
+
24
+ @keyframes breathe {
25
+ 0%, 100% { transform: scale(1, 1) translate(0, 0); }
26
+ 50% { transform: scale(1.02, 0.98) translate(0, 0.5px); }
27
+ }
28
+
29
+ @keyframes eye-blink {
30
+ 0%, 10%, 100% { transform: scaleY(1); }
31
+ 5% { transform: scaleY(0.1); }
32
+ }
33
+
34
+ /* Fast 3 waves (~0.9s) then still (~2.1s), loop */
35
+ @keyframes peek-wave {
36
+ 0% { transform: rotate(0deg); }
37
+ 5% { transform: rotate(35deg); }
38
+ 10% { transform: rotate(-15deg); }
39
+ 15% { transform: rotate(35deg); }
40
+ 20% { transform: rotate(-15deg); }
41
+ 25% { transform: rotate(35deg); }
42
+ 30%, 100% { transform: rotate(0deg); }
43
+ }
44
+ </style>
45
+ </defs>
46
+
47
+ <!-- Entire character leaning -->
48
+ <g transform="rotate(-12, 7.5, 15)">
49
+
50
+ <!-- Legs -->
51
+ <g fill="#DE886D">
52
+ <rect x="3" y="11" width="1" height="4"/>
53
+ <rect x="5" y="11" width="1" height="4"/>
54
+ <rect x="9" y="11" width="1" height="4"/>
55
+ <rect x="11" y="11" width="1" height="4"/>
56
+ </g>
57
+
58
+ <!-- Upper Body -->
59
+ <g id="body-js">
60
+ <g class="breathe-anim">
61
+ <!-- Torso -->
62
+ <rect x="2" y="6" width="11" height="7" fill="#DE886D"/>
63
+
64
+ <!-- Left Arm — continuous big wave -->
65
+ <g class="arm-wave">
66
+ <rect x="-1.5" y="9" width="5.5" height="2" fill="#DE886D"/>
67
+ </g>
68
+
69
+ <!-- Right Arm -->
70
+ <rect x="13" y="9" width="2" height="2" fill="#DE886D"/>
71
+
72
+ <!-- Eyes: JS translate wrapper + CSS blink -->
73
+ <g id="eyes-js" fill="#000000">
74
+ <g class="eyes-blink">
75
+ <rect x="4" y="8" width="1" height="2"/>
76
+ <rect x="10" y="8" width="1" height="2"/>
77
+ </g>
78
+ </g>
79
+ </g>
80
+ </g>
81
+ </g>
82
+ </svg>
@@ -0,0 +1,112 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="-15 -25 45 45" width="500" height="500"
2
+ shape-rendering="crispEdges">
3
+ <defs>
4
+ <style>
5
+ /* Slower breathing for sleepy feel */
6
+ .breathe-anim {
7
+ transform-origin: 7.5px 13px;
8
+ animation: breathe 5s infinite ease-in-out;
9
+ }
10
+
11
+ /* Very slow, barely noticeable arm drift */
12
+ .arm-wobble {
13
+ transform-box: fill-box;
14
+ transform-origin: 100% 0%;
15
+ animation: arm-drift 50s infinite ease-in-out;
16
+ }
17
+
18
+ /* Zzz particles (same style as clawd-sleeping.svg) */
19
+ .z-particle { opacity: 0; }
20
+ .z1 { animation: float-1 6s infinite ease-in-out 0s; }
21
+ .z2 { animation: float-2 6s infinite ease-in-out 2s; }
22
+ .z3 { animation: float-3 6s infinite ease-in-out 4s; }
23
+
24
+ @keyframes breathe {
25
+ 0%, 100% { transform: scale(1, 1) translate(0, 0); }
26
+ 50% { transform: scale(1.015, 0.985) translate(0, 0.3px); }
27
+ }
28
+
29
+ @keyframes arm-drift {
30
+ 0%, 94%, 100% { transform: rotate(0deg); }
31
+ 96% { transform: rotate(3deg); }
32
+ 98% { transform: rotate(-1deg); }
33
+ }
34
+
35
+ /* Zzz floats left and up (away from screen edge) */
36
+ @keyframes float-1 {
37
+ 0% { transform: translate(-2px, 6px) scale(0.4); opacity: 0; }
38
+ 10% { opacity: 1; }
39
+ 30% { transform: translate(-5px, 3px) scale(0.6); }
40
+ 50% { transform: translate(-3px, 0px) scale(0.8); }
41
+ 70% { transform: translate(-6px, -3px) scale(1.0); }
42
+ 90% { opacity: 0.8; }
43
+ 100% { transform: translate(-4px, -6px) scale(1.1); opacity: 0; }
44
+ }
45
+
46
+ @keyframes float-2 {
47
+ 0% { transform: translate(-3px, 7px) scale(0.3); opacity: 0; }
48
+ 10% { opacity: 1; }
49
+ 30% { transform: translate(-6px, 4px) scale(0.5); }
50
+ 50% { transform: translate(-4px, 1px) scale(0.7); }
51
+ 70% { transform: translate(-7px, -2px) scale(0.9); }
52
+ 90% { opacity: 0.8; }
53
+ 100% { transform: translate(-5px, -5px) scale(1.0); opacity: 0; }
54
+ }
55
+
56
+ @keyframes float-3 {
57
+ 0% { transform: translate(-1px, 5px) scale(0.5); opacity: 0; }
58
+ 10% { opacity: 1; }
59
+ 30% { transform: translate(-4px, 2px) scale(0.7); }
60
+ 50% { transform: translate(-2px, -1px) scale(0.9); }
61
+ 70% { transform: translate(-5px, -4px) scale(1.1); }
62
+ 90% { opacity: 0.8; }
63
+ 100% { transform: translate(-3px, -7px) scale(1.2); opacity: 0; }
64
+ }
65
+ </style>
66
+
67
+ <g id="pixel-z">
68
+ <rect x="0" y="0" width="4" height="1"/>
69
+ <rect x="2" y="1" width="1" height="1"/>
70
+ <rect x="1" y="2" width="1" height="1"/>
71
+ <rect x="0" y="3" width="4" height="1"/>
72
+ </g>
73
+
74
+ <g id="pixel-z-small">
75
+ <rect x="0" y="0" width="3" height="1"/>
76
+ <rect x="1" y="1" width="1" height="1"/>
77
+ <rect x="0" y="2" width="3" height="1"/>
78
+ </g>
79
+ </defs>
80
+
81
+ <!-- Zzz particles -->
82
+ <use href="#pixel-z" class="z-particle z1" fill="#90A4AE"/>
83
+ <use href="#pixel-z-small" class="z-particle z2" fill="#B0BEC5"/>
84
+ <use href="#pixel-z" class="z-particle z3" fill="#CFD8DC"/>
85
+
86
+ <g transform="rotate(-12, 7.5, 15)">
87
+ <g fill="#DE886D">
88
+ <rect x="3" y="11" width="1" height="4"/>
89
+ <rect x="5" y="11" width="1" height="4"/>
90
+ <rect x="9" y="11" width="1" height="4"/>
91
+ <rect x="11" y="11" width="1" height="4"/>
92
+ </g>
93
+
94
+ <g id="body-js">
95
+ <g class="breathe-anim">
96
+ <rect x="2" y="6" width="11" height="7" fill="#DE886D"/>
97
+
98
+ <g class="arm-wobble">
99
+ <rect x="-1.5" y="9" width="4.5" height="2" fill="#DE886D"/>
100
+ </g>
101
+
102
+ <rect x="13" y="9" width="2" height="2" fill="#DE886D"/>
103
+
104
+ <!-- Eyes closed — wide dashes like sleeping pose -->
105
+ <g id="eyes-js" fill="#000000">
106
+ <rect x="3.5" y="8.8" width="2" height="0.4"/>
107
+ <rect x="9.5" y="8.8" width="2" height="0.4"/>
108
+ </g>
109
+ </g>
110
+ </g>
111
+ </g>
112
+ </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
+ .breathe-anim {
5
+ transform-origin: 7.5px 13px;
6
+ animation: breathe 3.2s infinite ease-in-out;
7
+ }
8
+
9
+ .eyes-read {
10
+ animation: read-code 1.2s infinite;
11
+ }
12
+
13
+ #eyes-js {
14
+ transition: transform 0.2s ease-out;
15
+ }
16
+
17
+ .arm-l-type {
18
+ transform-origin: 3px 10px;
19
+ animation: type-l 0.15s infinite ease-in-out;
20
+ }
21
+ .arm-r-type {
22
+ transform-origin: 12px 10px;
23
+ animation: type-r 0.12s infinite ease-in-out;
24
+ }
25
+
26
+ /* Floating data packets */
27
+ .data-bit {
28
+ opacity: 0;
29
+ animation: float-data 1s infinite linear;
30
+ }
31
+ .d1 { animation-delay: 0.0s; transform-origin: -2px 10px; }
32
+ .d2 { animation-delay: 0.3s; transform-origin: 5px 12px; }
33
+ .d3 { animation-delay: 0.6s; transform-origin: 12px 11px; }
34
+ .d4 { animation-delay: 0.8s; transform-origin: 17px 9px; }
35
+ .d5 { animation-delay: 0.1s; transform-origin: 8px 10px; }
36
+ .d6 { animation-delay: 0.4s; transform-origin: 0px 11px; }
37
+ .d7 { animation-delay: 0.7s; transform-origin: 15px 12px; }
38
+
39
+ @keyframes breathe {
40
+ 0%, 100% { transform: scale(1, 1) translate(0, 0); }
41
+ 50% { transform: scale(1.02, 0.98) translate(0, 0.5px); }
42
+ }
43
+
44
+ @keyframes read-code {
45
+ 0%, 14% { transform: translate(-2px, 0); }
46
+ 15%, 29% { transform: translate(-1.5px, 0); }
47
+ 30%, 44% { transform: translate(-1px, 0); }
48
+ 45%, 59% { transform: translate(-0.5px, 0); }
49
+ 60%, 84% { transform: translate(0px, 0); }
50
+ 85%, 100% { transform: translate(-2px, 0); }
51
+ }
52
+
53
+ @keyframes type-l {
54
+ 0% { transform: rotate(-10deg); }
55
+ 25% { transform: rotate(15deg); }
56
+ 50% { transform: rotate(-5deg); }
57
+ 75% { transform: rotate(10deg); }
58
+ 100% { transform: rotate(-10deg); }
59
+ }
60
+
61
+ @keyframes type-r {
62
+ 0% { transform: rotate(10deg); }
63
+ 25% { transform: rotate(-15deg); }
64
+ 50% { transform: rotate(5deg); }
65
+ 75% { transform: rotate(-10deg); }
66
+ 100% { transform: rotate(10deg); }
67
+ }
68
+
69
+ .logo-glow {
70
+ animation: logo-pulse 1.5s infinite alternate ease-in-out;
71
+ }
72
+
73
+ @keyframes logo-pulse {
74
+ 0% { opacity: 0.4; }
75
+ 100% { opacity: 1; }
76
+ }
77
+
78
+ /* Packets float up and fade */
79
+ @keyframes float-data {
80
+ 0% { transform: translateY(0) scale(0.5); opacity: 0; }
81
+ 20% { opacity: 0.8; }
82
+ 100% { transform: translateY(-15px) scale(1.2); opacity: 0; }
83
+ }
84
+ </style>
85
+
86
+ <!-- A small square to represent data/code -->
87
+ <g id="pixel-packet">
88
+ <rect x="0" y="0" width="1.5" height="1.5" />
89
+ </g>
90
+ </defs>
91
+
92
+ <!-- No shadow (against screen edge, no ground plane) -->
93
+
94
+ <!-- Entire character leaning: rotate -12° around feet base (7.5, 15) -->
95
+ <!-- Negative = counterclockwise = head tilts left toward screen = peeking pose -->
96
+ <g transform="rotate(-12, 7.5, 15)">
97
+
98
+ <!-- Legs (inside rotation group so they tilt with the body) -->
99
+ <g fill="#DE886D">
100
+ <rect x="3" y="11" width="1" height="4"/>
101
+ <rect x="5" y="11" width="1" height="4"/>
102
+ <rect x="9" y="11" width="1" height="4"/>
103
+ <rect x="11" y="11" width="1" height="4"/>
104
+ </g>
105
+
106
+ <!-- Upper Body (JS body-shift preserved for compatibility) -->
107
+ <g id="body-js">
108
+ <g class="breathe-anim">
109
+ <!-- Torso -->
110
+ <rect x="2" y="6" width="11" height="7" fill="#DE886D"/>
111
+
112
+ <!-- Left Arm — typing -->
113
+ <g class="arm-l-type">
114
+ <rect x="0" y="9" width="3" height="2" fill="#DE886D"/>
115
+ </g>
116
+
117
+ <!-- Right Arm — typing -->
118
+ <g class="arm-r-type">
119
+ <rect x="12" y="9" width="3" height="2" fill="#DE886D"/>
120
+ </g>
121
+
122
+ <!-- Eyes: JS translate wrapper + CSS blink -->
123
+ <g id="eyes-js" fill="#000000">
124
+ <g class="eyes-read">
125
+ <rect x="4" y="8" width="1" height="2"/>
126
+ <rect x="10" y="8" width="1" height="2"/>
127
+ </g>
128
+ </g>
129
+ </g>
130
+ </g>
131
+
132
+ <!-- Pixel Laptop (inside rotation group so it leans with Clawd) -->
133
+ <g id="laptop" transform="translate(3, 11)">
134
+ <!-- Laptop Base -->
135
+ <rect x="-0.5" y="4" width="8" height="1" fill="#546E7A" rx="0.5"/>
136
+ <!-- Screen Back -->
137
+ <rect x="0" y="0" width="7" height="4.5" fill="#78909C" rx="0.5"/>
138
+ <!-- Glowing Logo -->
139
+ <circle cx="3.5" cy="2" r="1.2" fill="#40C4FF" opacity="0.2" class="logo-glow"/>
140
+ <rect x="3" y="1.5" width="1" height="1" fill="#FFFFFF" class="logo-glow"/>
141
+ </g>
142
+ </g>
143
+ <!-- Data Particles floating up from behind the laptop -->
144
+ <g class="data-particles" fill="#40C4FF">
145
+ <use href="#pixel-packet" class="data-bit d1" x="-2" y="12" />
146
+ <use href="#pixel-packet" class="data-bit d2" x="5" y="11" />
147
+ <use href="#pixel-packet" class="data-bit d3" x="12" y="13" />
148
+ <use href="#pixel-packet" class="data-bit d4" x="17" y="11" />
149
+ <use href="#pixel-packet" class="data-bit d5" x="8" y="10" />
150
+ <use href="#pixel-packet" class="data-bit d6" x="1" y="11" />
151
+ <use href="#pixel-packet" class="data-bit d7" x="15" y="12" />
152
+ </g>
153
+ </svg>