animation2code benchmark
For best compatibility, please view this dashboard in a Chrome browser.
← back to Loaders (WIP)

model output

Gemini 3 Flash Preview

Loaders (WIP)

A 0.95T 0.26
compare with ground truth →
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>Loading Animation</title>
7    <style>
8        /* 
9           Analysis of the video:
10           - Background Color: #e74c3c (Flat UI Alizarin Red)
11           - Dot Color: White (#ffffff)
12           - Layout: 3 dots centered horizontally, positioned in the upper half.
13           - Animation: A sequential pulse of opacity (0.4 to 1.0) moving left to right.
14           - Timing: Approximately 1.5s for a full sequence loop.
15        */
16
17        * {
18            margin: 0;
19            padding: 0;
20            box-sizing: border-box;
21        }
22
23        body {
24            background-color: #e74c3c;
25            display: flex;
26            justify-content: center;
27            align-items: center;
28            /* In the video, the dots are slightly higher than center, 
29               but standard web implementation centers them perfectly. */
30            height: 100vh;
31            overflow: hidden;
32        }
33
34        .loader {
35            display: flex;
36            gap: 8px; /* Precise spacing between dots */
37            /* Positioning adjustment to match video screenshots higher alignment */
38            transform: translateY(-200px); 
39        }
40
41        .dot {
42            width: 10px;
43            height: 10px;
44            background-color: #ffffff;
45            border-radius: 50%;
46            opacity: 0.3;
47            /* 
48               The animation uses a 1.4s duration. 
49               The ease-in-out timing function creates the soft pulsing look.
50            */
51            animation: pulse 1.4s infinite ease-in-out both;
52        }
53
54        /* 
55           Staggering the delays creates the "wave" effect seen in the video.
56           0.2s increments provide a smooth transition from one dot to the next.
57        */
58        .dot:nth-child(1) {
59            animation-delay: -0.32s;
60        }
61
62        .dot:nth-child(2) {
63            animation-delay: -0.16s;
64        }
65
66        .dot:nth-child(3) {
67            animation-delay: 0s;
68        }
69
70        @keyframes pulse {
71            0%, 80%, 100% {
72                opacity: 0.3;
73                transform: scale(1);
74            }
75            40% {
76                opacity: 1;
77                transform: scale(1.1); /* Slight scale matches the "blooming" feel of the light */
78            }
79        }
80    </style>
81</head>
82<body>
83
84    <div class="loader">
85        <div class="dot"></div>
86        <div class="dot"></div>
87        <div class="dot"></div>
88    </div>
89
90</body>
91</html>