@@ -27,112 +27,138 @@ const BUZZVIL_VALUE_COLORS = {
2727// Buzzvil Design Principles - 3 distinct, smooth animations
2828const BUZZVIL_PRINCIPLE_ANIMATIONS = {
2929 'reward-time' : {
30- // Animation 1: Complex morphing with random-like patterns
30+ // Animation 1: Living, breathing organism with random mutations
3131 color1 : {
3232 animate : {
33- scale : [ 1 , 1.2 , 0.8 , 1.3 , 0.7 , 1.15 , 0.9 , 1.1 , 1 ] ,
34- opacity : [ 1 , 0.6 , 1 , 0.4 , 1 , 0.8 , 0.9 , 0.7 , 1 ] ,
35- rotate : [ 0 , 12 , - 8 , 20 , - 15 , 10 , - 5 , 18 , 0 ] ,
36- x : [ 0 , 2 , - 1 , 3 , - 2 , 1 , - 1 , 2 , 0 ] ,
37- y : [ 0 , - 1 , 2 , - 2 , 1 , - 1 , 2 , - 1 , 0 ] ,
33+ scale : [ 1 , 1.4 , 0.5 , 1.6 , 0.3 , 1.3 , 0.7 , 1.5 , 0.8 , 1.2 , 0.9 , 1.1 , 1 ] ,
34+ opacity : [ 1 , 0.2 , 1 , 0.1 , 1 , 0.6 , 0.8 , 0.3 , 1 , 0.7 , 0.9 , 0.4 , 1 ] ,
35+ rotate : [ 0 , 45 , - 35 , 60 , - 25 , 30 , - 50 , 40 , - 15 , 25 , - 40 , 35 , 0 ] ,
36+ x : [ 0 , 6 , - 4 , 8 , - 5 , 3 , - 6 , 4 , - 2 , 3 , - 4 , 2 , 0 ] ,
37+ y : [ 0 , - 4 , 6 , - 7 , 4 , - 3 , 5 , - 4 , 2 , - 3 , 4 , - 2 , 0 ] ,
38+ skewX : [ 0 , 20 , - 15 , 25 , - 18 , 10 , - 12 , 15 , - 8 , 12 , - 10 , 8 , 0 ] ,
39+ skewY : [ 0 , - 15 , 20 , - 22 , 15 , - 10 , 12 , - 18 , 8 , - 12 , 10 , - 8 , 0 ] ,
40+ scaleX : [ 1 , 1.3 , 0.6 , 1.5 , 0.4 , 1.2 , 0.8 , 1.4 , 0.7 , 1.1 , 0.9 , 1.2 , 1 ] ,
41+ scaleY : [ 1 , 0.7 , 1.4 , 0.5 , 1.6 , 0.8 , 1.3 , 0.6 , 1.2 , 0.9 , 1.1 , 0.8 , 1 ] ,
3842 } ,
3943 transition : {
4044 duration : 8.5 ,
4145 repeat : Infinity ,
4246 ease : "easeInOut" as const ,
43- times : [ 0 , 0.15 , 0.3 , 0.45 , 0.6 , 0.7 , 0.8 , 0.9 , 1 ]
47+ times : [ 0 , 0.08 , 0.16 , 0.24 , 0.32 , 0.4 , 0.48 , 0.56 , 0.64 , 0.72 , 0. 8, 0.88 , 1 ]
4448 }
4549 } ,
4650 color2 : {
4751 animate : {
48- scale : [ 1 , 0.7 , 1.25 , 0.6 , 1.4 , 0.8 , 1.2 , 0.9 , 1 ] ,
49- opacity : [ 1 , 0.8 , 0.3 , 1 , 0.5 , 0.9 , 0.6 , 0.8 , 1 ] ,
50- rotate : [ 0 , - 18 , 15 , - 25 , 12 , - 8 , 22 , - 12 , 0 ] ,
51- x : [ 0 , - 2 , 1 , - 3 , 2 , - 1 , 1 , - 2 , 0 ] ,
52- y : [ 0 , 1 , - 2 , 2 , - 1 , 1 , - 2 , 1 , 0 ] ,
52+ scale : [ 1 , 0.4 , 1.6 , 0.2 , 1.8 , 0.6 , 1.4 , 0.3 , 1.7 , 0.7 , 1.3 , 0.5 , 1 ] ,
53+ opacity : [ 1 , 0.9 , 0.1 , 1 , 0.2 , 0.8 , 0.4 , 1 , 0.3 , 0.9 , 0.5 , 0.8 , 1 ] ,
54+ rotate : [ 0 , - 50 , 40 , - 65 , 30 , - 35 , 55 , - 45 , 20 , - 30 , 45 , - 35 , 0 ] ,
55+ x : [ 0 , - 6 , 4 , - 8 , 5 , - 3 , 6 , - 4 , 2 , - 3 , 4 , - 2 , 0 ] ,
56+ y : [ 0 , 4 , - 6 , 7 , - 4 , 3 , - 5 , 4 , - 2 , 3 , - 4 , 2 , 0 ] ,
57+ skewX : [ 0 , - 20 , 15 , - 25 , 18 , - 10 , 12 , - 15 , 8 , - 12 , 10 , - 8 , 0 ] ,
58+ skewY : [ 0 , 15 , - 20 , 22 , - 15 , 10 , - 12 , 18 , - 8 , 12 , - 10 , 8 , 0 ] ,
59+ scaleX : [ 1 , 0.6 , 1.4 , 0.4 , 1.6 , 0.8 , 1.3 , 0.5 , 1.5 , 0.7 , 1.2 , 0.9 , 1 ] ,
60+ scaleY : [ 1 , 1.4 , 0.6 , 1.6 , 0.4 , 1.2 , 0.8 , 1.5 , 0.7 , 1.1 , 0.9 , 1.3 , 1 ] ,
5361 } ,
5462 transition : {
5563 duration : 7.2 ,
5664 repeat : Infinity ,
5765 ease : "easeOut" as const ,
5866 delay : 1.5 ,
59- times : [ 0 , 0.2 , 0.35 , 0.5 , 0.65 , 0.75 , 0.85 , 0.95 , 1 ]
67+ times : [ 0 , 0.1 , 0.18 , 0.26 , 0.34 , 0.42 , 0. 5, 0.58 , 0.66 , 0.74 , 0.82 , 0.9 , 1 ]
6068 }
6169 }
6270 } ,
6371 'playful' : {
64- // Animation 2: Wild chaotic morphing with extreme randomness
72+ // Animation 2: Chaotic living entity with extreme random mutations
6573 color1 : {
6674 animate : {
67- scale : [ 1 , 1.4 , 0.6 , 1.6 , 0.4 , 1.3 , 0.7 , 1.5 , 0.8 , 1.2 , 1 ] ,
68- rotate : [ 0 , 35 , - 25 , 45 , - 30 , 20 , - 40 , 30 , - 15 , 25 , 0 ] ,
69- opacity : [ 1 , 0.3 , 1 , 0.2 , 1 , 0.6 , 0.8 , 0.4 , 1 , 0.7 , 1 ] ,
70- x : [ 0 , 4 , - 3 , 5 , - 4 , 2 , - 2 , 3 , - 1 , 2 , 0 ] ,
71- y : [ 0 , - 3 , 4 , - 5 , 3 , - 2 , 2 , - 3 , 1 , - 2 , 0 ] ,
72- skewX : [ 0 , 8 , - 6 , 12 , - 8 , 4 , - 4 , 6 , - 2 , 4 , 0 ] ,
73- skewY : [ 0 , - 6 , 8 , - 10 , 6 , - 3 , 3 , - 5 , 2 , - 3 , 0 ] ,
75+ scale : [ 1 , 1.8 , 0.2 , 2.0 , 0.1 , 1.6 , 0.4 , 1.9 , 0.3 , 1.7 , 0.5 , 1.8 , 0.6 , 1.3 , 1 ] ,
76+ rotate : [ 0 , 80 , - 60 , 90 , - 45 , 70 , - 80 , 65 , - 35 , 55 , - 75 , 50 , - 25 , 40 , 0 ] ,
77+ opacity : [ 1 , 0.1 , 1 , 0.05 , 1 , 0.3 , 0.7 , 0.1 , 1 , 0.4 , 0.8 , 0.2 , 1 , 0.6 , 1 ] ,
78+ x : [ 0 , 10 , - 7 , 12 , - 8 , 6 , - 9 , 7 , - 4 , 5 , - 7 , 4 , - 2 , 3 , 0 ] ,
79+ y : [ 0 , - 7 , 10 , - 12 , 8 , - 6 , 9 , - 7 , 4 , - 5 , 7 , - 4 , 2 , - 3 , 0 ] ,
80+ skewX : [ 0 , 30 , - 25 , 35 , - 28 , 15 , - 18 , 25 , - 12 , 18 , - 15 , 12 , - 8 , 10 , 0 ] ,
81+ skewY : [ 0 , - 25 , 30 , - 35 , 28 , - 15 , 18 , - 25 , 12 , - 18 , 15 , - 12 , 8 , - 10 , 0 ] ,
82+ scaleX : [ 1 , 1.6 , 0.3 , 1.8 , 0.2 , 1.4 , 0.5 , 1.7 , 0.4 , 1.5 , 0.6 , 1.6 , 0.7 , 1.2 , 1 ] ,
83+ scaleY : [ 1 , 0.4 , 1.7 , 0.2 , 1.9 , 0.6 , 1.4 , 0.3 , 1.6 , 0.5 , 1.3 , 0.8 , 1.1 , 0.9 , 1 ] ,
84+ rotateX : [ 0 , 25 , - 20 , 30 , - 22 , 15 , - 18 , 20 , - 12 , 16 , - 14 , 10 , - 8 , 6 , 0 ] ,
85+ rotateY : [ 0 , - 20 , 25 , - 30 , 22 , - 15 , 18 , - 20 , 12 , - 16 , 14 , - 10 , 8 , - 6 , 0 ] ,
7486 } ,
7587 transition : {
7688 duration : 4.8 ,
7789 repeat : Infinity ,
7890 ease : "easeOut" as const ,
79- times : [ 0 , 0.1 , 0.2 , 0.3 , 0.4 , 0.5 , 0.6 , 0.7 , 0.8 , 0.9 , 1 ]
91+ times : [ 0 , 0.07 , 0.14 , 0.21 , 0.28 , 0.35 , 0.42 , 0.49 , 0.56 , 0.63 , 0. 7, 0.77 , 0.84 , 0.91 , 1 ]
8092 }
8193 } ,
8294 color2 : {
8395 animate : {
84- scale : [ 1 , 0.5 , 1.5 , 0.3 , 1.7 , 0.6 , 1.4 , 0.4 , 1.6 , 0.8 , 1 ] ,
85- rotate : [ 0 , - 40 , 30 , - 50 , 35 , - 25 , 45 , - 35 , 20 , - 30 , 0 ] ,
86- opacity : [ 1 , 0.7 , 0.2 , 1 , 0.3 , 0.8 , 0.5 , 1 , 0.4 , 0.9 , 1 ] ,
87- x : [ 0 , - 4 , 3 , - 5 , 4 , - 2 , 2 , - 3 , 1 , - 2 , 0 ] ,
88- y : [ 0 , 3 , - 4 , 5 , - 3 , 2 , - 2 , 3 , - 1 , 2 , 0 ] ,
89- skewX : [ 0 , - 8 , 6 , - 12 , 8 , - 4 , 4 , - 6 , 2 , - 4 , 0 ] ,
90- skewY : [ 0 , 6 , - 8 , 10 , - 6 , 3 , - 3 , 5 , - 2 , 3 , 0 ] ,
96+ scale : [ 1 , 0.2 , 1.9 , 0.1 , 2.1 , 0.4 , 1.7 , 0.2 , 1.8 , 0.5 , 1.6 , 0.3 , 1.7 , 0.6 , 1 ] ,
97+ rotate : [ 0 , - 80 , 60 , - 90 , 45 , - 70 , 80 , - 65 , 35 , - 55 , 75 , - 50 , 25 , - 40 , 0 ] ,
98+ opacity : [ 1 , 0.9 , 0.05 , 1 , 0.1 , 0.7 , 0.3 , 1 , 0.2 , 0.8 , 0.4 , 1 , 0.3 , 0.9 , 1 ] ,
99+ x : [ 0 , - 10 , 7 , - 12 , 8 , - 6 , 9 , - 7 , 4 , - 5 , 7 , - 4 , 2 , - 3 , 0 ] ,
100+ y : [ 0 , 7 , - 10 , 12 , - 8 , 6 , - 9 , 7 , - 4 , 5 , - 7 , 4 , - 2 , 3 , 0 ] ,
101+ skewX : [ 0 , - 30 , 25 , - 35 , 28 , - 15 , 18 , - 25 , 12 , - 18 , 15 , - 12 , 8 , - 10 , 0 ] ,
102+ skewY : [ 0 , 25 , - 30 , 35 , - 28 , 15 , - 18 , 25 , - 12 , 18 , - 15 , 12 , - 8 , 10 , 0 ] ,
103+ scaleX : [ 1 , 0.3 , 1.7 , 0.2 , 1.9 , 0.5 , 1.4 , 0.3 , 1.6 , 0.4 , 1.3 , 0.7 , 1.2 , 0.8 , 1 ] ,
104+ scaleY : [ 1 , 1.7 , 0.3 , 1.9 , 0.2 , 1.4 , 0.6 , 1.6 , 0.4 , 1.3 , 0.8 , 1.1 , 0.9 , 1.2 , 1 ] ,
105+ rotateX : [ 0 , - 25 , 20 , - 30 , 22 , - 15 , 18 , - 20 , 12 , - 16 , 14 , - 10 , 8 , - 6 , 0 ] ,
106+ rotateY : [ 0 , 20 , - 25 , 30 , - 22 , 15 , - 18 , 20 , - 12 , 16 , - 14 , 10 , - 8 , 6 , 0 ] ,
91107 } ,
92108 transition : {
93109 duration : 4.0 ,
94110 repeat : Infinity ,
95111 ease : "easeIn" as const ,
96112 delay : 0.8 ,
97- times : [ 0 , 0.12 , 0.22 , 0.32 , 0.42 , 0.52 , 0.62 , 0.72 , 0.82 , 0.92 , 1 ]
113+ times : [ 0 , 0.08 , 0.15 , 0. 22, 0.29 , 0.36 , 0.43 , 0.5 , 0.57 , 0.64 , 0.71 , 0.78 , 0.85 , 0.92 , 1 ]
98114 }
99115 }
100116 } ,
101117 'scalable' : {
102- // Animation 3: Complex morphing with fluid-like transformations
118+ // Animation 3: Living organism with organic growth and random mutations
103119 color1 : {
104120 animate : {
105- scale : [ 1 , 1.3 , 0.7 , 1.5 , 0.5 , 1.4 , 0.8 , 1.2 , 0.9 , 1.1 , 1 ] ,
106- opacity : [ 1 , 0.4 , 1 , 0.3 , 1 , 0.6 , 0.8 , 0.5 , 1 , 0.7 , 1 ] ,
107- rotate : [ 0 , 25 , - 20 , 35 , - 25 , 15 , - 30 , 20 , - 10 , 15 , 0 ] ,
108- x : [ 0 , 3 , - 2 , 4 , - 3 , 1 , - 2 , 2 , - 1 , 1 , 0 ] ,
109- y : [ 0 , - 2 , 3 , - 4 , 2 , - 1 , 2 , - 2 , 1 , - 1 , 0 ] ,
110- skewX : [ 0 , 10 , - 8 , 15 , - 10 , 5 , - 5 , 8 , - 3 , 5 , 0 ] ,
111- skewY : [ 0 , - 8 , 10 , - 12 , 8 , - 4 , 4 , - 6 , 2 , - 4 , 0 ] ,
121+ scale : [ 1 , 1.7 , 0.3 , 1.9 , 0.2 , 1.6 , 0.4 , 1.8 , 0.5 , 1.5 , 0.6 , 1.7 , 0.7 , 1.3 , 0.8 , 1.1 , 1 ] ,
122+ opacity : [ 1 , 0.1 , 1 , 0.05 , 1 , 0.4 , 0.7 , 0.2 , 1 , 0.5 , 0.8 , 0.3 , 1 , 0.6 , 0.9 , 0.4 , 1 ] ,
123+ rotate : [ 0 , 55 , - 40 , 70 , - 30 , 45 , - 60 , 50 , - 25 , 35 , - 55 , 40 , - 20 , 30 , - 45 , 25 , 0 ] ,
124+ x : [ 0 , 7 , - 5 , 9 , - 6 , 4 , - 7 , 5 , - 3 , 4 , - 6 , 3 , - 2 , 3 , - 4 , 2 , 0 ] ,
125+ y : [ 0 , - 5 , 7 , - 9 , 6 , - 4 , 7 , - 5 , 3 , - 4 , 6 , - 3 , 2 , - 3 , 4 , - 2 , 0 ] ,
126+ skewX : [ 0 , 25 , - 20 , 30 , - 22 , 15 , - 18 , 20 , - 12 , 16 , - 18 , 14 , - 10 , 12 , - 15 , 8 , 0 ] ,
127+ skewY : [ 0 , - 20 , 25 , - 30 , 22 , - 15 , 18 , - 20 , 12 , - 16 , 18 , - 14 , 10 , - 12 , 15 , - 8 , 0 ] ,
128+ scaleX : [ 1 , 1.5 , 0.4 , 1.7 , 0.3 , 1.3 , 0.6 , 1.6 , 0.5 , 1.2 , 0.7 , 1.4 , 0.8 , 1.1 , 0.9 , 1.2 , 1 ] ,
129+ scaleY : [ 1 , 0.5 , 1.6 , 0.3 , 1.8 , 0.7 , 1.4 , 0.4 , 1.5 , 0.6 , 1.3 , 0.8 , 1.2 , 0.9 , 1.1 , 0.8 , 1 ] ,
130+ rotateX : [ 0 , 30 , - 25 , 35 , - 28 , 20 , - 22 , 25 , - 15 , 18 , - 20 , 16 , - 12 , 14 , - 16 , 10 , 0 ] ,
131+ rotateY : [ 0 , - 25 , 30 , - 35 , 28 , - 20 , 22 , - 25 , 15 , - 18 , 20 , - 16 , 12 , - 14 , 16 , - 10 , 0 ] ,
132+ rotateZ : [ 0 , 15 , - 12 , 18 , - 14 , 10 , - 11 , 13 , - 8 , 9 , - 10 , 8 , - 6 , 7 , - 8 , 5 , 0 ] ,
112133 } ,
113134 transition : {
114135 duration : 9.2 ,
115136 repeat : Infinity ,
116137 ease : "easeInOut" as const ,
117- times : [ 0 , 0.1 , 0.2 , 0.3 , 0.4 , 0.5 , 0.6 , 0.7 , 0.8 , 0.9 , 1 ]
138+ times : [ 0 , 0.06 , 0.12 , 0.18 , 0.24 , 0. 3, 0.36 , 0.42 , 0.48 , 0.54 , 0. 6, 0.66 , 0.72 , 0.78 , 0.84 , 0.9 , 1 ]
118139 }
119140 } ,
120141 color2 : {
121142 animate : {
122- scale : [ 1 , 0.6 , 1.4 , 0.4 , 1.6 , 0.7 , 1.3 , 0.5 , 1.5 , 0.8 , 1 ] ,
123- opacity : [ 1 , 0.8 , 0.3 , 1 , 0.4 , 0.9 , 0.6 , 1 , 0.5 , 0.8 , 1 ] ,
124- rotate : [ 0 , - 30 , 25 , - 40 , 30 , - 20 , 35 , - 25 , 15 , - 20 , 0 ] ,
125- x : [ 0 , - 3 , 2 , - 4 , 3 , - 1 , 2 , - 2 , 1 , - 1 , 0 ] ,
126- y : [ 0 , 2 , - 3 , 4 , - 2 , 1 , - 2 , 2 , - 1 , 1 , 0 ] ,
127- skewX : [ 0 , - 10 , 8 , - 15 , 10 , - 5 , 5 , - 8 , 3 , - 5 , 0 ] ,
128- skewY : [ 0 , 8 , - 10 , 12 , - 8 , 4 , - 4 , 6 , - 2 , 4 , 0 ] ,
143+ scale : [ 1 , 0.3 , 1.8 , 0.2 , 2.0 , 0.5 , 1.6 , 0.3 , 1.7 , 0.6 , 1.4 , 0.4 , 1.6 , 0.7 , 1.3 , 0.8 , 1 ] ,
144+ opacity : [ 1 , 0.9 , 0.05 , 1 , 0.1 , 0.6 , 0.3 , 1 , 0.2 , 0.7 , 0.4 , 1 , 0.3 , 0.8 , 0.5 , 0.9 , 1 ] ,
145+ rotate : [ 0 , - 55 , 40 , - 70 , 30 , - 45 , 60 , - 50 , 25 , - 35 , 55 , - 40 , 20 , - 30 , 45 , - 25 , 0 ] ,
146+ x : [ 0 , - 7 , 5 , - 9 , 6 , - 4 , 7 , - 5 , 3 , - 4 , 6 , - 3 , 2 , - 3 , 4 , - 2 , 0 ] ,
147+ y : [ 0 , 5 , - 7 , 9 , - 6 , 4 , - 7 , 5 , - 3 , 4 , - 6 , 3 , - 2 , 3 , - 4 , 2 , 0 ] ,
148+ skewX : [ 0 , - 25 , 20 , - 30 , 22 , - 15 , 18 , - 20 , 12 , - 16 , 18 , - 14 , 10 , - 12 , 15 , - 8 , 0 ] ,
149+ skewY : [ 0 , 20 , - 25 , 30 , - 22 , 15 , - 18 , 20 , - 12 , 16 , - 18 , 14 , - 10 , 12 , - 15 , 8 , 0 ] ,
150+ scaleX : [ 1 , 0.4 , 1.6 , 0.3 , 1.8 , 0.6 , 1.3 , 0.4 , 1.5 , 0.5 , 1.2 , 0.7 , 1.1 , 0.8 , 1.0 , 0.9 , 1 ] ,
151+ scaleY : [ 1 , 1.6 , 0.4 , 1.8 , 0.3 , 1.3 , 0.7 , 1.5 , 0.5 , 1.2 , 0.8 , 1.1 , 0.9 , 1.0 , 0.8 , 1.1 , 1 ] ,
152+ rotateX : [ 0 , - 30 , 25 , - 35 , 28 , - 20 , 22 , - 25 , 15 , - 18 , 20 , - 16 , 12 , - 14 , 16 , - 10 , 0 ] ,
153+ rotateY : [ 0 , 25 , - 30 , 35 , - 28 , 20 , - 22 , 25 , - 15 , 18 , - 20 , 16 , - 12 , 14 , - 16 , 10 , 0 ] ,
154+ rotateZ : [ 0 , - 15 , 12 , - 18 , 14 , - 10 , 11 , - 13 , 8 , - 9 , 10 , - 8 , 6 , - 7 , 8 , - 5 , 0 ] ,
129155 } ,
130156 transition : {
131157 duration : 7.5 ,
132158 repeat : Infinity ,
133159 ease : "easeOut" as const ,
134160 delay : 1.8 ,
135- times : [ 0 , 0.15 , 0.25 , 0.35 , 0.45 , 0.55 , 0.65 , 0.75 , 0.85 , 0.95 , 1 ]
161+ times : [ 0 , 0.08 , 0.14 , 0.2 , 0.26 , 0.32 , 0.38 , 0.44 , 0.5 , 0.56 , 0.62 , 0.68 , 0.74 , 0.8 , 0.86 , 0.92 , 1 ]
136162 }
137163 }
138164 } ,
0 commit comments