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

model output

Gemini 3 Flash Preview

4 'counter rotation' effects

A 0.69T 0.36
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>3x3 Grid Spinner</title>
7    <style>
8        /* 
9           Analysis:
10           - Background: Dark gray (#1a1a1a)
11           - Colors: 
12             Red: #a71a30
13             Blue: #163555
14             White: #ffffff
15           - Pattern: 3x3 checkerboard with white center
16           - Animation: 4 second loop. 
17             Every 0.5s the grid transitions between a "compact diamond" and an "expanded grid".
18             The rotation is continuous counter-clockwise.
19        */
20
21        body {
22            background-color: #1a1a1a;
23            margin: 0;
24            display: flex;
25            justify-content: center;
26            align-items: center;
27            height: 100vh;
28            overflow: hidden;
29        }
30
31        .loader {
32            display: grid;
33            grid-template-columns: repeat(3, 18px);
34            grid-template-rows: repeat(3, 18px);
35            /* Centering the grid items within the loader container */
36            justify-content: center;
37            align-content: center;
38            /* Animation timing matches the 4s video loop */
39            animation: loader-spin 4s infinite ease-in-out;
40            /* Prevent the container from shifting by giving it a fixed size large enough for the grid */
41            width: 100px;
42            height: 100px;
43        }
44
45        .cell {
46            width: 18px;
47            height: 18px;
48            border-radius: 4px; /* Matches the rounded corners in the video */
49        }
50
51        /* Pattern mapping to recreate the video's look */
52        .red { background-color: #a71a30; }
53        .blue { background-color: #163555; }
54        .white { background-color: #ffffff; }
55
56        @keyframes loader-spin {
57            /* 
58               The cycle repeats every 0.5s (12.5% of 4s).
59               Grid (rotated 0, 90, 180...) vs Diamond (rotated 45, 135, 225...)
60            */
61            0% { transform: rotate(45deg); gap: 0px; }
62            12.5% { transform: rotate(0deg); gap: 10px; }
63            25% { transform: rotate(-45deg); gap: 0px; }
64            37.5% { transform: rotate(-90deg); gap: 10px; }
65            50% { transform: rotate(-135deg); gap: 0px; }
66            62.5% { transform: rotate(-180deg); gap: 10px; }
67            75% { transform: rotate(-225deg); gap: 0px; }
68            87.5% { transform: rotate(-270deg); gap: 10px; }
69            100% { transform: rotate(-315deg); gap: 0px; }
70        }
71    </style>
72</head>
73<body>
74
75    <div class="loader">
76        <!-- Row 1 -->
77        <div class="cell red"></div>
78        <div class="cell blue"></div>
79        <div class="cell red"></div>
80        
81        <!-- Row 2 -->
82        <div class="cell blue"></div>
83        <div class="cell white"></div>
84        <div class="cell blue"></div>
85        
86        <!-- Row 3 -->
87        <div class="cell red"></div>
88        <div class="cell blue"></div>
89        <div class="cell red"></div>
90    </div>
91
92</body>
93</html>