animation2code benchmark
For best compatibility, please view this dashboard in a Chrome browser.
← back to 4 'counter rotation' effects

model output

Qwen3-VL-8B-Instruct

4 'counter rotation' effects

A 0.60T 0.19
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>Animation</title>
7<style>
8  body {
9    background-color: #121212;
10    display: flex;
11    justify-content: flex-start;
12    align-items: flex-start;
13    padding: 20px;
14    overflow: hidden;
15  }
16  .container {
17    position: relative;
18    width: 100px;
19    height: 100px;
20    margin-top: 100px;
21  }
22  .square {
23    position: absolute;
24    width: 20px;
25    height: 20px;
26    border-radius: 5px;
27    transition: transform 0.5s ease-in-out;
28  }
29  .center {
30    top: 0;
31    left: 0;
32    background-color: white;
33  }
34  .top {
35    top: 0;
36    left: 50%;
37    transform: translateX(-50%);
38    background-color: #e0245e;
39  }
40  .bottom {
41    bottom: 0;
42    left: 50%;
43    transform: translateX(-50%);
44    background-color: #e0245e;
45  }
46  .left {
47    left: 0;
48    top: 50%;
49    transform: translateY(-50%);
50    background-color: #00aaff;
51  }
52  .right {
53    right: 0;
54    top: 50%;
55    transform: translateY(-50%);
56    background-color: #00aaff;
57  }
58  .top-left {
59    top: 0;
60    left: 0;
61    background-color: #00aaff;
62  }
63  .top-right {
64    top: 0;
65    right: 0;
66    background-color: #00aaff;
67  }
68  .bottom-left {
69    bottom: 0;
70    left: 0;
71    background-color: #e0245e;
72  }
73  .bottom-right {
74    bottom: 0;
75    right: 0;
76    background-color: #e0245e;
77  }
78  .animate {
79    animation: pulse 1.5s ease-in-out;
80  }
81  @keyframes pulse {
82    0% {
83      transform: scale(1) rotate(0deg);
84    }
85    50% {
86      transform: scale(1.2) rotate(180deg);
87    }
88    100% {
89      transform: scale(1) rotate(360deg);
90    }
91  }
92</style>
93</head>
94<body>
95  <div class="container">
96    <div class="square center"></div>
97    <div class="square top"></div>
98    <div class="square bottom"></div>
99    <div class="square left"></div>
100    <div class="square right"></div>
101    <div class="square top-left"></div>
102    <div class="square top-right"></div>
103    <div class="square bottom-left"></div>
104    <div class="square bottom-right"></div>
105  </div>
106
107  <script>
108    document.addEventListener('DOMContentLoaded', function() {
109      const container = document.querySelector('.container');
110      const squares = document.querySelectorAll('.square');
111      
112      // Start animation after 0.3 seconds
113      setTimeout(() => {
114        squares.forEach(square => {
115          square.classList.add('animate');
116        });
117      }, 300);
118    });
119  </script>
120</body>
121</html>