← back to Nice spinny stuffcompare with ground truth →
model output
Gemini 3 Flash Preview
Nice spinny stuff
A 0.92T 0.19
1<!DOCTYPE html>
2<html lang="en">
3<head>
4 <meta charset="UTF-8">
5 <meta name="viewport" content="width=device-width, initial-scale=1.0">
6 <title>Pulsing Flower Loader</title>
7 <style>
8 body {
9 margin: 0;
10 display: flex;
11 justify-content: center;
12 align-items: center;
13 min-height: 100vh;
14 background-color: #ffffff;
15 }
16
17 .loader {
18 position: relative;
19 width: 100px;
20 height: 100px;
21 /* Positioning relative to the top-left as seen in the video frames */
22 transform: translate(-150px, -150px);
23 }
24
25 .dot {
26 position: absolute;
27 top: 50%;
28 left: 50%;
29 width: 10px;
30 height: 10px;
31 background-color: #f3cbd3; /* Soft pink color from the video */
32 border-radius: 50%;
33 /* Center the dot on its own position */
34 margin-top: -5px;
35 margin-left: -5px;
36
37 /* Apply common animation properties */
38 animation: pulse 2s ease-in-out infinite;
39 }
40
41 /* Create 8 dots arranged in a circle */
42 .dot:nth-child(1) { --angle: 0deg; }
43 .dot:nth-child(2) { --angle: 45deg; }
44 .dot:nth-child(3) { --angle: 90deg; }
45 .dot:nth-child(4) { --angle: 135deg; }
46 .dot:nth-child(5) { --angle: 180deg; }
47 .dot:nth-child(6) { --angle: 225deg; }
48 .dot:nth-child(7) { --angle: 270deg; }
49 .dot:nth-child(8) { --angle: 315deg; }
50
51 @keyframes pulse {
52 /*
53 0.0s - 0.5s: Expansion
54 0.5s - 1.0s: Stay expanded
55 1.0s - 1.5s: Contraction
56 1.5s - 2.0s: Stay contracted
57 */
58 0%, 75%, 100% {
59 /* Contracted state: smaller radius and smaller size */
60 transform: rotate(var(--angle)) translate(16px) scale(0.6);
61 opacity: 0.8;
62 }
63 25%, 50% {
64 /* Expanded state: larger radius and full size */
65 transform: rotate(var(--angle)) translate(32px) scale(1);
66 opacity: 1;
67 }
68 }
69 </style>
70</head>
71<body>
72
73 <div class="loader">
74 <div class="dot"></div>
75 <div class="dot"></div>
76 <div class="dot"></div>
77 <div class="dot"></div>
78 <div class="dot"></div>
79 <div class="dot"></div>
80 <div class="dot"></div>
81 <div class="dot"></div>
82 </div>
83
84</body>
85</html>