animation2code benchmark
For best compatibility, please view this dashboard in a Chrome browser.
← back to Thinking about SVG-preloaders

model output

Qwen3-VL-8B-Instruct

Thinking about SVG-preloaders

A 0.41T 0.37
compare with ground truth →
1<!DOCTYPE html>
2<html lang="en">
3<head>
4    <meta charset="UTF-8">
5    <title>Circle Animation</title>
6    <style>
7        body {
8            display: flex;
9            justify-content: center;
10            align-items: center;
11            height: 100vh;
12            background: black;
13            margin: 0;
14        }
15        .circle {
16            position: relative;
17            width: 100px;
18            height: 100px;
19        }
20        .circle::before {
21            content: '';
22            position: absolute;
23            top: 0;
24            left: 0;
25            width: 100%;
26            height: 100%;
27            border-radius: 50%;
28            background: linear-gradient(45deg, #ff6b6b, #ffa500, #ff6b6b);
29            animation: rotate 2s linear infinite;
30        }
31        .dot {
32            position: absolute;
33            width: 12px;
34            height: 12px;
35            border-radius: 50%;
36            background: #ff6b6b;
37            transform: translate(-50%, -50%);
38        }
39        .dot:nth-child(1) { animation: pulse 2s ease-in-out infinite; }
40        .dot:nth-child(2) { animation: pulse 2s ease-in-out infinite 0.1s; }
41        .dot:nth-child(3) { animation: pulse 2s ease-in-out infinite 0.2s; }
42        .dot:nth-child(4) { animation: pulse 2s ease-in-out infinite 0.3s; }
43        .dot:nth-child(5) { animation: pulse 2s ease-in-out infinite 0.4s; }
44        .dot:nth-child(6) { animation: pulse 2s ease-in-out infinite 0.5s; }
45        .dot:nth-child(7) { animation: pulse 2s ease-in-out infinite 0.6s; }
46        .dot:nth-child(8) { animation: pulse 2s ease-in-out infinite 0.7s; }
47        .dot:nth-child(9) { animation: pulse 2s ease-in-out infinite 0.8s; }
48        .dot:nth-child(10) { animation: pulse 2s ease-in-out infinite 0.9s; }
49        .dot:nth-child(11) { animation: pulse 2s ease-in-out infinite 1s; }
50        .dot:nth-child(12) { animation: pulse 2s ease-in-out infinite 1.1s; }
51        @keyframes pulse {
52            0%, 100% { transform: translate(-50%, -50%) scale(1); }
53            50% { transform: translate(-50%, -50%) scale(1.2); }
54        }
55        @keyframes rotate {
56            0% { transform: rotate(0deg); }
57            100% { transform: rotate(360deg); }
58        }
59    </style>
60</head>
61<body>
62    <div class="circle">
63        <div class="dot" style="top: 50%; left: 50%;"></div>
64        <div class="dot" style="top: 40%; left: 50%;"></div>
65        <div class="dot" style="top: 30%; left: 50%;"></div>
66        <div class="dot" style="top: 20%; left: 50%;"></div>
67        <div class="dot" style="top: 10%; left: 50%;"></div>
68        <div class="dot" style="top: 0%; left: 50%;"></div>
69        <div class="dot" style="top: 10%; left: 50%;"></div>
70        <div class="dot" style="top: 20%; left: 50%;"></div>
71        <div class="dot" style="top: 30%; left: 50%;"></div>
72        <div class="dot" style="top: 40%; left: 50%;"></div>
73        <div class="dot" style="top: 50%; left: 50%;"></div>
74        <div class="dot" style="top: 60%; left: 50%;"></div>
75    </div>
76</body>
77</html>