From 5b73846a1ed6e4a11146ed5f0f404fd8e9f32a0e Mon Sep 17 00:00:00 2001 From: Baruch Tabanpour Date: Thu, 21 May 2026 10:03:08 -0700 Subject: [PATCH] Upgrade MuJoCo Live loading screen PiperOrigin-RevId: 919112273 Change-Id: I0ffdf908e32d4197e007ebcc2d9f5136b59cf6b3 --- src/experimental/studio/live.css | 79 +++++++++++++++++++++++++++++-- src/experimental/studio/live.html | 28 +++++++++++ 2 files changed, 104 insertions(+), 3 deletions(-) diff --git a/src/experimental/studio/live.css b/src/experimental/studio/live.css index 6c668b27..24cac67a 100644 --- a/src/experimental/studio/live.css +++ b/src/experimental/studio/live.css @@ -4,11 +4,40 @@ left: 0; width: 100%; height: 100%; - background: rgba(0,0,0,0.6); + background: radial-gradient(circle at 50% 50%, #0a0f1c 0%, #020407 100%); z-index: 10000; display: none; align-items: center; justify-content: center; + overflow: hidden; + transition: opacity 0.3s ease; +} +#loadingOverlay::before { + /* 3D Ground Grid */ + content: ''; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background-image: + linear-gradient(rgba(123, 147, 232, 0.035) 1px, transparent 1px), + linear-gradient(90deg, rgba(123, 147, 232, 0.035) 1px, transparent 1px); + background-size: 50px 50px; + background-position: center center; + transform: perspective(500px) rotateX(60deg) scale(2.5); + transform-origin: center center; + opacity: 0.8; + pointer-events: none; + animation: grid-drift 60s linear infinite; +} +@keyframes grid-drift { + 0% { + background-position: center 0; + } + 100% { + background-position: center 1000px; + } } .loading-container { color: #fff; @@ -16,8 +45,52 @@ font-family: sans-serif; text-align: center; } +.loading-visual { + position: relative; + display: flex; + align-items: center; + justify-content: center; + margin-bottom: 20px; +} +.wireframe-cage { + position: absolute; + width: 320px; + height: 320px; + transform-origin: center center; + animation: spin-cage 25s linear infinite; + opacity: 0.65; + z-index: 0; + pointer-events: none; +} +@keyframes spin-cage { + 0% { + transform: rotate(0deg) scale(0.9); + } + 50% { + transform: rotate(180deg) scale(1.04); + } + 100% { + transform: rotate(360deg) scale(0.9); + } +} +.logo-container-svg { + position: relative; + width: 300px; + height: 100px; + display: flex; + align-items: center; + justify-content: center; + z-index: 1; +} +.brand-logo-svg { + width: 100%; + height: auto; +} .loading-title { + font-size: 18px; + margin-top: 120px; /* Push down below the bottom vertices of the rotating cube. */ margin-bottom: 16px; + color: rgba(255, 255, 255, 0.75); } .loading-subtitle { font-size: 14px; @@ -29,10 +102,10 @@ opacity: 0.6; } .loading-download-label { - font-size: 13px; + font-size: 14px; } .loading-download-file { - font-size: 13px; + font-size: 14px; } #dropOverlay { position: fixed; diff --git a/src/experimental/studio/live.html b/src/experimental/studio/live.html index 81714b38..b67756f3 100644 --- a/src/experimental/studio/live.html +++ b/src/experimental/studio/live.html @@ -8,8 +8,36 @@
+
+ + + + + + + + + + + + + + + + +
+ + + + + +
+
+
Loading model…
This may take a moment for large models.
+ +
Downloading asset file