animation2code benchmark
For best compatibility, please view this dashboard in a Chrome browser.
← back to Animated Concepts #3

model output

Gemini 3 Flash Preview

Animated Concepts #3

A 0.82T 0.32
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>Square Line Loader</title>
7  <style>
8    /* 
9      Analysis:
10      - Background: Dark charcoal (#1e1e1e)
11      - Color: Salmon / Light Coral (#f28b82)
12      - Shapes: 4 small squares in a vertical line
13      - Motion: A 360-degree rotation that "snaps" or slows down at 45-degree intervals.
14    */
15
16    body {
17      background-color: #1e1e1e;
18      display: flex;
19      justify-content: center;
20      align-items: center;
21      height: 100vh;
22      margin: 0;
23      overflow: hidden;
24    }
25
26    .loader {
27      display: flex;
28      flex-direction: column;
29      /* Gap between the squares */
30      gap: 6px; 
31      /* 
32        The video shows a 1.5s segment where it moves from diagonal to vertical. 
33        A 2s total duration for a full 360-degree cycle with 90-degree 'snaps' 
34        matches the perceived physics of the animation.
35      */
36      animation: spin 2.5s cubic-bezier(0.77, 0, 0.175, 1) infinite;
37    }
38
39    .square {
40      width: 12px;
41      height: 12px;
42      background-color: #f28b82;
43      /* Subtle rounding to match the anti-aliasing in the video */
44      border-radius: 1.5px;
45    }
46
47    @keyframes spin {
48      /* 
49        We use specific degree increments to recreate the "pause" 
50        observed at the diagonal and vertical positions.
51      */
52      0% {
53        transform: rotate(0deg);
54      }
55      25% {
56        transform: rotate(90deg);
57      }
58      50% {
59        transform: rotate(180deg);
60      }
61      75% {
62        transform: rotate(270deg);
63      }
64      100% {
65        transform: rotate(360deg);
66      }
67    }
68  </style>
69</head>
70<body>
71
72  <div class="loader">
73    <div class="square"></div>
74    <div class="square"></div>
75    <div class="square"></div>
76    <div class="square"></div>
77  </div>
78
79</body>
80</html>