← back to Exploring Bourboncompare with ground truth →
model output
Gemini 3 Flash Preview
Exploring Bourbon
A 0.81T 0.25
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>Arch Morph Animation</title>
7 <style>
8 /*
9 Analysis of the video:
10 - Background: A muted brownish-mauve color (#7c6a6a).
11 - Shape: A light lime-green (#c7e48c) arch-like shape.
12 - Movement: The shape morphs its corner radii every 0.5 seconds,
13 alternating between a top-rounded "arch" and a bottom-rounded "cup".
14 - Timing: Approximately a 1-second full cycle (0.5s for each state transition).
15 - Easing: Smooth ease-in-out transition.
16 */
17
18 :root {
19 --bg-color: #7c6a6a;
20 --shape-color: #c7e48c;
21 --animation-speed: 1s;
22 }
23
24 * {
25 box-sizing: border-box;
26 }
27
28 body {
29 margin: 0;
30 padding: 0;
31 display: flex;
32 justify-content: center;
33 align-items: center;
34 height: 100vh;
35 background-color: var(--bg-color);
36 overflow: hidden;
37 }
38
39 .container {
40 position: relative;
41 width: 100px;
42 height: 100px;
43 display: flex;
44 justify-content: center;
45 align-items: center;
46 }
47
48 .morphed-shape {
49 width: 50px;
50 height: 56px;
51 background-color: var(--shape-color);
52 /* Initial state: Rounded top, slightly rounded bottom corners */
53 border-radius: 25px 25px 4px 4px;
54
55 /* Animation handles the border-radius morphing */
56 animation: morphRadius var(--animation-speed) ease-in-out infinite;
57
58 /* Subtle shadow to match the video's depth */
59 box-shadow: inset 0 -2px 4px rgba(0,0,0,0.05);
60 }
61
62 @keyframes morphRadius {
63 0%, 100% {
64 /* Arch Shape (Rounded Top) */
65 border-radius: 25px 25px 4px 4px;
66 transform: scaleY(1);
67 }
68 25% {
69 /* Transition squash effect for more fluid motion */
70 transform: scaleY(0.95);
71 }
72 50% {
73 /* Cup Shape (Rounded Bottom) */
74 border-radius: 4px 4px 25px 25px;
75 transform: scaleY(1);
76 }
77 75% {
78 /* Transition squash effect */
79 transform: scaleY(0.95);
80 }
81 }
82
83 /*
84 Optional: Adding a slight vertical oscillation if the video
85 appears to "jump" slightly during the morph.
86 */
87 @keyframes float {
88 0%, 100% { transform: translateY(0); }
89 50% { transform: translateY(2px); }
90 }
91 </style>
92</head>
93<body>
94
95 <div class="container">
96 <div class="morphed-shape"></div>
97 </div>
98
99 <script>
100 /**
101 * The animation is handled entirely via CSS keyframes for performance
102 * and accuracy relative to the provided timestamps (0.0s, 0.5s, 1.0s).
103 *
104 * CSS border-radius is highly performant for morphing simple geometric
105 * shapes like this.
106 */
107 </script>
108</body>
109</html>