animtex commited on
Commit
6cfc017
·
0 Parent(s):

Publish compiled HF Space artifact

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. .dockerignore +12 -0
  2. .gitattributes +3 -0
  3. Dockerfile +21 -0
  4. README.md +19 -0
  5. app.py +55 -0
  6. assets/examples/case0-preview.mp4 +3 -0
  7. assets/examples/case0.jpg +0 -0
  8. assets/examples/case1-preview.mp4 +3 -0
  9. assets/examples/case1.jpg +0 -0
  10. assets/examples/case2-preview.mp4 +3 -0
  11. assets/examples/case2.jpg +0 -0
  12. assets/examples/case3-preview.mp4 +3 -0
  13. assets/examples/case3.jpg +0 -0
  14. assets/examples/case4-preview.mp4 +3 -0
  15. assets/examples/case4.jpg +0 -0
  16. assets/examples/case5-preview.mp4 +3 -0
  17. assets/examples/case5.jpg +0 -0
  18. assets/runtime/hfspace-fbx-viewer-runtime.html +538 -0
  19. assets/runtime/hfspace-results-runtime.html +776 -0
  20. assets/runtime/robot-motion-viewer-runtime.html +994 -0
  21. assets/system-targets/default-cover.svg +16 -0
  22. assets/system-targets/robot/unitree_g1/cover.svg +19 -0
  23. assets/system-targets/robot/unitree_g1/g1_mocap_29dof.xml +319 -0
  24. assets/system-targets/robot/unitree_g1/meshes/head_link.STL.b64.txt +0 -0
  25. assets/system-targets/robot/unitree_g1/meshes/left_ankle_pitch_link.STL.b64.txt +1 -0
  26. assets/system-targets/robot/unitree_g1/meshes/left_ankle_roll_link.STL.b64.txt +0 -0
  27. assets/system-targets/robot/unitree_g1/meshes/left_elbow_link.STL.b64.txt +0 -0
  28. assets/system-targets/robot/unitree_g1/meshes/left_hip_pitch_link.STL.b64.txt +0 -0
  29. assets/system-targets/robot/unitree_g1/meshes/left_hip_roll_link.STL.b64.txt +0 -0
  30. assets/system-targets/robot/unitree_g1/meshes/left_hip_yaw_link.STL.b64.txt +0 -0
  31. assets/system-targets/robot/unitree_g1/meshes/left_knee_link.STL.b64.txt +0 -0
  32. assets/system-targets/robot/unitree_g1/meshes/left_rubber_hand.STL.b64.txt +0 -0
  33. assets/system-targets/robot/unitree_g1/meshes/left_shoulder_pitch_link.STL.b64.txt +0 -0
  34. assets/system-targets/robot/unitree_g1/meshes/left_shoulder_roll_link.STL.b64.txt +0 -0
  35. assets/system-targets/robot/unitree_g1/meshes/left_shoulder_yaw_link.STL.b64.txt +0 -0
  36. assets/system-targets/robot/unitree_g1/meshes/left_wrist_pitch_link.STL.b64.txt +0 -0
  37. assets/system-targets/robot/unitree_g1/meshes/left_wrist_roll_link.STL.b64.txt +0 -0
  38. assets/system-targets/robot/unitree_g1/meshes/left_wrist_yaw_link.STL.b64.txt +0 -0
  39. assets/system-targets/robot/unitree_g1/meshes/logo_link.STL.b64.txt +0 -0
  40. assets/system-targets/robot/unitree_g1/meshes/pelvis.STL.b64.txt +0 -0
  41. assets/system-targets/robot/unitree_g1/meshes/pelvis_contour_link.STL.b64.txt +0 -0
  42. assets/system-targets/robot/unitree_g1/meshes/right_ankle_pitch_link.STL.b64.txt +1 -0
  43. assets/system-targets/robot/unitree_g1/meshes/right_ankle_roll_link.STL.b64.txt +0 -0
  44. assets/system-targets/robot/unitree_g1/meshes/right_elbow_link.STL.b64.txt +0 -0
  45. assets/system-targets/robot/unitree_g1/meshes/right_hip_pitch_link.STL.b64.txt +0 -0
  46. assets/system-targets/robot/unitree_g1/meshes/right_hip_roll_link.STL.b64.txt +0 -0
  47. assets/system-targets/robot/unitree_g1/meshes/right_hip_yaw_link.STL.b64.txt +0 -0
  48. assets/system-targets/robot/unitree_g1/meshes/right_knee_link.STL.b64.txt +0 -0
  49. assets/system-targets/robot/unitree_g1/meshes/right_rubber_hand.STL.b64.txt +0 -0
  50. assets/system-targets/robot/unitree_g1/meshes/right_shoulder_pitch_link.STL.b64.txt +0 -0
