Skip to content

fix(pages): preserve checkpoint nesting so deployed 3D scenes resolve#227

Merged
MiaoDX merged 1 commit into
mainfrom
claude/3d-scene-404-fix-IN8Jf
May 22, 2026
Merged

fix(pages): preserve checkpoint nesting so deployed 3D scenes resolve#227
MiaoDX merged 1 commit into
mainfrom
claude/3d-scene-404-fix-IN8Jf

Conversation

@MiaoDX
Copy link
Copy Markdown
Owner

@MiaoDX MiaoDX commented May 22, 2026

Problem

On the deployed site (e.g. https://miaodx.com/roboharness/grasp/index.html), every Interactive 3D Scene panel showed a 404 / File not found.

Root cause

reporting.py emits each meshcat iframe src as a path relative to the harness output root, e.g. mujoco_grasp/trial_001/<cp>/meshcat_scene.html. This is correct for local viewing (the report sits at the output root) and is locked in by a regression test.

The GitHub Pages deploy (.github/workflows/pages.yml), however, flattened the checkpoints into _site/grasp/<cp>/. So the deployed report at grasp/index.html resolved its iframe to grasp/mujoco_grasp/trial_001/<cp>/meshcat_scene.html — which didn't exist → 404. Camera images survived only because they're base64-embedded; the meshcat HTML is the one asset referenced by URL.

This is FINDING-001 (docs/designs/mujoco-grasp-report-design-audit-20260415.md) resurfacing on the deployed artifact: the earlier fix corrected the local layout but the deploy layout still diverged.

Fix

Deploy the grasp and g1-reach checkpoint assets under the nested path the report actually links to (_site/grasp/mujoco_grasp/trial_001/<cp>/ and _site/g1-reach/g1_wbc_reach/trial_001/<cp>/) instead of flattening them. No source/report changes, so the existing regression test stays valid and local viewing is unaffected.

Test plan

  • pages.yml re-run on main deploys with the nested layout
  • https://miaodx.com/roboharness/grasp/index.html loads the 3D scenes (no 404)
  • g1-reach report scenes load

Generated by Claude Code

The HTML report references meshcat scenes by their output-relative path
(e.g. mujoco_grasp/trial_001/<cp>/meshcat_scene.html), but the Pages
deploy flattened checkpoints into _site/grasp/<cp>/, so the deployed
report looked for grasp/mujoco_grasp/... and every Interactive 3D Scene
iframe 404'd. Deploy the grasp and g1-reach checkpoint assets under the
nested path the report actually links to.

https://claude.ai/code/session_01UTMNfmaXGFrNHjCYMSHWmb
@MiaoDX MiaoDX marked this pull request as ready for review May 22, 2026 07:45
@MiaoDX MiaoDX merged commit 9f298e9 into main May 22, 2026
11 checks passed
@MiaoDX MiaoDX deleted the claude/3d-scene-404-fix-IN8Jf branch May 22, 2026 07:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants