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

model output

GPT-5.4

Animated Concepts #3

A 0.79T 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>Two Dot Loader Recreation</title>
7<style>
8  :root{
9    --bg:#1f1f1f;
10    --dot:#ff7f73;
11    --size:14px;
12    --dist:42px;
13    --dur:1.8s;
14  }
15
16  html,body{
17    margin:0;
18    width:100%;
19    height:100%;
20    background:var(--bg);
21    overflow:hidden;
22  }
23
24  body{
25    display:grid;
26    place-items:center;
27  }
28
29  .loader{
30    position:relative;
31    width:120px;
32    height:120px;
33  }
34
35  .dot{
36    position:absolute;
37    left:50%;
38    top:50%;
39    width:var(--size);
40    height:var(--size);
41    margin-left:calc(var(--size) / -2);
42    margin-top:calc(var(--size) / -2);
43    border-radius:50%;
44    background:radial-gradient(circle at 35% 35%, #ff9a90 0 28%, var(--dot) 55%, #f56f66 100%);
45    box-shadow:0 0 4px rgba(255,127,115,.18);
46    animation:orbit var(--dur) ease-in-out infinite;
47  }
48
49  .dot.b{
50    animation-delay:calc(var(--dur) / -2);
51  }
52
53  @keyframes orbit{
54    0%{
55      transform:translate(-4px,-15px) scale(.42);
56      opacity:.95;
57    }
58    12%{
59      transform:translate(0,-21px) scale(1);
60      opacity:1;
61    }
62    25%{
63      transform:translate(21px,0) scale(1);
64      opacity:1;
65    }
66    37.5%{
67      transform:translate(0,21px) scale(1);
68      opacity:1;
69    }
70    50%{
71      transform:translate(-21px,0) scale(1);
72      opacity:1;
73    }
74    62%{
75      transform:translate(-4px,15px) scale(.42);
76      opacity:.95;
77    }
78    100%{
79      transform:translate(-4px,-15px) scale(.42);
80      opacity:.95;
81    }
82  }
83</style>
84</head>
85<body>
86  <div class="loader" aria-label="loading animation">
87    <div class="dot a"></div>
88    <div class="dot b"></div>
89  </div>
90</body>
91</html>