animation2code benchmark
For best compatibility, please view this dashboard in a Chrome browser.
← back to Camera following: Step8

model output

Qwen3-VL-8B-Instruct

Camera following: Step8

A 0.53T 0.29
compare with ground truth →
1<!DOCTYPE html>
2<html lang="en">
3<head>
4    <meta charset="UTF-8">
5    <title>Rolling Balls Animation</title>
6    <style>
7        body {
8            margin: 0;
9            padding: 0;
10            background: radial-gradient(circle, #f0f0f0 0%, #ffffff 70%);
11            display: flex;
12            justify-content: center;
13            align-items: center;
14            height: 100vh;
15            overflow: hidden;
16        }
17        .ball {
18            width: 60px;
19            height: 60px;
20            border-radius: 50%;
21            background: radial-gradient(circle, #4a5cf7 0%, #6a84ff 100%);
22            box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
23            position: absolute;
24            transform: translateZ(0);
25            transition: transform 0.5s ease-out;
26            display: flex;
27            justify-content: center;
28            align-items: center;
29            color: white;
30            font-weight: bold;
31            font-size: 24px;
32            z-index: 10;
33        }
34        .ball::before {
35            content: '';
36            position: absolute;
37            width: 100%;
38            height: 100%;
39            border-radius: 50%;
40            background: radial-gradient(circle, rgba(255,255,255,0.3) 0%, rgba(255,255,255,0) 70%);
41            z-index: -1;
42        }
43        .ball:nth-child(1) {
44            left: 30%;
45            top: 50%;
46            animation: roll 3s ease-in-out infinite alternate;
47        }
48        .ball:nth-child(2) {
49            left: 45%;
50            top: 50%;
51            animation: roll 3s ease-in-out infinite alternate;
52            animation-delay: 0.5s;
53        }
54        .ball:nth-child(3) {
55            left: 60%;
56            top: 50%;
57            animation: roll 3s ease-in-out infinite alternate;
58            animation-delay: 1s;
59        }
60        .ball:nth-child(4) {
61            left: 75%;
62            top: 50%;
63            animation: roll 3s ease-in-out infinite alternate;
64            animation-delay: 1.5s;
65        }
66        @keyframes roll {
67            0% {
68                transform: translate(0, 0) rotate(0deg) scale(1);
69            }
70            50% {
71                transform: translate(100px, 0) rotate(180deg) scale(1.1);
72            }
73            100% {
74                transform: translate(200px, 0) rotate(360deg) scale(1);
75            }
76        }
77    </style>
78</head>
79<body>
80    <div class="ball">1</div>
81    <div class="ball">2</div>
82    <div class="ball">3</div>
83    <div class="ball">4</div>
84</body>
85</html>