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

model output

GPT-5.4

4 'counter rotation' effects

A 0.90T 0.22
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>Rotating 3x3 Tile Loader</title>
7<style>
8  :root{
9    --bg:#1f1f1f;
10    --blue:#0b3f63;
11    --magenta:#b0004b;
12    --white:#ffffff;
13    --tile:22px;
14    --gap:6px;
15    --glow:rgba(210,220,235,.42);
16    --dur:1.35s;
17  }
18
19  html,body{
20    margin:0;
21    width:100%;
22    height:100%;
23    background:var(--bg);
24    overflow:hidden;
25    font-family:system-ui,sans-serif;
26  }
27
28  .stage{
29    position:relative;
30    width:100vw;
31    height:100vh;
32    background:var(--bg);
33  }
34
35  .loader{
36    position:absolute;
37    left:142px;
38    top:49px;
39    width:calc(var(--tile) * 3 + var(--gap) * 2);
40    height:calc(var(--tile) * 3 + var(--gap) * 2);
41    display:grid;
42    grid-template-columns:repeat(3,var(--tile));
43    grid-template-rows:repeat(3,var(--tile));
44    gap:var(--gap);
45    transform-origin:50% 50%;
46    animation:wobble var(--dur) ease-in-out infinite;
47    filter:drop-shadow(0 0 3px rgba(255,255,255,.18));
48  }
49
50  .cell{
51    border-radius:6px;
52    box-shadow:
53      0 0 0 1px rgba(255,255,255,.08) inset,
54      0 0 5px var(--glow),
55      0 0 10px rgba(255,255,255,.08);
56  }
57
58  .blue{
59    background:linear-gradient(180deg, #0d4a73 0%, #0a3f63 55%, #083552 100%);
60  }
61
62  .magenta{
63    background:linear-gradient(180deg, #c10056 0%, #b0004b 55%, #8f003d 100%);
64  }
65
66  .white{
67    background:linear-gradient(180deg, #ffffff 0%, #f8f8f8 60%, #ececec 100%);
68    box-shadow:
69      0 0 0 1px rgba(255,255,255,.18) inset,
70      0 0 7px rgba(255,255,255,.65),
71      0 0 14px rgba(255,255,255,.18);
72  }
73
74  @keyframes wobble{
75    0%, 18%   { transform:rotate(0deg) scale(1); }
76    32%, 50%  { transform:rotate(45deg) scale(1); }
77    64%, 82%  { transform:rotate(0deg) scale(1); }
78    100%      { transform:rotate(45deg) scale(1); }
79  }
80</style>
81</head>
82<body>
83  <div class="stage">
84    <div class="loader" aria-label="animated loader">
85      <div class="cell blue"></div>
86      <div class="cell magenta"></div>
87      <div class="cell blue"></div>
88
89      <div class="cell magenta"></div>
90      <div class="cell white"></div>
91      <div class="cell magenta"></div>
92
93      <div class="cell blue"></div>
94      <div class="cell magenta"></div>
95      <div class="cell blue"></div>
96    </div>
97  </div>
98</body>
99</html>