.dockerignore ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .git
2
+ .gitignore
3
+ .gitattributes
4
+ .env
5
+ .env.*
6
+ .hf
7
+ .cache
8
+ .gradio
9
+ .tmp*
10
+ .tmp-venv
11
+ __pycache__
12
+ **/__pycache__
.gitattributes ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ *.mp4 filter=lfs diff=lfs merge=lfs -text
2
+ *.wasm filter=lfs diff=lfs merge=lfs -text
3
+ *.lfs.* filter=lfs diff=lfs merge=lfs -text
Dockerfile ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ FROM python:3.13-slim
2
+
3
+ ENV PYTHONDONTWRITEBYTECODE=1 \
4
+ PYTHONUNBUFFERED=1 \
5
+ PORT=7860 \
6
+ HFSPACE_ALLOW_SOURCE_FALLBACK=0
7
+
8
+ WORKDIR /app
9
+
10
+ RUN apt-get update \
11
+ && apt-get install -y --no-install-recommends ffmpeg \
12
+ && rm -rf /var/lib/apt/lists/*
13
+
14
+ COPY requirements.txt ./
15
+ RUN pip install --no-cache-dir -r requirements.txt
16
+
17
+ COPY . .
18
+
19
+ EXPOSE 7860
20
+
21
+ CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"]
README.md ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ title: AIMoCap
3
+ emoji: 🏃
4
+ colorFrom: blue
5
+ colorTo: indigo
6
+ sdk: docker
7
+ app_port: 7860
8
+ pinned: false
9
+ hf_oauth: true
10
+ short_description: Generate 3d animation from monocular video.
11
+ tags:
12
+ - 3d animation
13
+ - 3d modeling
14
+ - fbx
15
+ ---
16
+
17
+ # AIMoCap
18
+
19
+ AIMoCap is available at https://aimocap.net/
app.py ADDED
@@ -0,0 +1,55 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from __future__ import annotations
2
+
3
+ import importlib.util
4
+ import os
5
+ import sys
6
+ from pathlib import Path
7
+
8
+
9
+ ROOT = Path(__file__).parent
10
+ BUILD_ROOT = ROOT / "build" / "pyc"
11
+ ASSET_ROOT = ROOT / "assets"
12
+ COMPILED_ASSET_ROOT = BUILD_ROOT / "assets"
13
+
14
+ for entry in [str(BUILD_ROOT), str(ROOT)]:
15
+ if entry not in sys.path:
16
+ sys.path.insert(0, entry)
17
+
18
+ if ASSET_ROOT.exists() and not COMPILED_ASSET_ROOT.exists():
19
+ try:
20
+ COMPILED_ASSET_ROOT.parent.mkdir(parents=True, exist_ok=True)
21
+ COMPILED_ASSET_ROOT.symlink_to(ASSET_ROOT, target_is_directory=True)
22
+ except OSError:
23
+ import shutil
24
+
25
+ shutil.copytree(ASSET_ROOT, COMPILED_ASSET_ROOT, dirs_exist_ok=True)
26
+
27
+ compiled = BUILD_ROOT / "space_app_impl.pyc"
28
+ if not compiled.exists():
29
+ raise RuntimeError("Missing compiled HF Space runtime: build/pyc/space_app_impl.pyc")
30
+
31
+ spec = importlib.util.spec_from_file_location("space_app_impl_compiled", compiled)
32
+ if spec is None or spec.loader is None:
33
+ raise RuntimeError("Failed to load compiled HF Space runtime.")
34
+
35
+ module = importlib.util.module_from_spec(spec)
36
+ try:
37
+ spec.loader.exec_module(module)
38
+ except ImportError as exc:
39
+ raise RuntimeError(
40
+ "Failed to load compiled HF Space runtime. "
41
+ "The published .pyc files were likely built with a different Python version or "
42
+ "the runtime dependencies are missing. Rebuild .public-dist with Python 3.13 "
43
+ "and ensure requirements are installed."
44
+ ) from exc
45
+
46
+ app = getattr(module, "app", None)
47
+ demo = getattr(module, "demo", None)
48
+ if app is None:
49
+ raise RuntimeError("Compiled HF Space runtime did not expose 'app'.")
50
+
51
+ if __name__ == "__main__":
52
+ import uvicorn
53
+
54
+ port = int(os.environ.get("PORT", "7860"))
55
+ uvicorn.run(app, host="0.0.0.0", port=port, log_level="info")
assets/examples/case0-preview.mp4 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:00fd669569761ff3a88cf1f27025e941ca5d49f836811328d07735bf4264e13f
3
+ size 282807
assets/examples/case0.jpg ADDED
assets/examples/case1-preview.mp4 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:92be0c66cb1d506c710581d25f0b42e5387e70044eb78f8989f9be14b9156992
3
+ size 2263739
assets/examples/case1.jpg ADDED
assets/examples/case2-preview.mp4 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:2b510c1ffc0c369963ebaef785538979a88bcddc5dd2fb70c5f5de30528e56e9
3
+ size 765552
assets/examples/case2.jpg ADDED
assets/examples/case3-preview.mp4 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e54567806e801f6994975e8a6d02b83f3abe21350c88de94a29127e7ea38911d
3
+ size 1978469
assets/examples/case3.jpg ADDED
assets/examples/case4-preview.mp4 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:fbdd1402d32d6db0b897686c7feeb59d5cab516887a5c22e00f291a6974bc43e
3
+ size 853046
assets/examples/case4.jpg ADDED
assets/examples/case5-preview.mp4 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0a8f4975e8578b3b4a7652e2fef534b717ca78ae9b7ad8e174f7ce5679aa5026
3
+ size 822184
assets/examples/case5.jpg ADDED
assets/runtime/hfspace-fbx-viewer-runtime.html ADDED
@@ -0,0 +1,538 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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" />
6
+ <title>AIMoCap FBX Viewer</title>
7
+ <style>
8
+ html,
9
+ body {
10
+ margin: 0;
11
+ width: 100%;
12
+ height: 100%;
13
+ overflow: hidden;
14
+ background: #040815;
15
+ color: #dbeafe;
16
+ font-family: Arial, sans-serif;
17
+ }
18
+ #app {
19
+ position: relative;
20
+ width: 100%;
21
+ height: 100%;
22
+ background:
23
+ radial-gradient(circle at top, rgba(14, 165, 233, 0.18), transparent 34%),
24
+ radial-gradient(circle at bottom, rgba(56, 189, 248, 0.1), transparent 42%),
25
+ linear-gradient(180deg, #0b1220, #020617 58%);
26
+ }
27
+ #status {
28
+ position: absolute;
29
+ inset: 0;
30
+ display: flex;
31
+ align-items: center;
32
+ justify-content: center;
33
+ padding: 24px;
34
+ color: #cbd5f5;
35
+ text-align: center;
36
+ z-index: 2;
37
+ pointer-events: none;
38
+ }
39
+ #status.is-hidden {
40
+ display: none;
41
+ }
42
+ canvas {
43
+ display: block;
44
+ }
45
+ .legend {
46
+ position: absolute;
47
+ right: 14px;
48
+ bottom: 12px;
49
+ color: rgba(191, 219, 254, 0.74);
50
+ font-size: 11px;
51
+ letter-spacing: 0.04em;
52
+ z-index: 1;
53
+ }
54
+ </style>
55
+ </head>
56
+ <body>
57
+ <div id="app">
58
+ <div id="status">Loading AIMoCap FBX preview...</div>
59
+ <div class="legend">Orbit: drag / Zoom: wheel</div>
60
+ </div>
61
+ <script type="module">
62
+ import * as THREE from "/hf-assets/vendor/three/three.module.js";
63
+ import { OrbitControls } from "/hf-assets/vendor/three/controls/OrbitControls.js";
64
+ import { FBXLoader } from "/hf-assets/vendor/three/loaders/FBXLoader.js";
65
+
66
+ const app = document.getElementById("app");
67
+ const statusEl = document.getElementById("status");
68
+ const initialParams = new URLSearchParams(window.location.search);
69
+ const viewerNonce = initialParams.get("viewerNonce") || "";
70
+
71
+ const renderer = new THREE.WebGLRenderer({ antialias: true, alpha: false });
72
+ renderer.setPixelRatio(window.devicePixelRatio || 1);
73
+ renderer.setSize(app.clientWidth, app.clientHeight);
74
+ renderer.outputColorSpace = THREE.SRGBColorSpace;
75
+ renderer.toneMapping = THREE.ACESFilmicToneMapping;
76
+ renderer.toneMappingExposure = 0.78;
77
+ renderer.shadowMap.enabled = true;
78
+ renderer.shadowMap.type = THREE.PCFSoftShadowMap;
79
+ app.appendChild(renderer.domElement);
80
+
81
+ const scene = new THREE.Scene();
82
+ scene.background = new THREE.Color(0xd8e0ea);
83
+ scene.fog = new THREE.Fog(0xcfd7e2, 9, 24);
84
+
85
+ const camera = new THREE.PerspectiveCamera(36, app.clientWidth / app.clientHeight, 0.05, 1000);
86
+ camera.position.set(2.8, 2.15, 5.8);
87
+
88
+ const controls = new OrbitControls(camera, renderer.domElement);
89
+ controls.enableDamping = true;
90
+ controls.dampingFactor = 0.06;
91
+ controls.target.set(0, 1.05, 0);
92
+ controls.minDistance = 0.35;
93
+ controls.maxDistance = 52;
94
+ controls.maxPolarAngle = Math.PI - 0.06;
95
+ controls.minPolarAngle = 0.06;
96
+
97
+ const ambient = new THREE.AmbientLight(0xffffff, 0.54);
98
+ scene.add(ambient);
99
+ const hemi = new THREE.HemisphereLight(0xe8eef5, 0xa9b4c2, 0.72);
100
+ scene.add(hemi);
101
+
102
+ const key = new THREE.DirectionalLight(0xe7edf5, 0.98);
103
+ key.position.set(3.8, 5.8, 4.6);
104
+ key.castShadow = true;
105
+ key.shadow.mapSize.width = 2048;
106
+ key.shadow.mapSize.height = 2048;
107
+ key.shadow.camera.near = 0.5;
108
+ key.shadow.camera.far = 30;
109
+ key.shadow.bias = -0.00015;
110
+ scene.add(key);
111
+
112
+ const fill = new THREE.DirectionalLight(0x8cb4d9, 0.32);
113
+ fill.position.set(-3.4, 2.8, 4.2);
114
+ scene.add(fill);
115
+
116
+ const rim = new THREE.DirectionalLight(0xc7d6eb, 0.18);
117
+ rim.position.set(-2.8, 4.2, -4.8);
118
+ scene.add(rim);
119
+
120
+ const top = new THREE.PointLight(0xd9e6f4, 0.08, 12);
121
+ top.position.set(0, 2.9, 1.2);
122
+ scene.add(top);
123
+
124
+ const floor = new THREE.Mesh(
125
+ new THREE.CircleGeometry(20, 96),
126
+ new THREE.MeshStandardMaterial({
127
+ color: 0xc4ccd7,
128
+ roughness: 0.95,
129
+ metalness: 0.02,
130
+ transparent: true,
131
+ opacity: 0.98,
132
+ })
133
+ );
134
+ floor.rotation.x = -Math.PI / 2;
135
+ floor.position.y = -0.02;
136
+ floor.receiveShadow = true;
137
+ scene.add(floor);
138
+
139
+ const grid = new THREE.GridHelper(16, 16, 0x2f445f, 0x182433);
140
+ grid.material.opacity = 0.12;
141
+ grid.material.transparent = true;
142
+ scene.add(grid);
143
+
144
+ const shadowCatcher = new THREE.Mesh(
145
+ new THREE.CircleGeometry(1.75, 48),
146
+ new THREE.MeshBasicMaterial({ color: 0x000000, transparent: true, opacity: 0.08, depthWrite: false })
147
+ );
148
+ shadowCatcher.rotation.x = -Math.PI / 2;
149
+ shadowCatcher.position.y = 0.002;
150
+ scene.add(shadowCatcher);
151
+
152
+ const backdrop = new THREE.Mesh(
153
+ new THREE.PlaneGeometry(24, 16),
154
+ new THREE.MeshBasicMaterial({ color: 0xe2e8ef })
155
+ );
156
+ backdrop.position.set(0, 4, -8.5);
157
+ scene.add(backdrop);
158
+
159
+ const videoEl = document.createElement("video");
160
+ videoEl.preload = "metadata";
161
+ videoEl.muted = true;
162
+ videoEl.playsInline = true;
163
+ videoEl.crossOrigin = "anonymous";
164
+ videoEl.style.display = "none";
165
+ document.body.appendChild(videoEl);
166
+
167
+ const loader = new FBXLoader();
168
+ let root = null;
169
+ let mixer = null;
170
+ let clipDuration = 0;
171
+ let currentTime = 0;
172
+ let playing = false;
173
+ let playbackAnchorPerf = performance.now();
174
+ let playbackAnchorTime = 0;
175
+ let loadToken = 0;
176
+ let cameraDistanceScale = 1.72;
177
+ let videoPlane = null;
178
+ let videoTexture = null;
179
+ let videoMaterial = null;
180
+
181
+ function disposeVideoPlane() {
182
+ if (videoPlane) {
183
+ scene.remove(videoPlane);
184
+ videoPlane.geometry?.dispose?.();
185
+ videoPlane = null;
186
+ }
187
+ if (videoMaterial) {
188
+ videoMaterial.dispose?.();
189
+ videoMaterial = null;
190
+ }
191
+ if (videoTexture) {
192
+ videoTexture.dispose?.();
193
+ videoTexture = null;
194
+ }
195
+ videoEl.pause();
196
+ videoEl.removeAttribute("src");
197
+ videoEl.load();
198
+ }
199
+
200
+ function updateVideoPlaneGeometry() {
201
+ if (!videoPlane || !videoEl.videoWidth || !videoEl.videoHeight) {
202
+ return;
203
+ }
204
+ const aspect = videoEl.videoWidth / Math.max(videoEl.videoHeight, 1);
205
+ const width = 1.9;
206
+ const height = width / Math.max(aspect, 0.001);
207
+ const geometry = new THREE.PlaneGeometry(width, height);
208
+ videoPlane.geometry?.dispose?.();
209
+ videoPlane.geometry = geometry;
210
+ videoPlane.position.set(2.1, 1.28, -1.48);
211
+ videoPlane.rotation.y = -0.28;
212
+ }
213
+
214
+ function ensureVideoPlane(videoSrc) {
215
+ disposeVideoPlane();
216
+ if (!videoSrc) {
217
+ return;
218
+ }
219
+ videoTexture = new THREE.VideoTexture(videoEl);
220
+ videoTexture.colorSpace = THREE.SRGBColorSpace;
221
+ videoTexture.minFilter = THREE.LinearFilter;
222
+ videoTexture.magFilter = THREE.LinearFilter;
223
+ videoMaterial = new THREE.MeshBasicMaterial({
224
+ map: videoTexture,
225
+ side: THREE.DoubleSide,
226
+ toneMapped: false,
227
+ });
228
+ videoPlane = new THREE.Mesh(new THREE.PlaneGeometry(1.9, 1.08), videoMaterial);
229
+ videoPlane.position.set(2.1, 1.28, -1.48);
230
+ videoPlane.rotation.y = -0.28;
231
+ scene.add(videoPlane);
232
+ videoEl.src = videoSrc;
233
+ videoEl.load();
234
+ }
235
+
236
+ function syncVideoPlayback() {
237
+ if (!videoEl.src) {
238
+ return;
239
+ }
240
+ if (videoEl.readyState >= 1 && Number.isFinite(currentTime) && Math.abs((videoEl.currentTime || 0) - currentTime) > 0.14) {
241
+ try {
242
+ videoEl.currentTime = currentTime;
243
+ } catch (_error) {
244
+ // no-op
245
+ }
246
+ }
247
+ if (playing) {
248
+ videoEl.play().catch(() => null);
249
+ } else {
250
+ videoEl.pause();
251
+ }
252
+ }
253
+
254
+ videoEl.addEventListener("loadedmetadata", () => {
255
+ updateVideoPlaneGeometry();
256
+ syncVideoPlayback();
257
+ });
258
+
259
+ videoEl.addEventListener("canplay", () => {
260
+ syncVideoPlayback();
261
+ });
262
+
263
+ function postToParent(payload) {
264
+ window.parent.postMessage({ source: "fbx-viewer", viewerNonce, ...payload }, "*");
265
+ }
266
+
267
+ function setStatus(message) {
268
+ if (!message) {
269
+ statusEl.textContent = "";
270
+ statusEl.classList.add("is-hidden");
271
+ postToParent({ type: "status", phase: "ready", message: "FBX preview is ready." });
272
+ return;
273
+ }
274
+ statusEl.textContent = message;
275
+ statusEl.classList.remove("is-hidden");
276
+ postToParent({ type: "status", phase: "loading", message });
277
+ }
278
+
279
+ function getTerminalClipTime(duration) {
280
+ if (!Number.isFinite(duration) || duration <= 0) {
281
+ return 0;
282
+ }
283
+ return Math.max(duration - 1 / 60, 0);
284
+ }
285
+
286
+ function getNormalizedPlaybackTime(time, duration) {
287
+ const safeTime = Number.isFinite(time) ? Math.max(0, time) : 0;
288
+ if (!Number.isFinite(duration) || duration <= 0) {
289
+ return safeTime;
290
+ }
291
+ return Math.min(safeTime, getTerminalClipTime(duration));
292
+ }
293
+
294
+ function applyPlaybackState(time, isPlaying) {
295
+ currentTime = getNormalizedPlaybackTime(Number(time || 0), clipDuration);
296
+ playing = !!isPlaying;
297
+ playbackAnchorTime = currentTime;
298
+ playbackAnchorPerf = performance.now();
299
+ if (mixer) {
300
+ mixer.setTime(currentTime);
301
+ }
302
+ syncVideoPlayback();
303
+ }
304
+
305
+ function clearCurrentModel() {
306
+ if (root) {
307
+ scene.remove(root);
308
+ root.traverse((child) => {
309
+ if (child.geometry?.dispose) {
310
+ child.geometry.dispose();
311
+ }
312
+ if (Array.isArray(child.material)) {
313
+ child.material.forEach((material) => material?.dispose?.());
314
+ } else {
315
+ child.material?.dispose?.();
316
+ }
317
+ });
318
+ }
319
+ root = null;
320
+ mixer = null;
321
+ clipDuration = 0;
322
+ currentTime = 0;
323
+ disposeVideoPlane();
324
+ }
325
+
326
+ function normalizeModelToViewport(object) {
327
+ object.updateMatrixWorld(true);
328
+ const originalBox = new THREE.Box3().setFromObject(object);
329
+ const originalSize = originalBox.getSize(new THREE.Vector3());
330
+ const originalCenter = originalBox.getCenter(new THREE.Vector3());
331
+ const scaleFactor = 1.82 / Math.max(originalSize.y, 0.001);
332
+ object.scale.setScalar(scaleFactor);
333
+ object.position.x = -originalCenter.x * scaleFactor;
334
+ object.position.z = -originalCenter.z * scaleFactor;
335
+ object.position.y = -originalBox.min.y * scaleFactor;
336
+ object.updateMatrixWorld(true);
337
+
338
+ const alignedBox = new THREE.Box3().setFromObject(object);
339
+ floor.position.y = Math.max(-0.02, alignedBox.min.y - 0.01);
340
+ grid.position.y = floor.position.y;
341
+ shadowCatcher.position.y = floor.position.y + 0.002;
342
+ shadowCatcher.scale.set(1.08, 1, 0.78);
343
+ backdrop.position.y = 1.45;
344
+ }
345
+
346
+ function boostMaterial(material) {
347
+ const sourceColor = material?.color ? material.color.clone() : new THREE.Color(0xd4dce6);
348
+ const boostedColor = new THREE.Color(0xc7d2de).lerp(sourceColor, 0.12);
349
+ const upgraded = new THREE.MeshStandardMaterial({
350
+ color: boostedColor,
351
+ map: material?.map || null,
352
+ transparent: !!material?.transparent,
353
+ opacity: material?.opacity ?? 1,
354
+ side: THREE.DoubleSide,
355
+ roughness: material?.map ? 0.72 : 0.62,
356
+ metalness: 0.01,
357
+ emissive: new THREE.Color(0x111722),
358
+ emissiveIntensity: material?.map ? 0.035 : 0.05,
359
+ });
360
+ upgraded.skinning = true;
361
+ upgraded.needsUpdate = true;
362
+ return upgraded;
363
+ }
364
+
365
+ function fitCamera(object, fit = "wider") {
366
+ const box = new THREE.Box3().setFromObject(object);
367
+ const size = box.getSize(new THREE.Vector3());
368
+ const target = new THREE.Vector3(0, box.min.y + size.y * 0.56, 0.06);
369
+ const verticalDistance = size.y / (2 * Math.tan(THREE.MathUtils.degToRad(camera.fov) / 2));
370
+ const horizontalDistance = size.x / (2 * Math.tan(THREE.MathUtils.degToRad(camera.fov) / 2) * camera.aspect);
371
+ cameraDistanceScale = fit === "wide" ? 1.42 : fit === "default" ? 1 : 1.72;
372
+ const distance = Math.max(verticalDistance, horizontalDistance) * 1.02 * cameraDistanceScale;
373
+
374
+ controls.target.copy(target);
375
+ camera.position.set(
376
+ target.x + size.x * 0.07,
377
+ target.y + size.y * 0.02,
378
+ target.z + distance * 1.06
379
+ );
380
+ camera.near = Math.max(0.03, distance / 150);
381
+ camera.far = Math.max(100, distance * 12);
382
+ camera.updateProjectionMatrix();
383
+ controls.minDistance = Math.max(distance * 0.28, 0.35);
384
+ controls.maxDistance = Math.max(distance * 4.2, 10);
385
+ controls.minPolarAngle = 0.04;
386
+ controls.maxPolarAngle = Math.PI - 0.04;
387
+ camera.lookAt(target);
388
+ controls.update();
389
+ }
390
+
391
+ async function loadModel(src, options = {}) {
392
+ const token = ++loadToken;
393
+ setStatus("Loading AIMoCap FBX preview...");
394
+ clearCurrentModel();
395
+ return await new Promise((resolve, reject) => {
396
+ loader.load(
397
+ src,
398
+ (object) => {
399
+ if (token !== loadToken) {
400
+ resolve(false);
401
+ return;
402
+ }
403
+ object.traverse((child) => {
404
+ if (child.isMesh) {
405
+ child.castShadow = true;
406
+ child.receiveShadow = true;
407
+ const materials = Array.isArray(child.material) ? child.material : [child.material];
408
+ child.material = Array.isArray(child.material)
409
+ ? materials.map((material) => boostMaterial(material))
410
+ : boostMaterial(materials[0]);
411
+ }
412
+ });
413
+ root = object;
414
+ scene.add(object);
415
+ if (Array.isArray(object.animations) && object.animations.length > 0) {
416
+ mixer = new THREE.AnimationMixer(object);
417
+ object.animations.forEach((clip) => {
418
+ clipDuration = Math.max(clipDuration, Number(clip?.duration || 0));
419
+ const action = mixer.clipAction(clip);
420
+ action.clampWhenFinished = true;
421
+ action.setLoop(THREE.LoopOnce, 1);
422
+ action.play();
423
+ });
424
+ }
425
+ normalizeModelToViewport(object);
426
+ fitCamera(object, options.cameraFit || "wider");
427
+ ensureVideoPlane(options.videoSrc || "");
428
+ applyPlaybackState(options.time || 0, !!options.autoplay);
429
+ setStatus("");
430
+ postToParent({ type: "ready", duration: clipDuration || 0 });
431
+ resolve(true);
432
+ },
433
+ undefined,
434
+ (error) => {
435
+ if (token !== loadToken) {
436
+ resolve(false);
437
+ return;
438
+ }
439
+ const message = error instanceof Error ? error.message : "Failed to load FBX preview.";
440
+ setStatus("Failed to load FBX preview.");
441
+ postToParent({ type: "error", message });
442
+ reject(error);
443
+ }
444
+ );
445
+ });
446
+ }
447
+
448
+ function readInitialLoadParams() {
449
+ const params = new URLSearchParams(window.location.search);
450
+ const src = params.get("src") || "";
451
+ const videoSrc = params.get("videoSrc") || "";
452
+ const autoplay = params.get("autoplay") === "1";
453
+ const playingParam = params.get("playing");
454
+ const time = Number(params.get("time") || 0);
455
+ const cameraFit = params.get("cameraFit") || "wider";
456
+ return {
457
+ src,
458
+ videoSrc,
459
+ autoplay,
460
+ playing: playingParam === null ? autoplay : playingParam === "1",
461
+ time,
462
+ cameraFit,
463
+ };
464
+ }
465
+
466
+ async function handleLoadMessage(data) {
467
+ if (!data?.src) {
468
+ setStatus("No FBX preview is available for this result yet.");
469
+ return;
470
+ }
471
+ await loadModel(data.src, {
472
+ cameraFit: data.cameraFit || "wider",
473
+ autoplay: !!data.autoplay,
474
+ time: data.time || 0,
475
+ videoSrc: data.videoSrc || "",
476
+ });
477
+ }
478
+
479
+ window.addEventListener("message", async (event) => {
480
+ const data = event?.data;
481
+ if (!data || typeof data !== "object") return;
482
+ if (data.viewerNonce && data.viewerNonce !== viewerNonce) return;
483
+ if (data.type === "fbx-load") {
484
+ try {
485
+ await handleLoadMessage(data);
486
+ } catch {
487
+ return;
488
+ }
489
+ return;
490
+ }
491
+ if (data.type === "fbx-sync") {
492
+ applyPlaybackState(data.time || 0, !!data.playing);
493
+ }
494
+ });
495
+
496
+ const initial = readInitialLoadParams();
497
+ if (initial.src) {
498
+ handleLoadMessage({
499
+ type: "fbx-load",
500
+ src: initial.src,
501
+ videoSrc: initial.videoSrc,
502
+ autoplay: initial.playing,
503
+ time: initial.time,
504
+ cameraFit: initial.cameraFit,
505
+ }).catch(() => null);
506
+ } else {
507
+ setStatus("No FBX preview is available for this result yet.");
508
+ }
509
+
510
+ function render() {
511
+ requestAnimationFrame(render);
512
+ if (mixer) {
513
+ if (playing && clipDuration > 0) {
514
+ currentTime = playbackAnchorTime + (performance.now() - playbackAnchorPerf) / 1000;
515
+ currentTime = getNormalizedPlaybackTime(currentTime, clipDuration);
516
+ if (currentTime >= getTerminalClipTime(clipDuration)) {
517
+ playing = false;
518
+ playbackAnchorTime = getTerminalClipTime(clipDuration);
519
+ }
520
+ }
521
+ mixer.setTime(currentTime);
522
+ }
523
+ controls.update();
524
+ renderer.render(scene, camera);
525
+ }
526
+ render();
527
+ postToParent({ type: "boot" });
528
+
529
+ window.addEventListener("resize", () => {
530
+ const width = app.clientWidth;
531
+ const height = app.clientHeight;
532
+ camera.aspect = width / Math.max(height, 1);
533
+ camera.updateProjectionMatrix();
534
+ renderer.setSize(width, height);
535
+ });
536
+ </script>
537
+ </body>
538
+ </html>
assets/runtime/hfspace-results-runtime.html ADDED
@@ -0,0 +1,776 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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" />
6
+ <title>AIMoCap HF Space Result Viewer</title>
7
+ <style>
8
+ html,
9
+ body {
10
+ margin: 0;
11
+ width: 100%;
12
+ height: 100%;
13
+ overflow: hidden;
14
+ background: linear-gradient(180deg, #f8fafc, #e2e8f0);
15
+ color: #0f172a;
16
+ font-family: Arial, sans-serif;
17
+ }
18
+ #app {
19
+ height: 100%;
20
+ min-height: 100%;
21
+ box-sizing: border-box;
22
+ padding: 14px;
23
+ display: flex;
24
+ flex-direction: column;
25
+ gap: 12px;
26
+ }
27
+ #header {
28
+ display: flex;
29
+ align-items: center;
30
+ justify-content: center;
31
+ }
32
+ #empty {
33
+ flex: 1;
34
+ border: 1px solid #cbd5e1;
35
+ border-radius: 18px;
36
+ background: rgba(255, 255, 255, 0.82);
37
+ display: none;
38
+ align-items: center;
39
+ justify-content: center;
40
+ text-align: center;
41
+ padding: 24px;
42
+ color: #475569;
43
+ }
44
+ #tabs {
45
+ display: flex;
46
+ gap: 8px;
47
+ justify-content: center;
48
+ }
49
+ .tab {
50
+ border: 1px solid #cbd5e1;
51
+ background: #ffffff;
52
+ border-radius: 999px;
53
+ padding: 8px 14px;
54
+ cursor: pointer;
55
+ font-size: 13px;
56
+ color: #0f172a;
57
+ }
58
+ .tab.is-active {
59
+ background: #0f172a;
60
+ color: #f8fafc;
61
+ border-color: #0f172a;
62
+ }
63
+ #footer {
64
+ display: flex;
65
+ align-items: center;
66
+ gap: 14px;
67
+ flex-wrap: wrap;
68
+ }
69
+ #controls {
70
+ display: flex;
71
+ gap: 12px;
72
+ align-items: center;
73
+ padding: 10px 12px;
74
+ border-radius: 14px;
75
+ background: rgba(255, 255, 255, 0.82);
76
+ border: 1px solid rgba(203, 213, 225, 0.95);
77
+ flex: 1;
78
+ }
79
+ #play {
80
+ border: 0;
81
+ border-radius: 999px;
82
+ padding: 8px 14px;
83
+ background: #0f172a;
84
+ color: #f8fafc;
85
+ cursor: pointer;
86
+ min-width: 86px;
87
+ }
88
+ #play:disabled {
89
+ opacity: 0.45;
90
+ cursor: not-allowed;
91
+ }
92
+ #seek {
93
+ flex: 1;
94
+ }
95
+ #time {
96
+ min-width: 104px;
97
+ text-align: right;
98
+ color: #334155;
99
+ font-size: 12px;
100
+ }
101
+ #views {
102
+ flex: 1;
103
+ min-height: 0;
104
+ position: relative;
105
+ min-height: clamp(320px, 58vh, 610px);
106
+ }
107
+ .view {
108
+ position: absolute;
109
+ inset: 0;
110
+ height: 100%;
111
+ opacity: 0;
112
+ visibility: hidden;
113
+ pointer-events: none;
114
+ }
115
+ .view.is-active {
116
+ opacity: 1;
117
+ visibility: visible;
118
+ pointer-events: auto;
119
+ }
120
+ .viewer-shell {
121
+ position: relative;
122
+ height: 100%;
123
+ min-height: 0;
124
+ }
125
+ .viewer-frame {
126
+ width: 100%;
127
+ height: 100%;
128
+ border: 0;
129
+ border-radius: 16px;
130
+ overflow: hidden;
131
+ background: #020617;
132
+ }
133
+ .viewer-fallback {
134
+ position: absolute;
135
+ inset: 0;
136
+ width: 100%;
137
+ height: 100%;
138
+ object-fit: contain;
139
+ background: linear-gradient(180deg, #0f172a, #020617 58%);
140
+ border-radius: 16px;
141
+ display: none;
142
+ }
143
+ .viewer-fallback.is-visible {
144
+ display: block;
145
+ }
146
+ .viewer-overlay {
147
+ position: absolute;
148
+ inset: 0;
149
+ display: none;
150
+ align-items: center;
151
+ justify-content: center;
152
+ padding: 22px;
153
+ border-radius: 16px;
154
+ background: linear-gradient(180deg, rgba(2, 6, 23, 0.76), rgba(15, 23, 42, 0.68));
155
+ color: #e2e8f0;
156
+ text-align: center;
157
+ pointer-events: none;
158
+ font: 600 14px/1.7 Arial, sans-serif;
159
+ }
160
+ .viewer-overlay.is-visible {
161
+ display: flex;
162
+ }
163
+ .viewer-overlay.is-actionable {
164
+ pointer-events: auto;
165
+ }
166
+ .viewer-overlay-content {
167
+ display: flex;
168
+ flex-direction: column;
169
+ align-items: center;
170
+ gap: 12px;
171
+ max-width: 420px;
172
+ }
173
+ .viewer-overlay-action {
174
+ display: none;
175
+ border: 0;
176
+ border-radius: 999px;
177
+ padding: 10px 16px;
178
+ background: #f8fafc;
179
+ color: #0f172a;
180
+ cursor: pointer;
181
+ font: 700 13px/1 Arial, sans-serif;
182
+ }
183
+ .viewer-overlay-action.is-visible {
184
+ display: inline-flex;
185
+ align-items: center;
186
+ justify-content: center;
187
+ }
188
+ #download-action {
189
+ display: inline-flex;
190
+ align-items: center;
191
+ justify-content: center;
192
+ min-width: 180px;
193
+ min-height: 44px;
194
+ padding: 0 16px;
195
+ border-radius: 999px;
196
+ background: #0f172a;
197
+ color: #f8fafc;
198
+ text-decoration: none;
199
+ font: 700 13px/1 Arial, sans-serif;
200
+ white-space: nowrap;
201
+ }
202
+ #download-action.is-hidden {
203
+ visibility: hidden;
204
+ }
205
+ @media (max-width: 768px) {
206
+ html,
207
+ body {
208
+ overflow: auto;
209
+ }
210
+ #app {
211
+ padding: 10px;
212
+ gap: 10px;
213
+ }
214
+ #header {
215
+ justify-content: flex-start;
216
+ }
217
+ #tabs {
218
+ width: 100%;
219
+ justify-content: flex-start;
220
+ overflow-x: auto;
221
+ padding-bottom: 2px;
222
+ }
223
+ #footer {
224
+ flex-direction: column;
225
+ align-items: stretch;
226
+ gap: 10px;
227
+ }
228
+ #controls {
229
+ flex-wrap: wrap;
230
+ padding: 10px;
231
+ }
232
+ #play {
233
+ min-width: 96px;
234
+ }
235
+ #seek {
236
+ order: 3;
237
+ flex: 1 1 100%;
238
+ width: 100%;
239
+ }
240
+ #time {
241
+ min-width: 0;
242
+ margin-left: auto;
243
+ }
244
+ #download-action {
245
+ width: 100%;
246
+ min-width: 0;
247
+ }
248
+ #views {
249
+ min-height: min(42vh, 320px);
250
+ }
251
+ }
252
+ </style>
253
+ </head>
254
+ <body>
255
+ <div id="app">
256
+ <div id="header">
257
+ <div id="tabs"></div>
258
+ </div>
259
+ <video id="clock" style="display:none" preload="metadata" playsinline></video>
260
+ <div id="empty">Waiting for result preview...</div>
261
+ <div id="views"></div>
262
+ <div id="footer">
263
+ <div id="controls">
264
+ <button id="play" type="button" disabled>Play</button>
265
+ <input id="seek" type="range" min="0" max="0" step="0.01" value="0" />
266
+ <div id="time">0.0s / 0.0s</div>
267
+ </div>
268
+ <a id="download-action" class="is-hidden" href="#" target="_blank" rel="noopener noreferrer">Download</a>
269
+ </div>
270
+ </div>
271
+ <script type="module">
272
+ const TARGET_LABELS = {
273
+ default: "Default",
274
+ "robot:unitree_g1": "Unitree G1",
275
+ };
276
+
277
+ function decodePayload() {
278
+ const token = window.location.hash.replace(/^#/, "").trim();
279
+ if (!token) return null;
280
+ const padded = token + "=".repeat((4 - (token.length % 4 || 4)) % 4);
281
+ const json = atob(padded.replace(/-/g, "+").replace(/_/g, "/"));
282
+ return JSON.parse(json);
283
+ }
284
+
285
+ const payload = decodePayload();
286
+ const tabsRoot = document.getElementById("tabs");
287
+ const viewsRoot = document.getElementById("views");
288
+ const emptyRoot = document.getElementById("empty");
289
+ const controlsRoot = document.getElementById("controls");
290
+ const playButton = document.getElementById("play");
291
+ const seek = document.getElementById("seek");
292
+ const timeLabel = document.getElementById("time");
293
+ const clockVideo = document.getElementById("clock");
294
+ const downloadAction = document.getElementById("download-action");
295
+
296
+ if (!payload || !Array.isArray(payload.targetIds) || !payload.targetIds.length) {
297
+ emptyRoot.style.display = "flex";
298
+ tabsRoot.style.display = "none";
299
+ viewsRoot.style.display = "none";
300
+ controlsRoot.style.display = "none";
301
+ throw new Error("Missing HF Space result payload.");
302
+ }
303
+
304
+ const targetIds = payload.targetIds.filter((item) => item && payload.resultsByTarget?.[item]);
305
+ let activeTargetId = targetIds.includes(payload.activeTargetId) ? payload.activeTargetId : targetIds[0];
306
+ const shouldAutoplay = !!payload.autoplay;
307
+ const runtimeNonce = Number(payload.nonce || 0);
308
+ const assetVersion = String(payload.assetVersion || "").trim();
309
+ const frames = {};
310
+ const viewerStates = {};
311
+ const loadTimeouts = {};
312
+ const viewerSessions = {};
313
+ const fallbackLoaded = {};
314
+ let playing = false;
315
+
316
+ const masterTargetId = targetIds.includes("default") ? "default" : targetIds[0];
317
+ const masterVideoUrl = payload.resultsByTarget?.[masterTargetId]?.resultVideoUrl || "";
318
+ if (masterVideoUrl) {
319
+ clockVideo.src = masterVideoUrl;
320
+ }
321
+
322
+ function formatTime(value) {
323
+ const safe = Number.isFinite(value) ? Math.max(0, value) : 0;
324
+ return `${safe.toFixed(1)}s`;
325
+ }
326
+
327
+ function updateTimeLabel() {
328
+ const duration = Number.isFinite(clockVideo.duration) ? clockVideo.duration : 0;
329
+ timeLabel.textContent = `${formatTime(clockVideo.currentTime)} / ${formatTime(duration)}`;
330
+ seek.max = duration > 0 ? String(duration) : "0";
331
+ seek.value = String(clockVideo.currentTime || 0);
332
+ playButton.disabled = !masterVideoUrl;
333
+ }
334
+
335
+ function getDownloadAction(targetId) {
336
+ const result = payload.resultsByTarget?.[targetId] || {};
337
+ if (targetId === "default" && result.resultFbxUrl) {
338
+ return { href: result.downloadFbxUrl || result.resultFbxUrl, label: "Download FBX" };
339
+ }
340
+ if (targetId === "robot:unitree_g1" && result.motionJsonUrl) {
341
+ return { href: result.downloadMotionJsonUrl || result.motionJsonUrl, label: "Download mujoco JSON" };
342
+ }
343
+ return null;
344
+ }
345
+
346
+ function clearLoadTimeout(targetId) {
347
+ if (loadTimeouts[targetId]) {
348
+ window.clearTimeout(loadTimeouts[targetId]);
349
+ delete loadTimeouts[targetId];
350
+ }
351
+ }
352
+
353
+ function shouldShowFallbackVideo(targetId) {
354
+ return targetId === "default" && !!payload.resultsByTarget?.[targetId]?.resultVideoUrl;
355
+ }
356
+
357
+ function formatTargetFailureMessage(targetId, fallbackMessage = "") {
358
+ if (targetId === "robot:unitree_g1") {
359
+ return (viewerStates.default?.phase || "idle") === "active-ready"
360
+ ? "Unitree G1 preview failed. Default result is still available."
361
+ : "Unitree G1 preview failed.";
362
+ }
363
+ const explicit = String(fallbackMessage || "").trim();
364
+ return explicit || `Failed to load ${TARGET_LABELS[targetId] || targetId}.`;
365
+ }
366
+
367
+ function getTimeoutMs(targetId) {
368
+ return targetId === "default" ? 30000 : 60000;
369
+ }
370
+
371
+ function renderViewerState(targetId) {
372
+ const state = viewerStates[targetId];
373
+ viewsRoot.querySelectorAll(".view").forEach((view) => {
374
+ if (view.dataset.targetId !== targetId) return;
375
+ const overlay = view.querySelector(".viewer-overlay");
376
+ const overlayMessage = view.querySelector(".viewer-overlay-message");
377
+ const overlayAction = view.querySelector(".viewer-overlay-action");
378
+ const fallbackVideo = view.querySelector(".viewer-fallback");
379
+ if (!(overlay instanceof HTMLElement)) return;
380
+ if (overlayMessage instanceof HTMLElement) {
381
+ overlayMessage.textContent = state.message || "Loading preview...";
382
+ } else {
383
+ overlay.textContent = state.message || "Loading preview...";
384
+ }
385
+ const showBackToDefault =
386
+ targetId === "robot:unitree_g1" &&
387
+ activeTargetId === targetId &&
388
+ (state.phase === "error" || state.phase === "timeout") &&
389
+ (viewerStates.default?.phase === "active-ready");
390
+ overlay.classList.toggle("is-actionable", showBackToDefault);
391
+ overlay.classList.toggle("is-visible", state.phase !== "active-ready");
392
+ if (overlayAction instanceof HTMLButtonElement) {
393
+ overlayAction.classList.toggle("is-visible", showBackToDefault);
394
+ }
395
+ if (fallbackVideo instanceof HTMLVideoElement) {
396
+ fallbackVideo.classList.toggle("is-visible", !!state.showFallback);
397
+ }
398
+ });
399
+ }
400
+
401
+ function emitAggregateStatus() {
402
+ const phasesByTarget = {};
403
+ targetIds.forEach((targetId) => {
404
+ phasesByTarget[targetId] = viewerStates[targetId]?.phase || "idle";
405
+ });
406
+ const activePhase = viewerStates[activeTargetId]?.phase || "idle";
407
+ const activeMessage = viewerStates[activeTargetId]?.message || "";
408
+ const activeReady = activePhase === "active-ready";
409
+ const defaultReady = (viewerStates.default?.phase || "idle") === "active-ready";
410
+ const defaultAvailable = !!payload.resultsByTarget?.default;
411
+ const failedTargets = targetIds.filter((targetId) => {
412
+ const phase = viewerStates[targetId]?.phase || "idle";
413
+ return phase === "timeout" || phase === "error";
414
+ });
415
+ const allReady = targetIds.every((targetId) => {
416
+ const phase = viewerStates[targetId]?.phase || "idle";
417
+ return phase === "idle" || phase === "active-ready";
418
+ });
419
+ const anyTimeout = targetIds.some((targetId) => viewerStates[targetId]?.phase === "timeout");
420
+ const anyError = targetIds.some((targetId) => viewerStates[targetId]?.phase === "error");
421
+ window.parent.postMessage(
422
+ {
423
+ source: "hfspace-results-runtime",
424
+ type: "aggregate-status",
425
+ nonce: runtimeNonce,
426
+ targetIds,
427
+ activeTargetId,
428
+ phasesByTarget,
429
+ activePhase,
430
+ activeMessage,
431
+ activeError: activePhase === "timeout" || activePhase === "error",
432
+ activeTargetFailed: activePhase === "timeout" || activePhase === "error",
433
+ activeReady,
434
+ defaultReady,
435
+ defaultAvailable,
436
+ failedTargets,
437
+ allReady,
438
+ anyTimeout,
439
+ anyError,
440
+ },
441
+ "*"
442
+ );
443
+ }
444
+
445
+ function setViewerState(targetId, nextState) {
446
+ const previous = viewerStates[targetId] || {};
447
+ viewerStates[targetId] = {
448
+ phase: "runtime-loading",
449
+ message: `Loading ${TARGET_LABELS[targetId] || targetId} viewer`,
450
+ showFallback: false,
451
+ ...previous,
452
+ ...(nextState || {}),
453
+ };
454
+ if (
455
+ viewerStates[targetId].phase === "active-ready" ||
456
+ viewerStates[targetId].phase === "error" ||
457
+ viewerStates[targetId].phase === "timeout"
458
+ ) {
459
+ clearLoadTimeout(targetId);
460
+ }
461
+ renderViewerState(targetId);
462
+ emitAggregateStatus();
463
+ }
464
+
465
+ function buildChildViewerUrl(targetId) {
466
+ const basePath =
467
+ targetId === "default"
468
+ ? "/hf-assets/runtime/hfspace-fbx-viewer-runtime.html"
469
+ : "/hf-assets/runtime/robot-motion-viewer-runtime.html";
470
+ const params = new URLSearchParams();
471
+ params.set("viewerNonce", viewerSessions[targetId]);
472
+ params.set("targetId", targetId);
473
+ if (assetVersion) {
474
+ params.set("v", assetVersion);
475
+ }
476
+ return `${basePath}?${params.toString()}`;
477
+ }
478
+
479
+ function ensureFallbackVideoLoaded(targetId) {
480
+ if (fallbackLoaded[targetId]) return;
481
+ const fallbackVideo = viewsRoot.querySelector(`.view[data-target-id="${targetId}"] .viewer-fallback`);
482
+ if (!(fallbackVideo instanceof HTMLVideoElement)) return;
483
+ const result = payload.resultsByTarget?.[targetId];
484
+ if (!result?.resultVideoUrl) return;
485
+ fallbackVideo.src = result.resultVideoUrl;
486
+ fallbackLoaded[targetId] = true;
487
+ }
488
+
489
+ function armLoadTimeout(targetId) {
490
+ clearLoadTimeout(targetId);
491
+ loadTimeouts[targetId] = window.setTimeout(() => {
492
+ const state = viewerStates[targetId];
493
+ const hasFallback = shouldShowFallbackVideo(targetId);
494
+ if (!state || !["runtime-loading", "child-boot", "child-loading"].includes(state.phase)) return;
495
+ setViewerState(targetId, {
496
+ phase: "timeout",
497
+ message:
498
+ targetId === "default"
499
+ ? "Default viewer is taking longer than expected. Downloads stay available below."
500
+ : (viewerStates.default?.phase || "idle") === "active-ready"
501
+ ? "Unitree G1 viewer is taking longer than expected. Default result is still available below."
502
+ : "Unitree G1 viewer is taking longer than expected. Motion JSON stays available below.",
503
+ showFallback: hasFallback,
504
+ });
505
+ }, getTimeoutMs(targetId));
506
+ }
507
+
508
+ function postLoad(targetId) {
509
+ const frame = frames[targetId];
510
+ const result = payload.resultsByTarget?.[targetId];
511
+ if (!frame?.contentWindow || !result) return;
512
+ if (targetId === "default" && result.resultFbxUrl) {
513
+ frame.contentWindow.postMessage(
514
+ {
515
+ type: "fbx-load",
516
+ src: result.resultFbxUrl,
517
+ videoSrc: result.resultVideoUrl || "",
518
+ autoplay: false,
519
+ time: clockVideo.currentTime || 0,
520
+ cameraFit: "wider",
521
+ viewerNonce: viewerSessions[targetId],
522
+ },
523
+ "*"
524
+ );
525
+ } else if (targetId === "robot:unitree_g1" && result.motionJsonUrl) {
526
+ frame.contentWindow.postMessage(
527
+ {
528
+ type: "robot-load",
529
+ src: result.motionJsonUrl,
530
+ videoSrc: result.resultVideoUrl || "",
531
+ modelSrc: `/hf-assets/system-targets/robot/unitree_g1/meta.json`,
532
+ viewerNonce: viewerSessions[targetId],
533
+ },
534
+ "*"
535
+ );
536
+ }
537
+ }
538
+
539
+ function syncViewers() {
540
+ const time = Number(clockVideo.currentTime || 0);
541
+ Object.entries(frames).forEach(([targetId, frame]) => {
542
+ if (!frame?.contentWindow || !payload.resultsByTarget?.[targetId]) return;
543
+ frame.contentWindow.postMessage(
544
+ {
545
+ type: targetId === "default" ? "fbx-sync" : "robot-sync",
546
+ time,
547
+ playing,
548
+ viewerNonce: viewerSessions[targetId],
549
+ },
550
+ "*"
551
+ );
552
+ });
553
+ }
554
+
555
+ function mountViewerFrame(targetId) {
556
+ if (frames[targetId]) return;
557
+ const view = viewsRoot.querySelector(`.view[data-target-id="${targetId}"]`);
558
+ const shell = view?.querySelector(".viewer-shell");
559
+ const overlay = view?.querySelector(".viewer-overlay");
560
+ if (!(shell instanceof HTMLElement)) return;
561
+
562
+ const iframe = document.createElement("iframe");
563
+ iframe.className = "viewer-frame";
564
+ iframe.loading = "eager";
565
+ iframe.referrerPolicy = "no-referrer";
566
+ viewerSessions[targetId] = `${runtimeNonce}:${targetId}:${Date.now().toString(36)}:${Math.random().toString(36).slice(2, 8)}`;
567
+ iframe.src = buildChildViewerUrl(targetId);
568
+ iframe.addEventListener("load", () => {
569
+ setViewerState(targetId, {
570
+ phase: "child-boot",
571
+ message: `Connecting ${TARGET_LABELS[targetId] || targetId} viewer`,
572
+ showFallback: false,
573
+ });
574
+ armLoadTimeout(targetId);
575
+ });
576
+ frames[targetId] = iframe;
577
+ shell.insertBefore(iframe, overlay || null);
578
+ setViewerState(targetId, {
579
+ phase: "runtime-loading",
580
+ message: `Loading ${TARGET_LABELS[targetId] || targetId} viewer`,
581
+ showFallback: false,
582
+ });
583
+ }
584
+
585
+ function setActiveTarget(targetId) {
586
+ activeTargetId = targetId;
587
+ tabsRoot.querySelectorAll(".tab").forEach((button) => {
588
+ button.classList.toggle("is-active", button.dataset.targetId === targetId);
589
+ });
590
+ viewsRoot.querySelectorAll(".view").forEach((view) => {
591
+ view.classList.toggle("is-active", view.dataset.targetId === targetId);
592
+ });
593
+ const action = getDownloadAction(targetId);
594
+ if (downloadAction) {
595
+ if (action) {
596
+ downloadAction.href = action.href;
597
+ downloadAction.textContent = action.label;
598
+ downloadAction.classList.remove("is-hidden");
599
+ } else {
600
+ downloadAction.href = "#";
601
+ downloadAction.textContent = "Download";
602
+ downloadAction.classList.add("is-hidden");
603
+ }
604
+ }
605
+ ensureFallbackVideoLoaded(targetId);
606
+ mountViewerFrame(targetId);
607
+ renderViewerState(targetId);
608
+ syncViewers();
609
+ }
610
+
611
+ window.addEventListener("message", (event) => {
612
+ const data = event.data || {};
613
+ if (!data?.source) return;
614
+ const source = Object.entries(frames).find(([, frame]) => frame?.contentWindow === event.source)?.[0] || "";
615
+ if (!source) return;
616
+ if (String(data.viewerNonce || "") !== String(viewerSessions[source] || "")) {
617
+ return;
618
+ }
619
+ if (data.type === "error") {
620
+ setViewerState(source, {
621
+ phase: "error",
622
+ message: formatTargetFailureMessage(source, data.message || ""),
623
+ showFallback: shouldShowFallbackVideo(source),
624
+ });
625
+ return;
626
+ }
627
+ if (data.type === "boot") {
628
+ setViewerState(source, {
629
+ phase: "child-loading",
630
+ message: `Loading ${TARGET_LABELS[source] || source} viewer`,
631
+ showFallback: false,
632
+ });
633
+ postLoad(source);
634
+ syncViewers();
635
+ return;
636
+ }
637
+ if (data.type === "ready" || data.type === "model-ready") {
638
+ setViewerState(source, {
639
+ phase: "active-ready",
640
+ message: `${TARGET_LABELS[source] || source} preview is ready.`,
641
+ showFallback: false,
642
+ });
643
+ return;
644
+ }
645
+ if (data.type === "status") {
646
+ const incomingPhase = String(data.phase || "loading");
647
+ const phase = incomingPhase === "ready" ? "active-ready" : incomingPhase === "boot" ? "child-boot" : "child-loading";
648
+ const message =
649
+ String(data.message || "").trim() ||
650
+ (phase === "active-ready"
651
+ ? `${TARGET_LABELS[source] || source} preview is ready.`
652
+ : `Loading ${TARGET_LABELS[source] || source} viewer`);
653
+ setViewerState(source, {
654
+ phase,
655
+ message,
656
+ showFallback: (phase === "timeout" || phase === "error") && shouldShowFallbackVideo(source),
657
+ });
658
+ }
659
+ });
660
+
661
+ targetIds.forEach((targetId) => {
662
+ const result = payload.resultsByTarget[targetId];
663
+
664
+ const tab = document.createElement("button");
665
+ tab.type = "button";
666
+ tab.dataset.targetId = targetId;
667
+ tab.className = `tab${targetId === activeTargetId ? " is-active" : ""}`;
668
+ tab.textContent = TARGET_LABELS[targetId] || targetId;
669
+ tab.addEventListener("click", () => setActiveTarget(targetId));
670
+ tabsRoot.appendChild(tab);
671
+
672
+ const view = document.createElement("div");
673
+ view.className = `view${targetId === activeTargetId ? " is-active" : ""}`;
674
+ view.dataset.targetId = targetId;
675
+
676
+ const shell = document.createElement("div");
677
+ shell.className = "viewer-shell";
678
+
679
+ const fallbackVideo = document.createElement("video");
680
+ fallbackVideo.className = "viewer-fallback";
681
+ fallbackVideo.preload = "metadata";
682
+ fallbackVideo.playsInline = true;
683
+ fallbackVideo.muted = true;
684
+ fallbackVideo.controls = true;
685
+
686
+ const overlay = document.createElement("div");
687
+ overlay.className = "viewer-overlay is-visible";
688
+ const overlayContent = document.createElement("div");
689
+ overlayContent.className = "viewer-overlay-content";
690
+ const overlayMessage = document.createElement("div");
691
+ overlayMessage.className = "viewer-overlay-message";
692
+ overlayMessage.textContent =
693
+ targetId === activeTargetId
694
+ ? `Loading ${TARGET_LABELS[targetId] || targetId} viewer`
695
+ : "Select this result to load the preview.";
696
+ const overlayAction = document.createElement("button");
697
+ overlayAction.type = "button";
698
+ overlayAction.className = "viewer-overlay-action";
699
+ overlayAction.textContent = "Back to Default";
700
+ overlayAction.addEventListener("click", () => setActiveTarget("default"));
701
+ overlayContent.appendChild(overlayMessage);
702
+ overlayContent.appendChild(overlayAction);
703
+ overlay.appendChild(overlayContent);
704
+
705
+ shell.appendChild(fallbackVideo);
706
+ shell.appendChild(overlay);
707
+ view.appendChild(shell);
708
+ viewsRoot.appendChild(view);
709
+
710
+ setViewerState(targetId, {
711
+ phase: targetId === activeTargetId ? "runtime-loading" : "idle",
712
+ message:
713
+ targetId === activeTargetId
714
+ ? `Loading ${TARGET_LABELS[targetId] || targetId} viewer`
715
+ : "Select this result to load the preview.",
716
+ showFallback: false,
717
+ });
718
+ });
719
+
720
+ playButton.addEventListener("click", async () => {
721
+ if (!clockVideo.src) return;
722
+ if (clockVideo.paused) {
723
+ try {
724
+ await clockVideo.play();
725
+ } catch (_error) {
726
+ return;
727
+ }
728
+ } else {
729
+ clockVideo.pause();
730
+ }
731
+ });
732
+
733
+ seek.addEventListener("input", () => {
734
+ const nextTime = Number(seek.value || 0);
735
+ if (Number.isFinite(nextTime)) {
736
+ clockVideo.currentTime = nextTime;
737
+ updateTimeLabel();
738
+ syncViewers();
739
+ }
740
+ });
741
+
742
+ clockVideo.addEventListener("loadedmetadata", updateTimeLabel);
743
+ clockVideo.addEventListener("canplay", () => {
744
+ updateTimeLabel();
745
+ if (shouldAutoplay && clockVideo.paused) {
746
+ clockVideo.play().catch(() => null);
747
+ }
748
+ });
749
+ clockVideo.addEventListener("timeupdate", () => {
750
+ updateTimeLabel();
751
+ syncViewers();
752
+ });
753
+ clockVideo.addEventListener("play", () => {
754
+ playing = true;
755
+ playButton.textContent = "Pause";
756
+ syncViewers();
757
+ });
758
+ clockVideo.addEventListener("pause", () => {
759
+ playing = false;
760
+ playButton.textContent = "Play";
761
+ syncViewers();
762
+ });
763
+ clockVideo.addEventListener("ended", () => {
764
+ playing = false;
765
+ playButton.textContent = "Play";
766
+ syncViewers();
767
+ });
768
+
769
+ updateTimeLabel();
770
+ if (!masterVideoUrl) {
771
+ playButton.disabled = true;
772
+ }
773
+ setActiveTarget(activeTargetId);
774
+ </script>
775
+ </body>
776
+ </html>
assets/runtime/robot-motion-viewer-runtime.html ADDED
@@ -0,0 +1,994 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!doctype html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <style>
6
+ html, body { margin: 0; width: 100%; height: 100%; overflow: hidden; }
7
+ body { background: #d8e0ea; color: #d9edf7; font: 13px/1.4 Inter, sans-serif; }
8
+ #app { width: 100%; height: 100%; position: relative; }
9
+ #debug-status {
10
+ display: none;
11
+ position: absolute;
12
+ left: 12px;
13
+ top: 12px;
14
+ z-index: 20;
15
+ max-width: 420px;
16
+ padding: 8px 10px;
17
+ border-radius: 10px;
18
+ background: rgba(240, 245, 250, 0.84);
19
+ color: #334155;
20
+ font: 12px/1.4 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
21
+ white-space: pre-wrap;
22
+ pointer-events: none;
23
+ }
24
+ canvas { display: block; }
25
+ </style>
26
+ </head>
27
+ <body>
28
+ <div id="app"></div>
29
+ <div id="debug-status">boot: script tag loaded</div>
30
+ <script type="module">
31
+ let activeLoadToken = 0;
32
+ const debugStatus = document.getElementById('debug-status');
33
+ const initialParams = new URLSearchParams(window.location.search);
34
+ const viewerNonce = initialParams.get('viewerNonce') || '';
35
+ const assetVersion = initialParams.get('v') || '';
36
+
37
+ function setDebugStatus(message) {
38
+ if (debugStatus) {
39
+ debugStatus.textContent = message;
40
+ }
41
+ }
42
+
43
+ function post(type, payload = {}) {
44
+ window.parent.postMessage({ source: 'robot-motion-viewer', viewerNonce, type, ...payload }, '*');
45
+ }
46
+
47
+ function withAssetVersion(url) {
48
+ const raw = String(url || '').trim();
49
+ if (!raw || !assetVersion) return raw;
50
+ try {
51
+ const resolved = new URL(raw, window.location.origin);
52
+ resolved.searchParams.set('v', assetVersion);
53
+ if (resolved.origin === window.location.origin) {
54
+ return resolved.pathname + resolved.search + resolved.hash;
55
+ }
56
+ return resolved.toString();
57
+ } catch {
58
+ return raw;
59
+ }
60
+ }
61
+
62
+ window.addEventListener('message', (event) => {
63
+ const payload = event.data || {};
64
+ if (payload.viewerNonce && payload.viewerNonce !== viewerNonce) {
65
+ return;
66
+ }
67
+ if (payload.type === 'robot-ping') {
68
+ setDebugStatus('boot: ping received');
69
+ post('boot');
70
+ }
71
+ });
72
+
73
+ window.addEventListener('error', (event) => {
74
+ const message = event?.error?.message || event?.message || 'Unknown robot viewer error';
75
+ setDebugStatus('error: ' + message);
76
+ post('error', { message });
77
+ });
78
+
79
+ window.addEventListener('unhandledrejection', (event) => {
80
+ const reason = event?.reason;
81
+ const message =
82
+ reason instanceof Error
83
+ ? reason.message
84
+ : typeof reason === 'string'
85
+ ? reason
86
+ : JSON.stringify(reason || 'Unknown rejection');
87
+ setDebugStatus('rejection: ' + message);
88
+ post('error', { message });
89
+ });
90
+
91
+ setDebugStatus('boot: importing three');
92
+ const THREE = await import('/hf-assets/vendor/three/three.module.js');
93
+ setDebugStatus('boot: importing orbit controls');
94
+ const { OrbitControls } = await import('/hf-assets/vendor/three/controls/OrbitControls.js');
95
+ setDebugStatus('boot: importing STL loader');
96
+ const { STLLoader } = await import('/hf-assets/vendor/three/loaders/STLLoader.js');
97
+ setDebugStatus('boot: importing mujoco');
98
+ const { default: loadMujoco } = await import('/hf-assets/vendor/mujoco/mujoco.js');
99
+ setDebugStatus('boot: runtime imports ready');
100
+
101
+ const root = document.getElementById('app');
102
+ const renderer = new THREE.WebGLRenderer({ antialias: true, alpha: false });
103
+ renderer.setPixelRatio(window.devicePixelRatio || 1);
104
+ renderer.setSize(root.clientWidth, root.clientHeight);
105
+ renderer.outputColorSpace = THREE.SRGBColorSpace;
106
+ renderer.toneMapping = THREE.ACESFilmicToneMapping;
107
+ renderer.toneMappingExposure = 0.92;
108
+ renderer.shadowMap.enabled = true;
109
+ renderer.shadowMap.type = THREE.PCFSoftShadowMap;
110
+ renderer.domElement.style.opacity = '0';
111
+ renderer.domElement.style.transition = 'opacity 180ms ease';
112
+ root.appendChild(renderer.domElement);
113
+
114
+ const scene = new THREE.Scene();
115
+ scene.background = new THREE.Color(0xd8e0ea);
116
+ scene.fog = new THREE.Fog(0xcfd7e2, 9, 24);
117
+
118
+ const camera = new THREE.PerspectiveCamera(34, root.clientWidth / root.clientHeight, 0.05, 1000);
119
+ camera.position.set(2.4, 1.5, 3.8);
120
+
121
+ const controls = new OrbitControls(camera, renderer.domElement);
122
+ controls.enableDamping = true;
123
+ controls.dampingFactor = 0.07;
124
+ controls.target.set(0, 0.9, 0);
125
+ controls.minDistance = 0.7;
126
+ controls.maxDistance = 12;
127
+ controls.maxPolarAngle = Math.PI - 0.08;
128
+ controls.minPolarAngle = 0.08;
129
+
130
+ scene.add(new THREE.AmbientLight(0xffffff, 0.54));
131
+ const hemi = new THREE.HemisphereLight(0xe8eff7, 0xb3bfce, 0.66);
132
+ scene.add(hemi);
133
+
134
+ const key = new THREE.DirectionalLight(0xe7edf5, 1.15);
135
+ key.position.set(3.8, 5.8, 4.6);
136
+ key.castShadow = true;
137
+ key.shadow.mapSize.set(2048, 2048);
138
+ key.shadow.camera.near = 0.5;
139
+ key.shadow.camera.far = 30;
140
+ key.shadow.bias = -0.00015;
141
+ scene.add(key);
142
+
143
+ const fill = new THREE.DirectionalLight(0x8cb4d9, 0.34);
144
+ fill.position.set(-3.4, 2.8, 4.2);
145
+ scene.add(fill);
146
+
147
+ const rim = new THREE.DirectionalLight(0xc7d6eb, 0.2);
148
+ rim.position.set(-2.8, 4.2, -4.8);
149
+ scene.add(rim);
150
+
151
+ const top = new THREE.PointLight(0xffffff, 0.14, 12);
152
+ top.position.set(0, 2.9, 1.2);
153
+ scene.add(top);
154
+
155
+ const grid = new THREE.GridHelper(16, 16, 0x96aac0, 0xc2ccd8);
156
+ grid.material.opacity = 0.28;
157
+ grid.material.transparent = true;
158
+ scene.add(grid);
159
+
160
+ const floor = new THREE.Mesh(
161
+ new THREE.CircleGeometry(5.4, 64),
162
+ new THREE.MeshStandardMaterial({ color: 0xe4e9f0, roughness: 0.95, metalness: 0.02 })
163
+ );
164
+ floor.rotation.x = -Math.PI / 2;
165
+ floor.position.y = -0.01;
166
+ floor.receiveShadow = true;
167
+ scene.add(floor);
168
+
169
+ const shadowCatcher = new THREE.Mesh(
170
+ new THREE.CircleGeometry(1.32, 48),
171
+ new THREE.MeshBasicMaterial({ color: 0x465a72, transparent: true, opacity: 0.035, depthWrite: false })
172
+ );
173
+ shadowCatcher.rotation.x = -Math.PI / 2;
174
+ shadowCatcher.position.y = 0.002;
175
+ scene.add(shadowCatcher);
176
+
177
+ const backdrop = new THREE.Mesh(
178
+ new THREE.PlaneGeometry(24, 16),
179
+ new THREE.MeshBasicMaterial({ color: 0xe1e8f1 })
180
+ );
181
+ backdrop.position.set(0, 4, -8.5);
182
+ scene.add(backdrop);
183
+
184
+ const mujocoRoot = new THREE.Group();
185
+ mujocoRoot.rotation.x = -Math.PI / 2;
186
+ scene.add(mujocoRoot);
187
+
188
+ const loader = new STLLoader();
189
+ const geometryCache = new Map();
190
+ const materialCache = new Map();
191
+ const jsonCache = new Map();
192
+ const textCache = new Map();
193
+ const bufferCache = new Map();
194
+ const modelPackageCache = new Map();
195
+ const motionCache = new Map();
196
+ const renderables = [];
197
+ const tempMatrix = new THREE.Matrix4();
198
+ const tempQuaternion = new THREE.Quaternion();
199
+ const tempPosition = new THREE.Vector3();
200
+ const tempBox = new THREE.Box3();
201
+ const tempSize = new THREE.Vector3();
202
+ const tempCenter = new THREE.Vector3();
203
+ let mujoco = null;
204
+ let model = null;
205
+ let data = null;
206
+ let vfs = null;
207
+ let motion = null;
208
+ let robotMeta = null;
209
+ let visualMeta = null;
210
+ let videoPlane = null;
211
+ let videoElement = null;
212
+ let videoTexture = null;
213
+ let frameCount = 0;
214
+ let fps = 30;
215
+ let syncedTime = 0;
216
+ let builtFrame = -1;
217
+ let qposLayout = { rootPosStart: 0, rootQuatStart: 3, dofStart: 7 };
218
+ let rootQuatOrder = 'xyzw';
219
+ let playbackAnchorTime = 0;
220
+ let playbackAnchorPerf = 0;
221
+ let currentPlaybackTime = 0;
222
+ let externalPlaying = false;
223
+ let forcedRenderSize = null;
224
+ let currentModelPackageKey = '';
225
+ const videoPlaneBottomY = 0.02;
226
+ let videoPlaneDepth = -2.25;
227
+ let videoPlaneHeight = 1.72;
228
+ let videoPlaneAspect = 16 / 9;
229
+
230
+ function clamp(value, min, max) {
231
+ return Math.max(min, Math.min(max, value));
232
+ }
233
+
234
+ function getTerminalPlaybackTime(duration) {
235
+ if (!Number.isFinite(duration) || duration <= 0) {
236
+ return 0;
237
+ }
238
+ return Math.max(duration - 1 / Math.max(fps, 1), 0);
239
+ }
240
+
241
+ function getNormalizedPlaybackTime(time, duration) {
242
+ const safeTime = Number.isFinite(time) ? Math.max(0, time) : 0;
243
+ if (!Number.isFinite(duration) || duration <= 0) {
244
+ return safeTime;
245
+ }
246
+ return Math.min(safeTime, getTerminalPlaybackTime(duration));
247
+ }
248
+
249
+ function quatAngleRadians(a, b) {
250
+ const ax = a[0] || 0;
251
+ const ay = a[1] || 0;
252
+ const az = a[2] || 0;
253
+ const aw = a[3] || 1;
254
+ const bx = b[0] || 0;
255
+ const by = b[1] || 0;
256
+ const bz = b[2] || 0;
257
+ const bw = b[3] || 1;
258
+ const dot = Math.abs(ax * bx + ay * by + az * bz + aw * bw);
259
+ return 2 * Math.acos(clamp(dot, -1, 1));
260
+ }
261
+
262
+ function stabilizeLeadingFrames(nextMotion) {
263
+ if (!nextMotion) return nextMotion;
264
+ const rootRot = Array.isArray(nextMotion.root_rot_xyzw) ? nextMotion.root_rot_xyzw : [];
265
+ const rootPos = Array.isArray(nextMotion.root_pos) ? nextMotion.root_pos : [];
266
+ const dofPos = Array.isArray(nextMotion.dof_pos) ? nextMotion.dof_pos : [];
267
+ const frameCount = Math.min(rootRot.length, rootPos.length, dofPos.length);
268
+ if (frameCount < 3) return nextMotion;
269
+
270
+ const inspectCount = Math.min(6, frameCount - 1);
271
+ let stableIndex = -1;
272
+ for (let index = 1; index < inspectCount; index += 1) {
273
+ const delta = quatAngleRadians(rootRot[index], rootRot[index + 1]);
274
+ if (delta < THREE.MathUtils.degToRad(10)) {
275
+ stableIndex = index;
276
+ break;
277
+ }
278
+ }
279
+ if (stableIndex < 1) return nextMotion;
280
+
281
+ const leadDelta = quatAngleRadians(rootRot[0], rootRot[stableIndex]);
282
+ const stableDelta = quatAngleRadians(rootRot[stableIndex], rootRot[Math.min(stableIndex + 1, frameCount - 1)]);
283
+ if (leadDelta < THREE.MathUtils.degToRad(25) || stableDelta > THREE.MathUtils.degToRad(12)) {
284
+ return nextMotion;
285
+ }
286
+
287
+ const stableRootRot = [...rootRot[stableIndex]];
288
+ const stableRootPos = [...rootPos[stableIndex]];
289
+ const stableDofPos = [...dofPos[stableIndex]];
290
+ for (let index = 0; index < stableIndex; index += 1) {
291
+ rootRot[index] = [...stableRootRot];
292
+ rootPos[index] = [...stableRootPos];
293
+ dofPos[index] = [...stableDofPos];
294
+ }
295
+ return nextMotion;
296
+ }
297
+
298
+ function setStatus(phase, message) {
299
+ setDebugStatus(phase + ': ' + message);
300
+ if (phase === 'ready') {
301
+ renderer.domElement.style.opacity = '1';
302
+ } else {
303
+ renderer.domElement.style.opacity = '0';
304
+ }
305
+ post('status', { phase, message });
306
+ }
307
+
308
+ function setError(error) {
309
+ const message = error instanceof Error ? error.message : String(error || 'Unknown error');
310
+ post('error', { message });
311
+ }
312
+
313
+ function resizeRenderer() {
314
+ const width = forcedRenderSize?.width || root.clientWidth;
315
+ const height = forcedRenderSize?.height || root.clientHeight;
316
+ camera.aspect = width / height;
317
+ camera.updateProjectionMatrix();
318
+ renderer.setSize(width, height, false);
319
+ }
320
+
321
+ function getMaterial(color) {
322
+ const key = color || '#c2d4e8';
323
+ if (!materialCache.has(key)) {
324
+ materialCache.set(
325
+ key,
326
+ new THREE.MeshStandardMaterial({
327
+ color: new THREE.Color(key),
328
+ metalness: 0.22,
329
+ roughness: 0.58,
330
+ })
331
+ );
332
+ }
333
+ return materialCache.get(key);
334
+ }
335
+
336
+ function toArrayBuffer(bytes) {
337
+ if (bytes instanceof ArrayBuffer) {
338
+ return bytes;
339
+ }
340
+ if (ArrayBuffer.isView(bytes)) {
341
+ return bytes.buffer.slice(bytes.byteOffset, bytes.byteOffset + bytes.byteLength);
342
+ }
343
+ return bytes;
344
+ }
345
+
346
+ function nextFrameYield() {
347
+ return new Promise((resolve) => window.requestAnimationFrame(() => resolve()));
348
+ }
349
+
350
+ function decodeBase64ToArrayBuffer(text) {
351
+ const normalized = String(text || '').replace(/\s+/g, '');
352
+ const binary = window.atob(normalized);
353
+ const bytes = new Uint8Array(binary.length);
354
+ for (let index = 0; index < binary.length; index += 1) {
355
+ bytes[index] = binary.charCodeAt(index);
356
+ }
357
+ return bytes.buffer;
358
+ }
359
+
360
+ function normalizeMeshAssetFileName(rawName, fallbackMeshName = '') {
361
+ const candidate = String(rawName || '').trim();
362
+ const stripped = candidate.replace(/\.b64\.txt$/i, '');
363
+ if (/\.stl$/i.test(stripped)) {
364
+ return stripped;
365
+ }
366
+ const meshName = String(fallbackMeshName || '').trim();
367
+ if (meshName) {
368
+ return meshName + '.STL';
369
+ }
370
+ return stripped;
371
+ }
372
+
373
+ async function loadGeometry(src, rawBuffer = null) {
374
+ if (geometryCache.has(src)) return geometryCache.get(src);
375
+ const geometryPromise = (async () => {
376
+ const parsedBuffer = rawBuffer ? toArrayBuffer(rawBuffer) : null;
377
+ if (parsedBuffer) {
378
+ const geometry = loader.parse(parsedBuffer);
379
+ geometry.computeVertexNormals();
380
+ return geometry;
381
+ }
382
+ if (/\.stl\.b64\.txt(?:[?#].*)?$/i.test(String(src || ''))) {
383
+ const encoded = await fetchText(src, 'force-cache');
384
+ const geometry = loader.parse(decodeBase64ToArrayBuffer(encoded));
385
+ geometry.computeVertexNormals();
386
+ return geometry;
387
+ }
388
+ if (/\.stl(?:[?#].*)?$/i.test(String(src || ''))) {
389
+ const response = await fetch(src, { cache: 'force-cache' });
390
+ if (!response.ok) {
391
+ throw new Error('Failed to fetch ' + src + ' (' + response.status + ')');
392
+ }
393
+ const geometry = loader.parse(await response.arrayBuffer());
394
+ geometry.computeVertexNormals();
395
+ return geometry;
396
+ }
397
+ return await new Promise((resolve, reject) => {
398
+ reject(new Error('Unsupported geometry format: ' + src));
399
+ });
400
+ })();
401
+ geometryCache.set(src, geometryPromise);
402
+ try {
403
+ return await geometryPromise;
404
+ } catch (error) {
405
+ geometryCache.delete(src);
406
+ throw error;
407
+ }
408
+ }
409
+
410
+ async function fetchBuffer(url, cacheMode = 'force-cache') {
411
+ if (bufferCache.has(url)) return bufferCache.get(url);
412
+ const bufferPromise = (async () => {
413
+ if (/\.stl\.b64\.txt(?:[?#].*)?$/i.test(String(url || ''))) {
414
+ const encoded = await fetchText(url, cacheMode);
415
+ return new Uint8Array(decodeBase64ToArrayBuffer(encoded));
416
+ }
417
+ const response = await fetch(url, { cache: cacheMode });
418
+ if (!response.ok) {
419
+ throw new Error('Failed to fetch ' + url + ' (' + response.status + ')');
420
+ }
421
+ return new Uint8Array(await response.arrayBuffer());
422
+ })();
423
+ bufferCache.set(url, bufferPromise);
424
+ try {
425
+ return await bufferPromise;
426
+ } catch (error) {
427
+ bufferCache.delete(url);
428
+ throw error;
429
+ }
430
+ }
431
+
432
+ function clearSceneMeshes() {
433
+ while (mujocoRoot.children.length) {
434
+ mujocoRoot.remove(mujocoRoot.children[0]);
435
+ }
436
+ renderables.length = 0;
437
+ builtFrame = -1;
438
+ }
439
+
440
+ function clearVideoPlane() {
441
+ if (videoPlane) {
442
+ scene.remove(videoPlane);
443
+ videoPlane.geometry?.dispose?.();
444
+ videoPlane.material?.dispose?.();
445
+ videoPlane = null;
446
+ }
447
+ if (videoTexture) {
448
+ videoTexture.dispose?.();
449
+ videoTexture = null;
450
+ }
451
+ if (videoElement) {
452
+ try {
453
+ videoElement.pause();
454
+ } catch {}
455
+ videoElement.src = '';
456
+ videoElement.load?.();
457
+ videoElement = null;
458
+ }
459
+ }
460
+
461
+ function applyVideoPlaneLayout() {
462
+ if (!videoPlane) return;
463
+ videoPlane.geometry.dispose?.();
464
+ videoPlane.geometry = new THREE.PlaneGeometry(videoPlaneHeight * videoPlaneAspect, videoPlaneHeight);
465
+ videoPlane.position.set(0, videoPlaneBottomY + videoPlaneHeight / 2, videoPlaneDepth);
466
+ }
467
+
468
+ function ensureVideoPlane(src) {
469
+ clearVideoPlane();
470
+ if (!src) return;
471
+ videoElement = document.createElement('video');
472
+ videoElement.src = src;
473
+ videoElement.crossOrigin = 'anonymous';
474
+ videoElement.muted = true;
475
+ videoElement.loop = false;
476
+ videoElement.playsInline = true;
477
+ videoElement.preload = 'auto';
478
+ videoTexture = new THREE.VideoTexture(videoElement);
479
+ videoTexture.colorSpace = THREE.SRGBColorSpace;
480
+ videoTexture.minFilter = THREE.LinearFilter;
481
+ videoTexture.magFilter = THREE.LinearFilter;
482
+ videoTexture.generateMipmaps = false;
483
+
484
+ videoPlane = new THREE.Mesh(
485
+ new THREE.PlaneGeometry(videoPlaneHeight * videoPlaneAspect, videoPlaneHeight),
486
+ new THREE.MeshBasicMaterial({
487
+ map: videoTexture,
488
+ transparent: false,
489
+ opacity: 1,
490
+ toneMapped: false,
491
+ side: THREE.DoubleSide,
492
+ })
493
+ );
494
+ applyVideoPlaneLayout();
495
+ scene.add(videoPlane);
496
+
497
+ videoElement.addEventListener(
498
+ 'loadedmetadata',
499
+ () => {
500
+ if (!videoPlane || !videoElement || !videoElement.videoWidth || !videoElement.videoHeight) return;
501
+ videoPlaneAspect = videoElement.videoWidth / videoElement.videoHeight;
502
+ applyVideoPlaneLayout();
503
+ },
504
+ { once: true }
505
+ );
506
+ }
507
+
508
+ function fitPresentationToRobot() {
509
+ if (!renderables.length) return;
510
+ tempBox.setFromObject(mujocoRoot);
511
+ if (tempBox.isEmpty()) return;
512
+ tempBox.getSize(tempSize);
513
+ tempBox.getCenter(tempCenter);
514
+
515
+ const robotHeight = Math.max(tempSize.y, 0.9);
516
+ const robotWidth = Math.max(tempSize.x, 0.45);
517
+ const robotDepth = Math.max(tempSize.z, 0.35);
518
+ const eyeLine = tempBox.min.y + robotHeight * 0.48;
519
+ const targetZ = tempCenter.z - robotDepth * 0.1;
520
+ controls.target.set(tempCenter.x, eyeLine, targetZ);
521
+
522
+ const baseDistance = Math.max(
523
+ Number(robotMeta?.cameraDistance || 2.1) * 1.15,
524
+ robotHeight * 1.75,
525
+ robotWidth * 2.8,
526
+ robotDepth * 3.6
527
+ );
528
+ camera.position.set(
529
+ controls.target.x + baseDistance * 0.12,
530
+ controls.target.y + robotHeight * 0.46,
531
+ controls.target.z + baseDistance * 1.32
532
+ );
533
+ camera.near = 0.05;
534
+ camera.far = 80;
535
+ camera.updateProjectionMatrix();
536
+ camera.lookAt(controls.target);
537
+
538
+ videoPlaneHeight = THREE.MathUtils.clamp(robotHeight * 1.22, 1.58, 1.96);
539
+ videoPlaneDepth = tempCenter.z - THREE.MathUtils.clamp(robotDepth * 1.9 + 1.15, 1.65, 2.45);
540
+ applyVideoPlaneLayout();
541
+ }
542
+
543
+ function disposeRuntime() {
544
+ try { data?.delete?.(); } catch {}
545
+ try { model?.delete?.(); } catch {}
546
+ try { vfs?.delete?.(); } catch {}
547
+ data = null;
548
+ model = null;
549
+ vfs = null;
550
+ }
551
+
552
+ async function ensureMujoco() {
553
+ if (mujoco) return mujoco;
554
+ setStatus('runtime', 'Loading robot runtime...');
555
+ mujoco = await loadMujoco({
556
+ locateFile(path) {
557
+ return '/hf-assets/vendor/mujoco/' + path;
558
+ },
559
+ });
560
+ return mujoco;
561
+ }
562
+
563
+ async function fetchJson(url, cacheMode = 'force-cache') {
564
+ if (jsonCache.has(url)) return jsonCache.get(url);
565
+ const response = await fetch(url, { cache: cacheMode });
566
+ if (!response.ok) {
567
+ throw new Error('Failed to fetch ' + url + ' (' + response.status + ')');
568
+ }
569
+ const value = await response.json();
570
+ jsonCache.set(url, value);
571
+ return value;
572
+ }
573
+
574
+ async function fetchText(url, cacheMode = 'force-cache') {
575
+ if (textCache.has(url)) return textCache.get(url);
576
+ const response = await fetch(url, { cache: cacheMode });
577
+ if (!response.ok) {
578
+ throw new Error('Failed to fetch ' + url + ' (' + response.status + ')');
579
+ }
580
+ const value = await response.text();
581
+ textCache.set(url, value);
582
+ return value;
583
+ }
584
+
585
+ async function prewarmModelPackage(metaSrc) {
586
+ if (!metaSrc) return null;
587
+ if (modelPackageCache.has(metaSrc)) return modelPackageCache.get(metaSrc);
588
+ const packagePromise = (async () => {
589
+ const nextRobotMeta = await fetchJson(withAssetVersion(metaSrc), 'force-cache');
590
+ const packageUrl = withAssetVersion(nextRobotMeta.packageUrl);
591
+ if (packageUrl) {
592
+ try {
593
+ const bundledPackage = await fetchJson(packageUrl, 'force-cache');
594
+ const xmlText = typeof bundledPackage?.xmlText === 'string' ? bundledPackage.xmlText : '';
595
+ if (!xmlText) {
596
+ throw new Error('Robot model package is missing xmlText.');
597
+ }
598
+ const visualGeoms = Array.isArray(bundledPackage?.visualGeoms)
599
+ ? bundledPackage.visualGeoms.map((entry) => ({
600
+ ...entry,
601
+ rawSrc: String(entry?.src || '').trim(),
602
+ src: withAssetVersion(entry?.src),
603
+ }))
604
+ : [];
605
+ const meshBase64BySrc = {};
606
+ if (bundledPackage && typeof bundledPackage.meshBase64BySrc === 'object' && bundledPackage.meshBase64BySrc) {
607
+ Object.assign(meshBase64BySrc, bundledPackage.meshBase64BySrc);
608
+ }
609
+ const meshChunkUrls = Array.isArray(bundledPackage?.meshChunkUrls)
610
+ ? bundledPackage.meshChunkUrls.map((src) => withAssetVersion(src)).filter(Boolean)
611
+ : [];
612
+ for (const chunkUrl of meshChunkUrls) {
613
+ const chunkPayload = await fetchJson(chunkUrl, 'force-cache');
614
+ if (chunkPayload && typeof chunkPayload.meshBase64BySrc === 'object' && chunkPayload.meshBase64BySrc) {
615
+ Object.assign(meshBase64BySrc, chunkPayload.meshBase64BySrc);
616
+ }
617
+ }
618
+ const uniqueMeshUrls = [...new Set(visualGeoms.map((entry) => entry.src).filter(Boolean))];
619
+ const meshBuffers = new Map();
620
+ for (let index = 0; index < uniqueMeshUrls.length; index += 1) {
621
+ const meshUrl = uniqueMeshUrls[index];
622
+ const visualEntry = visualGeoms.find((entry) => entry.src === meshUrl);
623
+ const rawSrc = String(visualEntry?.rawSrc || '').trim();
624
+ const encodedMesh = typeof meshBase64BySrc[rawSrc] === 'string' ? meshBase64BySrc[rawSrc] : '';
625
+ if (!encodedMesh) {
626
+ throw new Error('Robot model package is missing mesh payload for ' + rawSrc);
627
+ }
628
+ const meshBuffer = new Uint8Array(decodeBase64ToArrayBuffer(encodedMesh));
629
+ meshBuffers.set(meshUrl, meshBuffer);
630
+ await loadGeometry(meshUrl, meshBuffer);
631
+ if ((index + 1) % 2 === 0) {
632
+ await nextFrameYield();
633
+ }
634
+ }
635
+
636
+ return {
637
+ key: metaSrc,
638
+ robotMeta: nextRobotMeta,
639
+ visualMeta: {
640
+ version: bundledPackage?.version || nextRobotMeta?.version || 1,
641
+ visualGeoms,
642
+ },
643
+ xmlText,
644
+ visualGeoms,
645
+ meshBuffers,
646
+ };
647
+ } catch (error) {
648
+ console.warn('[robot-viewer] Falling back to legacy G1 model chain.', error);
649
+ }
650
+ }
651
+
652
+ const xmlUrl = withAssetVersion(nextRobotMeta.xmlUrl);
653
+ if (!xmlUrl) throw new Error('Robot meta is missing xmlUrl.');
654
+ const xmlText = await fetchText(xmlUrl, 'force-cache');
655
+
656
+ let nextVisualMeta = nextRobotMeta;
657
+ if (!Array.isArray(nextRobotMeta.visualGeoms)) {
658
+ const visualMetaUrl = nextRobotMeta.modelMetaUrl;
659
+ if (!visualMetaUrl) throw new Error('Robot meta is missing modelMetaUrl.');
660
+ nextVisualMeta = await fetchJson(withAssetVersion(visualMetaUrl), 'force-cache');
661
+ }
662
+
663
+ const visualGeoms = Array.isArray(nextVisualMeta.visualGeoms)
664
+ ? nextVisualMeta.visualGeoms.map((entry) => ({
665
+ ...entry,
666
+ src: withAssetVersion(entry.src),
667
+ }))
668
+ : [];
669
+ const uniqueMeshUrls = [...new Set(visualGeoms.map((entry) => entry.src).filter(Boolean))];
670
+ const meshBuffers = new Map();
671
+ for (let index = 0; index < uniqueMeshUrls.length; index += 1) {
672
+ const meshUrl = uniqueMeshUrls[index];
673
+ const meshBuffer = await fetchBuffer(meshUrl, 'force-cache');
674
+ meshBuffers.set(meshUrl, meshBuffer);
675
+ await loadGeometry(meshUrl, meshBuffer);
676
+ if ((index + 1) % 2 === 0) {
677
+ await nextFrameYield();
678
+ }
679
+ }
680
+
681
+ return {
682
+ key: metaSrc,
683
+ robotMeta: nextRobotMeta,
684
+ visualMeta: nextVisualMeta,
685
+ xmlText,
686
+ visualGeoms,
687
+ meshBuffers,
688
+ };
689
+ })();
690
+ modelPackageCache.set(metaSrc, packagePromise);
691
+ try {
692
+ return await packagePromise;
693
+ } catch (error) {
694
+ modelPackageCache.delete(metaSrc);
695
+ throw error;
696
+ }
697
+ }
698
+
699
+ async function loadMotionData(motionSrc) {
700
+ if (!motionSrc) throw new Error('Robot motion data is missing.');
701
+ if (motionCache.has(motionSrc)) return motionCache.get(motionSrc);
702
+ const motionPromise = fetchJson(motionSrc, 'no-store').then((value) => stabilizeLeadingFrames(value));
703
+ motionCache.set(motionSrc, motionPromise);
704
+ try {
705
+ return await motionPromise;
706
+ } catch (error) {
707
+ motionCache.delete(motionSrc);
708
+ throw error;
709
+ }
710
+ }
711
+
712
+ async function ensureModelRuntime(metaSrc, packageData, loadToken) {
713
+ const runtime = await ensureMujoco();
714
+ if (loadToken !== activeLoadToken) return;
715
+ if (currentModelPackageKey === metaSrc && model && data && renderables.length > 0) {
716
+ robotMeta = packageData.robotMeta;
717
+ visualMeta = packageData.visualMeta;
718
+ return;
719
+ }
720
+
721
+ disposeRuntime();
722
+ clearSceneMeshes();
723
+ if (loadToken !== activeLoadToken) return;
724
+
725
+ vfs = new runtime.MjVFS();
726
+ for (const entry of packageData.visualGeoms) {
727
+ const meshUrl = String(entry.src || '').trim();
728
+ if (!meshUrl) continue;
729
+ const meshBuffer = packageData.meshBuffers.get(meshUrl);
730
+ if (!meshBuffer) continue;
731
+ let meshFileName = '';
732
+ try {
733
+ const meshUrlObject = new URL(meshUrl, window.location.origin);
734
+ meshFileName = meshUrlObject.pathname.split('/').pop() || '';
735
+ } catch {
736
+ meshFileName = meshUrl.split('/').pop() || '';
737
+ }
738
+ meshFileName = normalizeMeshAssetFileName(meshFileName, entry.meshName);
739
+ if (!meshFileName) continue;
740
+ vfs.addBuffer('meshes/' + meshFileName, meshBuffer);
741
+ }
742
+ if (loadToken !== activeLoadToken) return;
743
+
744
+ setStatus('motion', 'Preparing robot model...');
745
+ model = runtime.MjModel.from_xml_string(packageData.xmlText, vfs);
746
+ data = new runtime.MjData(model);
747
+ robotMeta = packageData.robotMeta;
748
+ visualMeta = packageData.visualMeta;
749
+
750
+ for (let index = 0; index < packageData.visualGeoms.length; index += 1) {
751
+ const entry = packageData.visualGeoms[index];
752
+ const geometry = await loadGeometry(entry.src, packageData.meshBuffers.get(entry.src) || null);
753
+ if (loadToken !== activeLoadToken) return;
754
+ const group = new THREE.Group();
755
+ const mesh = new THREE.Mesh(geometry, getMaterial(entry.color));
756
+ mesh.castShadow = true;
757
+ mesh.receiveShadow = true;
758
+ const meshOffsetQuat = new THREE.Quaternion(...(entry.meshOffsetQuatXyzw || [0, 0, 0, 1])).invert();
759
+ const meshOffsetPos = new THREE.Vector3(...(entry.meshOffsetPos || [0, 0, 0]))
760
+ .applyQuaternion(meshOffsetQuat)
761
+ .multiplyScalar(-1);
762
+ mesh.position.copy(meshOffsetPos);
763
+ mesh.quaternion.copy(meshOffsetQuat);
764
+ mesh.scale.set(...(entry.scale || [1, 1, 1]));
765
+ group.add(mesh);
766
+ mujocoRoot.add(group);
767
+ renderables.push({
768
+ geomIndex: Number(entry.geomIndex),
769
+ group,
770
+ });
771
+ if ((index + 1) % 4 === 0) {
772
+ await nextFrameYield();
773
+ if (loadToken !== activeLoadToken) return;
774
+ }
775
+ }
776
+ currentModelPackageKey = metaSrc;
777
+ }
778
+
779
+ async function prepareModel(metaSrc, motionSrc, videoSrc, loadToken) {
780
+ setStatus('assets', 'Loading robot assets...');
781
+ const [packageData, nextMotion] = await Promise.all([
782
+ prewarmModelPackage(metaSrc),
783
+ loadMotionData(motionSrc),
784
+ ]);
785
+ if (loadToken !== activeLoadToken || !packageData) return;
786
+ motion = nextMotion;
787
+ frameCount = Number(motion.frameCount || 0);
788
+ fps = Number(motion.fps || 30);
789
+ rootQuatOrder = motion.rootQuatOrder || 'xyzw';
790
+ qposLayout = {
791
+ rootPosStart: Number(motion.qposLayout?.rootPosStart ?? 0),
792
+ rootQuatStart: Number(motion.qposLayout?.rootQuatStart ?? 3),
793
+ dofStart: Number(motion.qposLayout?.dofStart ?? 7),
794
+ };
795
+
796
+ await ensureModelRuntime(metaSrc, packageData, loadToken);
797
+ if (loadToken !== activeLoadToken) return;
798
+ ensureVideoPlane(videoSrc);
799
+
800
+ applyFrame(0, true);
801
+ fitPresentationToRobot();
802
+ setStatus('ready', 'Robot preview is ready.');
803
+ post('ready');
804
+ }
805
+
806
+ function setRootQuat(qpos, rootQuat) {
807
+ if (rootQuatOrder === 'xyzw') {
808
+ qpos[qposLayout.rootQuatStart + 0] = rootQuat[3];
809
+ qpos[qposLayout.rootQuatStart + 1] = rootQuat[0];
810
+ qpos[qposLayout.rootQuatStart + 2] = rootQuat[1];
811
+ qpos[qposLayout.rootQuatStart + 3] = rootQuat[2];
812
+ } else {
813
+ qpos[qposLayout.rootQuatStart + 0] = rootQuat[0];
814
+ qpos[qposLayout.rootQuatStart + 1] = rootQuat[1];
815
+ qpos[qposLayout.rootQuatStart + 2] = rootQuat[2];
816
+ qpos[qposLayout.rootQuatStart + 3] = rootQuat[3];
817
+ }
818
+ }
819
+
820
+ function writeFrameToQpos(frameFloat) {
821
+ if (!data || !motion || !Array.isArray(motion.root_pos) || !Array.isArray(motion.root_rot_xyzw) || !Array.isArray(motion.dof_pos)) {
822
+ return false;
823
+ }
824
+ const safeFrame = Math.max(0, Math.min(frameCount - 1, frameFloat));
825
+ const frame0 = Math.floor(safeFrame);
826
+ const frame1 = Math.min(frame0 + 1, frameCount - 1);
827
+ const alpha = Math.max(0, Math.min(1, safeFrame - frame0));
828
+ const rootPos0 = motion.root_pos[frame0];
829
+ const rootPos1 = motion.root_pos[frame1] || rootPos0;
830
+ const rootQuat0 = motion.root_rot_xyzw[frame0];
831
+ const rootQuat1 = motion.root_rot_xyzw[frame1] || rootQuat0;
832
+ const dofPos0 = motion.dof_pos[frame0];
833
+ const dofPos1 = motion.dof_pos[frame1] || dofPos0;
834
+ if (!rootPos0 || !rootQuat0 || !dofPos0) return false;
835
+ const qpos = data.qpos;
836
+
837
+ qpos[qposLayout.rootPosStart + 0] = rootPos0[0] + (rootPos1[0] - rootPos0[0]) * alpha;
838
+ qpos[qposLayout.rootPosStart + 1] = rootPos0[1] + (rootPos1[1] - rootPos0[1]) * alpha;
839
+ qpos[qposLayout.rootPosStart + 2] = rootPos0[2] + (rootPos1[2] - rootPos0[2]) * alpha;
840
+
841
+ tempQuaternion.set(rootQuat0[0], rootQuat0[1], rootQuat0[2], rootQuat0[3]);
842
+ const targetQuat = new THREE.Quaternion(rootQuat1[0], rootQuat1[1], rootQuat1[2], rootQuat1[3]);
843
+ tempQuaternion.slerp(targetQuat, alpha);
844
+ setRootQuat(qpos, [tempQuaternion.x, tempQuaternion.y, tempQuaternion.z, tempQuaternion.w]);
845
+
846
+ for (let i = 0; i < dofPos0.length; i += 1) {
847
+ const nextValue = dofPos0[i] + ((dofPos1[i] ?? dofPos0[i]) - dofPos0[i]) * alpha;
848
+ qpos[qposLayout.dofStart + i] = nextValue;
849
+ }
850
+ mujoco.mj_forward(model, data);
851
+ return true;
852
+ }
853
+
854
+ function applyFrame(frameFloat, force = false) {
855
+ if (!data || !model || !motion || !frameCount) return;
856
+ if (!force && Math.abs(frameFloat - builtFrame) < 0.001) return;
857
+ if (!writeFrameToQpos(frameFloat)) return;
858
+
859
+ const geomXpos = data.geom_xpos;
860
+ const geomXmat = data.geom_xmat;
861
+ for (const entry of renderables) {
862
+ const posOffset = entry.geomIndex * 3;
863
+ const matOffset = entry.geomIndex * 9;
864
+ tempMatrix.set(
865
+ geomXmat[matOffset + 0], geomXmat[matOffset + 1], geomXmat[matOffset + 2], 0,
866
+ geomXmat[matOffset + 3], geomXmat[matOffset + 4], geomXmat[matOffset + 5], 0,
867
+ geomXmat[matOffset + 6], geomXmat[matOffset + 7], geomXmat[matOffset + 8], 0,
868
+ 0, 0, 0, 1
869
+ );
870
+ tempQuaternion.setFromRotationMatrix(tempMatrix);
871
+ entry.group.position.set(
872
+ geomXpos[posOffset + 0],
873
+ geomXpos[posOffset + 1],
874
+ geomXpos[posOffset + 2]
875
+ );
876
+ entry.group.quaternion.copy(tempQuaternion);
877
+ }
878
+
879
+ builtFrame = frameFloat;
880
+ }
881
+
882
+ function syncPlayback(time, isPlaying) {
883
+ const duration = frameCount > 0 ? frameCount / Math.max(fps, 1) : 0;
884
+ const nextTime = getNormalizedPlaybackTime(Number(time || 0), duration);
885
+ const nextPlaying = !!isPlaying;
886
+ const drift = Math.abs(nextTime - currentPlaybackTime);
887
+ if (nextPlaying === externalPlaying) {
888
+ if (nextPlaying && drift < 0.08) {
889
+ return;
890
+ }
891
+ if (!nextPlaying && drift < 0.002) {
892
+ return;
893
+ }
894
+ }
895
+ currentPlaybackTime = nextTime;
896
+ playbackAnchorTime = nextTime;
897
+ playbackAnchorPerf = performance.now();
898
+ externalPlaying = nextPlaying;
899
+ if (videoElement) {
900
+ const drift = Math.abs((videoElement.currentTime || 0) - nextTime);
901
+ if (drift > 0.08) {
902
+ try {
903
+ videoElement.currentTime = nextTime;
904
+ } catch {}
905
+ }
906
+ if (nextPlaying) {
907
+ const playPromise = videoElement.play?.();
908
+ if (playPromise?.catch) playPromise.catch(() => {});
909
+ } else {
910
+ try {
911
+ videoElement.pause?.();
912
+ } catch {}
913
+ }
914
+ }
915
+ }
916
+
917
+ async function handleLoadRequest(motionSrc, metaSrc, videoSrc) {
918
+ activeLoadToken += 1;
919
+ await prepareModel(metaSrc, motionSrc, videoSrc, activeLoadToken);
920
+ }
921
+
922
+ async function handlePrewarmRequest(modelSrcs) {
923
+ const uniqueModelSrcs = [...new Set((Array.isArray(modelSrcs) ? modelSrcs : []).filter(Boolean))];
924
+ if (uniqueModelSrcs.length === 0) return;
925
+ await Promise.allSettled(uniqueModelSrcs.map((modelSrc) => prewarmModelPackage(modelSrc)));
926
+ }
927
+
928
+ function animate() {
929
+ requestAnimationFrame(animate);
930
+ if (data && frameCount > 0) {
931
+ const duration = frameCount / Math.max(fps, 1);
932
+ if (externalPlaying) {
933
+ currentPlaybackTime = playbackAnchorTime + (performance.now() - playbackAnchorPerf) / 1000;
934
+ }
935
+ if (externalPlaying && duration > 0 && currentPlaybackTime >= duration) {
936
+ currentPlaybackTime = getTerminalPlaybackTime(duration);
937
+ }
938
+ const nextFrame = currentPlaybackTime * fps;
939
+ applyFrame(nextFrame);
940
+ }
941
+ controls.update();
942
+ renderer.render(scene, camera);
943
+ }
944
+ animate();
945
+
946
+ window.addEventListener('message', async (event) => {
947
+ const payload = event.data || {};
948
+ if (payload.viewerNonce && payload.viewerNonce !== viewerNonce) {
949
+ return;
950
+ }
951
+ try {
952
+ if (payload.type === 'robot-load' && payload.src && payload.modelSrc) {
953
+ await handleLoadRequest(payload.src, payload.modelSrc, payload.videoSrc || '');
954
+ } else if (payload.type === 'robot-prewarm' && Array.isArray(payload.modelSrcs)) {
955
+ await handlePrewarmRequest(payload.modelSrcs);
956
+ } else if (payload.type === 'robot-sync') {
957
+ syncedTime = Number(payload.time || 0);
958
+ syncPlayback(syncedTime, !!payload.playing);
959
+ } else if (payload.type === 'robot-recording-config') {
960
+ if (Number.isFinite(payload.width) && Number.isFinite(payload.height) && payload.width > 0 && payload.height > 0) {
961
+ forcedRenderSize = { width: Number(payload.width), height: Number(payload.height) };
962
+ } else {
963
+ forcedRenderSize = null;
964
+ }
965
+ resizeRenderer();
966
+ }
967
+ } catch (error) {
968
+ console.error(error);
969
+ setError(error);
970
+ }
971
+ });
972
+
973
+ window.addEventListener('resize', resizeRenderer);
974
+
975
+ post('boot');
976
+
977
+ const params = new URLSearchParams(window.location.search);
978
+ const directMotionSrc = params.get('src');
979
+ const directModelSrc = params.get('modelSrc');
980
+ const directVideoSrc = params.get('videoSrc') || '';
981
+ const directTime = Number(params.get('time') || 0);
982
+ const directPlaying = params.get('playing') === '1' || params.get('playing') === 'true';
983
+ if (directMotionSrc && directModelSrc) {
984
+ syncPlayback(directTime, directPlaying);
985
+ try {
986
+ await handleLoadRequest(directMotionSrc, directModelSrc, directVideoSrc);
987
+ } catch (error) {
988
+ console.error(error);
989
+ setError(error);
990
+ }
991
+ }
992
+ </script>
993
+ </body>
994
+ </html>
assets/system-targets/default-cover.svg ADDED
assets/system-targets/robot/unitree_g1/cover.svg ADDED
assets/system-targets/robot/unitree_g1/g1_mocap_29dof.xml ADDED
@@ -0,0 +1,319 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <mujoco model="g1_mocap">
2
+ <compiler angle="radian" meshdir="meshes"/>
3
+
4
+ <default>
5
+ <motor ctrlrange="-1 1" ctrllimited="true"/>
6
+ <joint actuatorfrclimited="true" type="hinge"/>
7
+ </default>
8
+
9
+ <asset>
10
+ <mesh name="pelvis" file="pelvis.STL"/>
11
+ <mesh name="pelvis_contour_link" file="pelvis_contour_link.STL"/>
12
+ <mesh name="left_hip_pitch_link" file="left_hip_pitch_link.STL"/>
13
+ <mesh name="left_hip_roll_link" file="left_hip_roll_link.STL"/>
14
+ <mesh name="left_hip_yaw_link" file="left_hip_yaw_link.STL"/>
15
+ <mesh name="left_knee_link" file="left_knee_link.STL"/>
16
+ <mesh name="left_ankle_pitch_link" file="left_ankle_pitch_link.STL"/>
17
+ <mesh name="left_ankle_roll_link" file="left_ankle_roll_link.STL"/>
18
+ <mesh name="right_hip_pitch_link" file="right_hip_pitch_link.STL"/>
19
+ <mesh name="right_hip_roll_link" file="right_hip_roll_link.STL"/>
20
+ <mesh name="right_hip_yaw_link" file="right_hip_yaw_link.STL"/>
21
+ <mesh name="right_knee_link" file="right_knee_link.STL"/>
22
+ <mesh name="right_ankle_pitch_link" file="right_ankle_pitch_link.STL"/>
23
+ <mesh name="right_ankle_roll_link" file="right_ankle_roll_link.STL"/>
24
+ <mesh name="waist_yaw_link" file="waist_yaw_link_rev_1_0.STL"/>
25
+ <mesh name="waist_roll_link" file="waist_roll_link_rev_1_0.STL"/>
26
+ <mesh name="torso_link" file="torso_link_rev_1_0.STL"/>
27
+ <mesh name="logo_link" file="logo_link.STL"/>
28
+ <mesh name="head_link" file="head_link.STL"/>
29
+ <mesh name="left_shoulder_pitch_link" file="left_shoulder_pitch_link.STL"/>
30
+ <mesh name="left_shoulder_roll_link" file="left_shoulder_roll_link.STL"/>
31
+ <mesh name="left_shoulder_yaw_link" file="left_shoulder_yaw_link.STL"/>
32
+ <mesh name="left_elbow_link" file="left_elbow_link.STL"/>
33
+ <mesh name="left_wrist_roll_link" file="left_wrist_roll_link.STL"/>
34
+ <mesh name="left_wrist_pitch_link" file="left_wrist_pitch_link.STL"/>
35
+ <mesh name="left_wrist_yaw_link" file="left_wrist_yaw_link.STL"/>
36
+ <mesh name="left_rubber_hand" file="left_rubber_hand.STL"/>
37
+ <mesh name="right_shoulder_pitch_link" file="right_shoulder_pitch_link.STL"/>
38
+ <mesh name="right_shoulder_roll_link" file="right_shoulder_roll_link.STL"/>
39
+ <mesh name="right_shoulder_yaw_link" file="right_shoulder_yaw_link.STL"/>
40
+ <mesh name="right_elbow_link" file="right_elbow_link.STL"/>
41
+ <mesh name="right_wrist_roll_link" file="right_wrist_roll_link.STL"/>
42
+ <mesh name="right_wrist_pitch_link" file="right_wrist_pitch_link.STL"/>
43
+ <mesh name="right_wrist_yaw_link" file="right_wrist_yaw_link.STL"/>
44
+ <mesh name="right_rubber_hand" file="right_rubber_hand.STL"/>
45
+ </asset>
46
+
47
+ <worldbody>
48
+ <body name="pelvis" pos="0 0 0.793">
49
+ <inertial pos="0 0 -0.07605" quat="1 0 -0.000399148 0" mass="3.813" diaginertia="0.010549 0.0093089 0.0079184"/>
50
+ <freejoint name="pelvis"/>
51
+ <geom type="mesh" contype="0" conaffinity="0" group="1" density="0" rgba="0.2 0.2 0.2 1" mesh="pelvis"/>
52
+ <geom type="mesh" contype="0" conaffinity="0" group="1" density="0" rgba="0.7 0.7 0.7 1" mesh="pelvis_contour_link"/>
53
+ <geom type="mesh" rgba="0.7 0.7 0.7 1" mesh="pelvis_contour_link"/>
54
+ <site name="imu_in_pelvis" size="0.01" pos="0.04525 0 -0.08339"/>
55
+ <body name="left_hip_pitch_link" pos="0 0.064452 -0.1027">
56
+ <inertial pos="0.002741 0.047791 -0.02606" quat="0.954862 0.293964 0.0302556 0.030122" mass="1.35" diaginertia="0.00181517 0.00153422 0.00116212"/>
57
+ <joint name="left_hip_pitch_joint" pos="0 0 0" axis="0 1 0" range="-1.57 1.57" actuatorfrcrange="-88 88"/>
58
+ <geom type="mesh" contype="0" conaffinity="0" group="1" density="0" rgba="0.2 0.2 0.2 1" mesh="left_hip_pitch_link"/>
59
+ <geom type="mesh" rgba="0.2 0.2 0.2 1" mesh="left_hip_pitch_link"/>
60
+ <body name="left_hip_roll_link" pos="0 0.052 -0.030465" quat="0.996179 0 -0.0873386 0">
61
+ <inertial pos="0.029812 -0.001045 -0.087934" quat="0.977808 -1.97119e-05 0.205576 -0.0403793" mass="1.52" diaginertia="0.00254986 0.00241169 0.00148755"/>
62
+ <joint name="left_hip_roll_joint" pos="0 0 0" axis="1 0 0" range="-0.5236 1.57" actuatorfrcrange="-139 139"/>
63
+ <geom type="mesh" contype="0" conaffinity="0" group="1" density="0" rgba="0.7 0.7 0.7 1" mesh="left_hip_roll_link"/>
64
+ <geom type="mesh" rgba="0.7 0.7 0.7 1" mesh="left_hip_roll_link"/>
65
+ <body name="left_hip_yaw_link" pos="0.025001 0 -0.12412">
66
+ <inertial pos="-0.057709 -0.010981 -0.15078" quat="0.600598 0.15832 0.223482 0.751181" mass="1.702" diaginertia="0.00776166 0.00717575 0.00160139"/>
67
+ <joint name="left_hip_yaw_joint" pos="0 0 0" axis="0 0 1" range="-1.57 1.57" actuatorfrcrange="-88 88"/>
68
+ <geom type="mesh" contype="0" conaffinity="0" group="1" density="0" rgba="0.7 0.7 0.7 1" mesh="left_hip_yaw_link"/>
69
+ <geom type="mesh" rgba="0.7 0.7 0.7 1" mesh="left_hip_yaw_link"/>
70
+ <body name="left_knee_link" pos="-0.078273 0.0021489 -0.17734" quat="0.996179 0 0.0873386 0">
71
+ <inertial pos="0.005457 0.003964 -0.12074" quat="0.923418 -0.0327699 0.0158246 0.382067" mass="1.932" diaginertia="0.0113804 0.0112778 0.00146458"/>
72
+ <joint name="left_knee_joint" pos="0 0 0" axis="0 1 0" range="-0.087267 2.8798" actuatorfrcrange="-139 139"/>
73
+ <geom type="mesh" contype="0" conaffinity="0" group="1" density="0" rgba="0.7 0.7 0.7 1" mesh="left_knee_link"/>
74
+ <geom type="mesh" rgba="0.7 0.7 0.7 1" mesh="left_knee_link"/>
75
+ <body name="left_ankle_pitch_link" pos="0 -9.4445e-05 -0.30001">
76
+ <inertial pos="-0.007269 0 0.011137" quat="0.603053 0.369225 0.369225 0.603053" mass="0.074" diaginertia="1.89e-05 1.40805e-05 6.9195e-06"/>
77
+ <joint name="left_ankle_pitch_joint" pos="0 0 0" axis="0 1 0" range="-0.87267 0.5236" actuatorfrcrange="-50 50"/>
78
+ <geom type="mesh" contype="0" conaffinity="0" group="1" density="0" rgba="0.7 0.7 0.7 1" mesh="left_ankle_pitch_link"/>
79
+ <geom type="mesh" rgba="0.7 0.7 0.7 1" mesh="left_ankle_pitch_link"/>
80
+ <body name="left_ankle_roll_link" pos="0 0 -0.017558">
81
+ <inertial pos="0.026505 0 -0.016425" quat="-0.000481092 0.728482 -0.000618967 0.685065" mass="0.608" diaginertia="0.00167218 0.0016161 0.000217621"/>
82
+ <joint name="left_ankle_roll_joint" pos="0 0 0" axis="1 0 0" range="-0.2618 0.2618" actuatorfrcrange="-50 50"/>
83
+ <geom type="mesh" contype="0" conaffinity="0" group="1" density="0" rgba="0.2 0.2 0.2 1" mesh="left_ankle_roll_link"/>
84
+ <geom size="0.005" pos="-0.05 0.025 -0.03" rgba="0.2 0.2 0.2 1"/>
85
+ <geom size="0.005" pos="-0.05 -0.025 -0.03" rgba="0.2 0.2 0.2 1"/>
86
+ <geom size="0.005" pos="0.12 0.03 -0.03" rgba="0.2 0.2 0.2 1"/>
87
+ <geom size="0.005" pos="0.12 -0.03 -0.03" rgba="0.2 0.2 0.2 1"/>
88
+ <body name="left_toe_link" pos="0.1 0 -0.02"/>
89
+ </body>
90
+ </body>
91
+ </body>
92
+ </body>
93
+ </body>
94
+ </body>
95
+ <body name="pelvis_contour_link" pos="0 0 0"></body>
96
+ <body name="right_hip_pitch_link" pos="0 -0.064452 -0.1027">
97
+ <inertial pos="0.002741 -0.047791 -0.02606" quat="0.954862 -0.293964 0.0302556 -0.030122" mass="1.35" diaginertia="0.00181517 0.00153422 0.00116212"/>
98
+ <joint name="right_hip_pitch_joint" pos="0 0 0" axis="0 1 0" range="-1.57 1.57" actuatorfrcrange="-88 88"/>
99
+ <geom type="mesh" contype="0" conaffinity="0" group="1" density="0" rgba="0.2 0.2 0.2 1" mesh="right_hip_pitch_link"/>
100
+ <geom type="mesh" rgba="0.2 0.2 0.2 1" mesh="right_hip_pitch_link"/>
101
+ <body name="right_hip_roll_link" pos="0 -0.052 -0.030465" quat="0.996179 0 -0.0873386 0">
102
+ <inertial pos="0.029812 0.001045 -0.087934" quat="0.977808 1.97119e-05 0.205576 0.0403793" mass="1.52" diaginertia="0.00254986 0.00241169 0.00148755"/>
103
+ <joint name="right_hip_roll_joint" pos="0 0 0" axis="1 0 0" range="-1.57 0.5236" actuatorfrcrange="-139 139"/>
104
+ <geom type="mesh" contype="0" conaffinity="0" group="1" density="0" rgba="0.7 0.7 0.7 1" mesh="right_hip_roll_link"/>
105
+ <geom type="mesh" rgba="0.7 0.7 0.7 1" mesh="right_hip_roll_link"/>
106
+ <body name="right_hip_yaw_link" pos="0.025001 0 -0.12412">
107
+ <inertial pos="-0.057709 0.010981 -0.15078" quat="0.751181 0.223482 0.15832 0.600598" mass="1.702" diaginertia="0.00776166 0.00717575 0.00160139"/>
108
+ <joint name="right_hip_yaw_joint" pos="0 0 0" axis="0 0 1" range="-1.57 1.57" actuatorfrcrange="-88 88"/>
109
+ <geom type="mesh" contype="0" conaffinity="0" group="1" density="0" rgba="0.7 0.7 0.7 1" mesh="right_hip_yaw_link"/>
110
+ <geom type="mesh" rgba="0.7 0.7 0.7 1" mesh="right_hip_yaw_link"/>
111
+ <body name="right_knee_link" pos="-0.078273 -0.0021489 -0.17734" quat="0.996179 0 0.0873386 0">
112
+ <inertial pos="0.005457 -0.003964 -0.12074" quat="0.923439 0.0345276 0.0116333 -0.382012" mass="1.932" diaginertia="0.011374 0.0112843 0.00146452"/>
113
+ <joint name="right_knee_joint" pos="0 0 0" axis="0 1 0" range="-0.087267 2.8798" actuatorfrcrange="-139 139"/>
114
+ <geom type="mesh" contype="0" conaffinity="0" group="1" density="0" rgba="0.7 0.7 0.7 1" mesh="right_knee_link"/>
115
+ <geom type="mesh" rgba="0.7 0.7 0.7 1" mesh="right_knee_link"/>
116
+ <body name="right_ankle_pitch_link" pos="0 9.4445e-05 -0.30001">
117
+ <inertial pos="-0.007269 0 0.011137" quat="0.603053 0.369225 0.369225 0.603053" mass="0.074" diaginertia="1.89e-05 1.40805e-05 6.9195e-06"/>
118
+ <joint name="right_ankle_pitch_joint" pos="0 0 0" axis="0 1 0" range="-0.87267 0.5236" actuatorfrcrange="-50 50"/>
119
+ <geom type="mesh" contype="0" conaffinity="0" group="1" density="0" rgba="0.7 0.7 0.7 1" mesh="right_ankle_pitch_link"/>
120
+ <geom type="mesh" rgba="0.7 0.7 0.7 1" mesh="right_ankle_pitch_link"/>
121
+ <body name="right_ankle_roll_link" pos="0 0 -0.017558">
122
+ <inertial pos="0.026505 0 -0.016425" quat="0.000481092 0.728482 0.000618967 0.685065" mass="0.608" diaginertia="0.00167218 0.0016161 0.000217621"/>
123
+ <joint name="right_ankle_roll_joint" pos="0 0 0" axis="1 0 0" range="-0.2618 0.2618" actuatorfrcrange="-50 50"/>
124
+ <geom type="mesh" contype="0" conaffinity="0" group="1" density="0" rgba="0.2 0.2 0.2 1" mesh="right_ankle_roll_link"/>
125
+ <geom size="0.005" pos="-0.05 0.025 -0.03" rgba="0.2 0.2 0.2 1"/>
126
+ <geom size="0.005" pos="-0.05 -0.025 -0.03" rgba="0.2 0.2 0.2 1"/>
127
+ <geom size="0.005" pos="0.12 0.03 -0.03" rgba="0.2 0.2 0.2 1"/>
128
+ <geom size="0.005" pos="0.12 -0.03 -0.03" rgba="0.2 0.2 0.2 1"/>
129
+ <body name="right_toe_link" pos="0.1 0 -0.02"/>
130
+ </body>
131
+ </body>
132
+ </body>
133
+ </body>
134
+ </body>
135
+ </body>
136
+ <body name="waist_yaw_link">
137
+ <inertial pos="0.003494 0.000233 0.018034" quat="0.289697 0.591001 -0.337795 0.672821" mass="0.214" diaginertia="0.000163531 0.000107714 0.000102205"/>
138
+ <joint name="waist_yaw_joint" pos="0 0 0" axis="0 0 1" range="-1.57 1.57" actuatorfrcrange="-88 88"/>
139
+ <geom type="mesh" contype="0" conaffinity="0" group="1" density="0" rgba="0.7 0.7 0.7 1" mesh="waist_yaw_link"/>
140
+ <body name="waist_roll_link" pos="-0.0039635 0 0.044">
141
+ <inertial pos="0 2.3e-05 0" quat="0.5 0.5 -0.5 0.5" mass="0.086" diaginertia="8.245e-06 7.079e-06 6.339e-06"/>
142
+ <joint name="waist_roll_joint" pos="0 0 0" axis="1 0 0" range="-0.52 0.52" actuatorfrcrange="-50 50"/>
143
+ <geom type="mesh" contype="0" conaffinity="0" group="1" density="0" rgba="0.7 0.7 0.7 1" mesh="waist_roll_link"/>
144
+ <body name="torso_link">
145
+ <inertial pos="0.00203158 0.000339683 0.184568" quat="0.999803 -6.03319e-05 0.0198256 0.00131986" mass="7.818" diaginertia="0.121847 0.109825 0.0273735"/>
146
+ <joint name="waist_pitch_joint" pos="0 0 0" axis="0 1 0" range="-0.52 0.52" actuatorfrcrange="-50 50"/>
147
+ <geom type="mesh" contype="0" conaffinity="0" group="1" density="0" rgba="0.7 0.7 0.7 1" mesh="torso_link"/>
148
+ <geom type="mesh" rgba="0.7 0.7 0.7 1" mesh="torso_link"/>
149
+ <geom pos="0.0039635 0 -0.044" quat="1 0 0 0" type="mesh" contype="0" conaffinity="0" group="1" density="0" rgba="0.2 0.2 0.2 1" mesh="logo_link"/>
150
+ <geom pos="0.0039635 0 -0.044" quat="1 0 0 0" type="mesh" rgba="0.2 0.2 0.2 1" mesh="logo_link"/>
151
+ <body name="head_link" pos="0.0039635 0 -0.044">
152
+ <inertial pos="0.0001 0.0001 0.0001" quat="1.0 0.0 0.0 0.0" mass="1.036" diaginertia="0.004 0.004 0.002"/>
153
+ </body>
154
+ <body name="head_mocap" pos="0.0000 0.0000 0.4000"></body>
155
+ <geom pos="0.0039635 0 -0.044" type="mesh" contype="0" conaffinity="0" group="1" density="0" rgba="0.2 0.2 0.2 1" mesh="head_link"/>
156
+ <geom pos="0.0039635 0 -0.044" type="mesh" rgba="0.2 0.2 0.2 1" mesh="head_link"/>
157
+ <site name="imu_in_torso" size="0.01" pos="-0.03959 -0.00224 0.14792"/>
158
+ <body name="imu_in_torso" pos="-0.03959 -0.00224 0.14792"></body>
159
+ <body name="left_shoulder_pitch_link" pos="0.0039563 0.10022 0.24778" quat="0.990264 0.139201 1.38722e-05 -9.86868e-05">
160
+ <inertial pos="0 0.035892 -0.011628" quat="0.654152 0.0130458 -0.326267 0.68225" mass="0.718" diaginertia="0.000465864 0.000432842 0.000406394"/>
161
+ <joint name="left_shoulder_pitch_joint" pos="0 0 0" axis="0 1 0" range="-3.0892 1.149" actuatorfrcrange="-25 25"/>
162
+ <geom type="mesh" contype="0" conaffinity="0" group="1" density="0" rgba="0.7 0.7 0.7 1" mesh="left_shoulder_pitch_link"/>
163
+ <geom size="0.03 0.025" pos="0 0.04 -0.01" quat="0.707107 0 0.707107 0" type="cylinder" rgba="0.7 0.7 0.7 1"/>
164
+ <body name="left_shoulder_roll_link" pos="0 0.038 -0.013831" quat="0.990268 -0.139172 0 0">
165
+ <inertial pos="-0.000227 0.00727 -0.063243" quat="0.701256 -0.0196223 -0.00710317 0.712604" mass="0.643" diaginertia="0.000691311 0.000618011 0.000388977"/>
166
+ <joint name="left_shoulder_roll_joint" pos="0 0 0" axis="1 0 0" range="-0.6 2.2515" actuatorfrcrange="-25 25"/>
167
+ <geom type="mesh" contype="0" conaffinity="0" group="1" density="0" rgba="0.7 0.7 0.7 1" mesh="left_shoulder_roll_link"/>
168
+ <geom size="0.03 0.015" pos="-0.004 0.006 -0.053" type="cylinder" rgba="0.7 0.7 0.7 1"/>
169
+ <body name="left_shoulder_yaw_link" pos="0 0.00624 -0.1032">
170
+ <inertial pos="0.010773 -0.002949 -0.072009" quat="0.716879 -0.0964829 -0.0679942 0.687134" mass="0.734" diaginertia="0.00106187 0.00103217 0.000400661"/>
171
+ <joint name="left_shoulder_yaw_joint" pos="0 0 0" axis="0 0 1" range="-1.4 2.0" actuatorfrcrange="-25 25"/>
172
+ <geom type="mesh" contype="0" conaffinity="0" group="1" density="0" rgba="0.7 0.7 0.7 1" mesh="left_shoulder_yaw_link"/>
173
+ <geom type="mesh" rgba="0.7 0.7 0.7 1" mesh="left_shoulder_yaw_link"/>
174
+ <body name="left_elbow_link" pos="0.015783 0 -0.080518">
175
+ <inertial pos="0.064956 0.004454 -0.010062" quat="0.541765 0.636132 0.388821 0.388129" mass="0.6" diaginertia="0.000443035 0.000421612 0.000259353"/>
176
+ <joint name="left_elbow_joint" pos="0 0 0" axis="0 1 0" range="-1.0472 1.7" actuatorfrcrange="-25 25"/>
177
+ <geom type="mesh" contype="0" conaffinity="0" group="1" density="0" rgba="0.7 0.7 0.7 1" mesh="left_elbow_link"/>
178
+ <geom type="mesh" rgba="0.7 0.7 0.7 1" mesh="left_elbow_link"/>
179
+ <body name="left_wrist_roll_link" pos="0.1 0.00188791 -0.01">
180
+ <inertial pos="0.0171394 0.000537591 4.8864e-07" quat="0.575338 0.411667 -0.574906 0.411094" mass="0.085445" diaginertia="5.48211e-05 4.96646e-05 3.57798e-05"/>
181
+ <joint name="left_wrist_roll_joint" pos="0 0 0" axis="1 0 0" range="-1.97222 1.97222" actuatorfrcrange="-25 25"/>
182
+ <geom type="mesh" contype="0" conaffinity="0" group="1" density="0" rgba="0.7 0.7 0.7 1" mesh="left_wrist_roll_link"/>
183
+ <geom type="mesh" rgba="0.7 0.7 0.7 1" mesh="left_wrist_roll_link"/>
184
+ <body name="left_wrist_pitch_link" pos="0.038 0 0">
185
+ <inertial pos="0.0229999 -0.00111685 -0.00111658" quat="0.249998 0.661363 0.293036 0.643608" mass="0.48405" diaginertia="0.000430353 0.000429873 0.000164648"/>
186
+ <joint name="left_wrist_pitch_joint" pos="0 0 0" axis="0 1 0" range="-1.61443 1.61443" actuatorfrcrange="-5 5"/>
187
+ <geom type="mesh" contype="0" conaffinity="0" group="1" density="0" rgba="0.7 0.7 0.7 1" mesh="left_wrist_pitch_link"/>
188
+ <geom type="mesh" rgba="0.7 0.7 0.7 1" mesh="left_wrist_pitch_link"/>
189
+ <body name="left_wrist_yaw_link" pos="0.046 0 0">
190
+ <inertial pos="0.0708244 0.000191745 0.00161742" quat="0.510571 0.526295 0.468078 0.493188" mass="0.254576" diaginertia="0.000646113 0.000559993 0.000147566"/>
191
+ <joint name="left_wrist_yaw_joint" pos="0 0 0" axis="0 0 1" range="-1.61443 1.61443" actuatorfrcrange="-5 5"/>
192
+ <geom type="mesh" contype="0" conaffinity="0" group="1" density="0" rgba="0.7 0.7 0.7 1" mesh="left_wrist_yaw_link"/>
193
+ <geom type="mesh" rgba="0.7 0.7 0.7 1" mesh="left_wrist_yaw_link"/>
194
+ <body name="left_rubber_hand" pos="0.0415 0.003 0" quat="1 0 0 0">
195
+ <geom type="mesh" contype="0" conaffinity="0" group="1" density="0" rgba="0.7 0.7 0.7 1" mesh="left_rubber_hand"/>
196
+ </body>
197
+ </body>
198
+ </body>
199
+ </body>
200
+ </body>
201
+ </body>
202
+ </body>
203
+ </body>
204
+ <body name="right_shoulder_pitch_link" pos="0.0039563 -0.10021 0.24778" quat="0.990264 -0.139201 1.38722e-05 9.86868e-05">
205
+ <inertial pos="0 -0.035892 -0.011628" quat="0.68225 -0.326267 0.0130458 0.654152" mass="0.718" diaginertia="0.000465864 0.000432842 0.000406394"/>
206
+ <joint name="right_shoulder_pitch_joint" pos="0 0 0" axis="0 1 0" range="-3.0892 1.149" actuatorfrcrange="-25 25"/>
207
+ <geom type="mesh" contype="0" conaffinity="0" group="1" density="0" rgba="0.7 0.7 0.7 1" mesh="right_shoulder_pitch_link"/>
208
+ <geom size="0.03 0.025" pos="0 -0.04 -0.01" quat="0.707107 0 0.707107 0" type="cylinder" rgba="0.7 0.7 0.7 1"/>
209
+ <body name="right_shoulder_roll_link" pos="0 -0.038 -0.013831" quat="0.990268 0.139172 0 0">
210
+ <inertial pos="-0.000227 -0.00727 -0.063243" quat="0.712604 -0.00710317 -0.0196223 0.701256" mass="0.643" diaginertia="0.000691311 0.000618011 0.000388977"/>
211
+ <joint name="right_shoulder_roll_joint" pos="0 0 0" axis="1 0 0" range="-2.2515 0.6" actuatorfrcrange="-25 25"/>
212
+ <geom type="mesh" contype="0" conaffinity="0" group="1" density="0" rgba="0.7 0.7 0.7 1" mesh="right_shoulder_roll_link"/>
213
+ <geom size="0.03 0.015" pos="-0.004 -0.006 -0.053" type="cylinder" rgba="0.7 0.7 0.7 1"/>
214
+ <body name="right_shoulder_yaw_link" pos="0 -0.00624 -0.1032">
215
+ <inertial pos="0.010773 0.002949 -0.072009" quat="0.687134 -0.0679942 -0.0964829 0.716879" mass="0.734" diaginertia="0.00106187 0.00103217 0.000400661"/>
216
+ <joint name="right_shoulder_yaw_joint" pos="0 0 0" axis="0 0 1" range="-2.0 1.4" actuatorfrcrange="-25 25"/>
217
+ <geom type="mesh" contype="0" conaffinity="0" group="1" density="0" rgba="0.7 0.7 0.7 1" mesh="right_shoulder_yaw_link"/>
218
+ <geom type="mesh" rgba="0.7 0.7 0.7 1" mesh="right_shoulder_yaw_link"/>
219
+ <body name="right_elbow_link" pos="0.015783 0 -0.080518">
220
+ <inertial pos="0.064956 -0.004454 -0.010062" quat="0.388129 0.388821 0.636132 0.541765" mass="0.6" diaginertia="0.000443035 0.000421612 0.000259353"/>
221
+ <joint name="right_elbow_joint" pos="0 0 0" axis="0 1 0" range="-1.0472 1.7" actuatorfrcrange="-25 25"/>
222
+ <geom type="mesh" contype="0" conaffinity="0" group="1" density="0" rgba="0.7 0.7 0.7 1" mesh="right_elbow_link"/>
223
+ <geom type="mesh" rgba="0.7 0.7 0.7 1" mesh="right_elbow_link"/>
224
+ <body name="right_wrist_roll_link" pos="0.1 -0.00188791 -0.01">
225
+ <inertial pos="0.0171394 -0.000537591 4.8864e-07" quat="0.411667 0.575338 -0.411094 0.574906" mass="0.085445" diaginertia="5.48211e-05 4.96646e-05 3.57798e-05"/>
226
+ <joint name="right_wrist_roll_joint" pos="0 0 0" axis="1 0 0" range="-1.97222 1.97222" actuatorfrcrange="-25 25"/>
227
+ <geom type="mesh" contype="0" conaffinity="0" group="1" density="0" rgba="0.7 0.7 0.7 1" mesh="right_wrist_roll_link"/>
228
+ <geom type="mesh" rgba="0.7 0.7 0.7 1" mesh="right_wrist_roll_link"/>
229
+ <body name="right_wrist_pitch_link" pos="0.038 0 0">
230
+ <inertial pos="0.0229999 0.00111685 -0.00111658" quat="0.643608 0.293036 0.661363 0.249998" mass="0.48405" diaginertia="0.000430353 0.000429873 0.000164648"/>
231
+ <joint name="right_wrist_pitch_joint" pos="0 0 0" axis="0 1 0" range="-1.61443 1.61443" actuatorfrcrange="-5 5"/>
232
+ <geom type="mesh" contype="0" conaffinity="0" group="1" density="0" rgba="0.7 0.7 0.7 1" mesh="right_wrist_pitch_link"/>
233
+ <geom type="mesh" rgba="0.7 0.7 0.7 1" mesh="right_wrist_pitch_link"/>
234
+ <body name="right_wrist_yaw_link" pos="0.046 0 0">
235
+ <inertial pos="0.0708244 -0.000191745 0.00161742" quat="0.493188 0.468078 0.526295 0.510571" mass="0.254576" diaginertia="0.000646113 0.000559993 0.000147566"/>
236
+ <joint name="right_wrist_yaw_joint" pos="0 0 0" axis="0 0 1" range="-1.61443 1.61443" actuatorfrcrange="-5 5"/>
237
+ <geom type="mesh" contype="0" conaffinity="0" group="1" density="0" rgba="0.7 0.7 0.7 1" mesh="right_wrist_yaw_link"/>
238
+ <geom type="mesh" rgba="0.7 0.7 0.7 1" mesh="right_wrist_yaw_link"/>
239
+ <body name="right_rubber_hand" pos="0.0415 -0.003 0" quat="1 0 0 0">
240
+ <geom type="mesh" contype="0" conaffinity="0" group="1" density="0" rgba="0.7 0.7 0.7 1" mesh="right_rubber_hand"/>
241
+ </body>
242
+ </body>
243
+ </body>
244
+ </body>
245
+ </body>
246
+ </body>
247
+ </body>
248
+ </body>
249
+ </body>
250
+ </body>
251
+ </body>
252
+ </body>
253
+ </worldbody>
254
+
255
+ <actuator>
256
+ <motor name="left_hip_pitch_joint" joint="left_hip_pitch_joint"/>
257
+ <motor name="left_hip_roll_joint" joint="left_hip_roll_joint"/>
258
+ <motor name="left_hip_yaw_joint" joint="left_hip_yaw_joint"/>
259
+ <motor name="left_knee_joint" joint="left_knee_joint"/>
260
+ <motor name="left_ankle_pitch_joint" joint="left_ankle_pitch_joint"/>
261
+ <motor name="left_ankle_roll_joint" joint="left_ankle_roll_joint"/>
262
+ <motor name="right_hip_pitch_joint" joint="right_hip_pitch_joint"/>
263
+ <motor name="right_hip_roll_joint" joint="right_hip_roll_joint"/>
264
+ <motor name="right_hip_yaw_joint" joint="right_hip_yaw_joint"/>
265
+ <motor name="right_knee_joint" joint="right_knee_joint"/>
266
+ <motor name="right_ankle_pitch_joint" joint="right_ankle_pitch_joint"/>
267
+ <motor name="right_ankle_roll_joint" joint="right_ankle_roll_joint"/>
268
+ <motor name="waist_yaw_joint" joint="waist_yaw_joint"/>
269
+ <motor name="waist_roll_joint" joint="waist_roll_joint"/>
270
+ <motor name="waist_pitch_joint" joint="waist_pitch_joint"/>
271
+ <motor name="left_shoulder_pitch_joint" joint="left_shoulder_pitch_joint"/>
272
+ <motor name="left_shoulder_roll_joint" joint="left_shoulder_roll_joint"/>
273
+ <motor name="left_shoulder_yaw_joint" joint="left_shoulder_yaw_joint"/>
274
+ <motor name="left_elbow_joint" joint="left_elbow_joint"/>
275
+ <motor name="left_wrist_roll_joint" joint="left_wrist_roll_joint"/>
276
+ <motor name="left_wrist_pitch_joint" joint="left_wrist_pitch_joint"/>
277
+ <motor name="left_wrist_yaw_joint" joint="left_wrist_yaw_joint"/>
278
+ <motor name="right_shoulder_pitch_joint" joint="right_shoulder_pitch_joint"/>
279
+ <motor name="right_shoulder_roll_joint" joint="right_shoulder_roll_joint"/>
280
+ <motor name="right_shoulder_yaw_joint" joint="right_shoulder_yaw_joint"/>
281
+ <motor name="right_elbow_joint" joint="right_elbow_joint"/>
282
+ <motor name="right_wrist_roll_joint" joint="right_wrist_roll_joint"/>
283
+ <motor name="right_wrist_pitch_joint" joint="right_wrist_pitch_joint"/>
284
+ <motor name="right_wrist_yaw_joint" joint="right_wrist_yaw_joint"/>
285
+ </actuator>
286
+
287
+ <sensor>
288
+ <framequat name='orientation' objtype='site' noise='0.001' objname='imu_in_pelvis'/>
289
+ <framepos name='position' objtype='site' noise='0.001' objname='imu_in_pelvis'/>
290
+ <gyro name='angular-velocity' cutoff='34.9' noise='0.005' site='imu_in_pelvis'/>
291
+ </sensor>
292
+
293
+
294
+ <!-- setup scene -->
295
+ <statistic center="1.0 0.7 1.0" extent="0.8"/>
296
+ <visual>
297
+ <headlight diffuse="0.6 0.6 0.6" ambient="0.1 0.1 0.1" specular="0.9 0.9 0.9"/>
298
+ <rgba haze="0.15 0.25 0.35 1"/>
299
+ <global azimuth="-140" elevation="-20" offwidth="2080" offheight="1170"/>
300
+ </visual>
301
+ <asset>
302
+ <texture type="skybox" builtin="gradient" rgb1="1 1 1" rgb2="1 1 1" width="800" height="800"/>
303
+ <texture type="2d" name="groundplane" builtin="checker" mark="edge" rgb1="1 1 1" rgb2="1 1 1" markrgb="0 0 0"
304
+ width="300" height="300"/>
305
+ <material name="groundplane" texture="groundplane" texuniform="true" texrepeat="5 5" reflectance="0"/>
306
+ <texture type="skybox" builtin="gradient" rgb1=".4 .5 .6" rgb2="0 0 0" width="100" height="100"/>
307
+ <texture builtin="flat" height="1278" mark="cross" markrgb="1 1 1" name="texgeom" random="0.01" rgb1="0.8 0.6 0.4" rgb2="0.8 0.6 0.4" type="cube" width="127"/>
308
+ <texture name="texplane" builtin="checker" height="512" width="512" rgb1=".2 .3 .4" rgb2=".1 .15 .2" type="2d" />
309
+ <material name="MatPlane" reflectance="0.5" shininess="0.01" specular="0.1" texrepeat="1 1" texture="texplane" texuniform="true" />
310
+ <material name="geom" texture="texgeom" texuniform="true"/>
311
+ </asset>
312
+ <worldbody>
313
+ <geom name="floor" size="0 0 0.01" type="plane" material="groundplane" contype="1" conaffinity="0" priority="1"
314
+ friction="0.6" condim="3"/>
315
+
316
+ <light diffuse=".5 .5 .5" pos="-3 -3 5" dir="3 3 -5" castshadow="true"/>
317
+
318
+ </worldbody>
319
+ </mujoco>
assets/system-targets/robot/unitree_g1/meshes/head_link.STL.b64.txt ADDED
The diff for this file is too large to render. See raw diff
 
assets/system-targets/robot/unitree_g1/meshes/left_ankle_pitch_link.STL.b64.txt ADDED
@@ -0,0 +1 @@
 
 
1
+ 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
assets/system-targets/robot/unitree_g1/meshes/left_ankle_roll_link.STL.b64.txt ADDED
The diff for this file is too large to render. See raw diff
 
assets/system-targets/robot/unitree_g1/meshes/left_elbow_link.STL.b64.txt ADDED
The diff for this file is too large to render. See raw diff
 
assets/system-targets/robot/unitree_g1/meshes/left_hip_pitch_link.STL.b64.txt ADDED
The diff for this file is too large to render. See raw diff
 
assets/system-targets/robot/unitree_g1/meshes/left_hip_roll_link.STL.b64.txt ADDED
The diff for this file is too large to render. See raw diff
 
assets/system-targets/robot/unitree_g1/meshes/left_hip_yaw_link.STL.b64.txt ADDED
The diff for this file is too large to render. See raw diff
 
assets/system-targets/robot/unitree_g1/meshes/left_knee_link.STL.b64.txt ADDED
The diff for this file is too large to render. See raw diff
 
assets/system-targets/robot/unitree_g1/meshes/left_rubber_hand.STL.b64.txt ADDED
The diff for this file is too large to render. See raw diff
 
assets/system-targets/robot/unitree_g1/meshes/left_shoulder_pitch_link.STL.b64.txt ADDED
The diff for this file is too large to render. See raw diff
 
assets/system-targets/robot/unitree_g1/meshes/left_shoulder_roll_link.STL.b64.txt ADDED
The diff for this file is too large to render. See raw diff
 
assets/system-targets/robot/unitree_g1/meshes/left_shoulder_yaw_link.STL.b64.txt ADDED
The diff for this file is too large to render. See raw diff
 
assets/system-targets/robot/unitree_g1/meshes/left_wrist_pitch_link.STL.b64.txt ADDED
The diff for this file is too large to render. See raw diff
 
assets/system-targets/robot/unitree_g1/meshes/left_wrist_roll_link.STL.b64.txt ADDED
The diff for this file is too large to render. See raw diff
 
assets/system-targets/robot/unitree_g1/meshes/left_wrist_yaw_link.STL.b64.txt ADDED
The diff for this file is too large to render. See raw diff
 
assets/system-targets/robot/unitree_g1/meshes/logo_link.STL.b64.txt ADDED
The diff for this file is too large to render. See raw diff
 
assets/system-targets/robot/unitree_g1/meshes/pelvis.STL.b64.txt ADDED
The diff for this file is too large to render. See raw diff
 
assets/system-targets/robot/unitree_g1/meshes/pelvis_contour_link.STL.b64.txt ADDED
The diff for this file is too large to render. See raw diff
 
assets/system-targets/robot/unitree_g1/meshes/right_ankle_pitch_link.STL.b64.txt ADDED
@@ -0,0 +1 @@
 
 
1
+ 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bveEuxlsBbxii/q7b/eEu1rnXLywvK27hPeEu+ShbrwAAIpxNjYAAIC/2d56NcGW7ruH94S7NFitOwv8u7t794S7wDvjO4p4pLtu94S7Kqw3PAAAinE2NgAAgL/Z3no1iniku273hLsqrDc8C/y7u3v3hLvAO+M7rCJ7u233hLsSbAU8AAD5zZS2AACAvwU39rWKeKS7bveEuyqsNzysInu7bfeEuxJsBTxjyVe7gveEu+/CRjwAAOzVW7YAAIC/W6AFtmPJV7uC94S778JGPKwie7tt94S7EmwFPKEL3bp/94S7D9gQPAAAinE2NgAAgL/Z3no1Y8lXu4L3hLvvwkY8oQvdun/3hLsP2BA8ixa6unb3hLtpDVA8AAAFR6e2AACAv6vqxDWLFrq6dveEu2kNUDyhC926f/eEuw/YEDz6Vwo6iveEu3gwUzwAADQMgzQAAIC/YrHOtdGrGDx/94S7iYAVPO90/TuF94S703EvPHgFnjt894S7mgD5OwAAAmOKtgAAgL/UPis2eAWeO3z3hLuaAPk773T9O4X3hLvTcS88oVO/O233hLvO9kI8AACKcTY2AACAv9neejV4BZ47fPeEu5oA+TuhU787bfeEu872QjyyQzY7hveEuzE9DDwAAIpxNjYAAIC/2d56NbJDNjuG94S7MT0MPKFTvztt94S7zvZCPH0idDt494S76hRPPAAAinE2NgAAgL/Z3no1skM2O4b3hLsxPQw8fSJ0O3j3hLvqFE88JZvEOoX3hLt4MFM8AABEp4E1AACAvxpjHzawom68c/eEu046lzuDhoG8ffeEu0kZSzsTSxK8efeEuznZkzoAABTPYTUAAIC/giUCNhNLErx594S7OdmTOoOGgbx994S7SRlLO3EcibyG94S7bmqzOgAAXXtaNQAAgL/6hI01E0sSvHn3hLs52ZM6cRyJvIb3hLtuarM6vnQTvHz3hLuBQw6yAACHAe20AACAvyG3yra+dBO8fPeEu4FDDrJxHIm8hveEu25qszpVyI28bfeEu0dpBboAAFOFZbUAAIC/8oI+Nb50E7x894S7gUMOslXIjbxt94S7R2kFug5LErx+94S73dmTugAAmidatQAAgL+6Kqw1DksSvH73hLvd2ZO6VciNvG33hLtHaQW6JlyPvHP3hLt3VyG7AAAPvye1AACAv1xpozMOSxK8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
assets/system-targets/robot/unitree_g1/meshes/right_ankle_roll_link.STL.b64.txt ADDED
The diff for this file is too large to render. See raw diff
 
assets/system-targets/robot/unitree_g1/meshes/right_elbow_link.STL.b64.txt ADDED
The diff for this file is too large to render. See raw diff
 
assets/system-targets/robot/unitree_g1/meshes/right_hip_pitch_link.STL.b64.txt ADDED
The diff for this file is too large to render. See raw diff
 
assets/system-targets/robot/unitree_g1/meshes/right_hip_roll_link.STL.b64.txt ADDED
The diff for this file is too large to render. See raw diff
 
assets/system-targets/robot/unitree_g1/meshes/right_hip_yaw_link.STL.b64.txt ADDED
The diff for this file is too large to render. See raw diff
 
assets/system-targets/robot/unitree_g1/meshes/right_knee_link.STL.b64.txt ADDED
The diff for this file is too large to render. See raw diff
 
assets/system-targets/robot/unitree_g1/meshes/right_rubber_hand.STL.b64.txt ADDED
The diff for this file is too large to render. See raw diff
 
assets/system-targets/robot/unitree_g1/meshes/right_shoulder_pitch_link.STL.b64.txt ADDED
The diff for this file is too large to render. See raw diff