diff --git a/.github/workflows/public-demo.yml b/.github/workflows/public-demo.yml index ffc5d23..ffade59 100644 --- a/.github/workflows/public-demo.yml +++ b/.github/workflows/public-demo.yml @@ -115,7 +115,9 @@ jobs: run: | rm -rf outputs/pages-site mkdir -p outputs/pages-site - cp -a outputs/public-demo/. outputs/pages-site/ + mkdir -p outputs/pages-site/fixture + cp -a outputs/public-demo/. outputs/pages-site/fixture/ + cp -a samples/routines/. outputs/pages-site/ mkdir -p outputs/pages-site/samples cp -a samples/routines outputs/pages-site/samples/routines - name: Upload Pages artifact diff --git a/README.md b/README.md index de30d5c..dc45a44 100644 --- a/README.md +++ b/README.md @@ -37,20 +37,22 @@ training loop. | Artifact | Link | | --- | --- | -| Live fixture demo | [`miaodx.com/neodojo`](https://miaodx.com/neodojo/) | -| Full routine gallery | [`miaodx.com/neodojo/samples/routines`](https://miaodx.com/neodojo/samples/routines/) | -| Full Baduanjin report | [`samples/routines/baduanjin/html`](https://miaodx.com/neodojo/samples/routines/baduanjin/html/) | -| Full Wu Qin Xi report | [`samples/routines/wuqinxi/html`](https://miaodx.com/neodojo/samples/routines/wuqinxi/html/) | -| Full Yi Jin Jing report | [`samples/routines/yijinjing/html`](https://miaodx.com/neodojo/samples/routines/yijinjing/html/) | +| Live full routine gallery | [`miaodx.com/neodojo`](https://miaodx.com/neodojo/) | +| Full Baduanjin report | [`baduanjin/html`](https://miaodx.com/neodojo/baduanjin/html/) | +| Full Wu Qin Xi report | [`wuqinxi/html`](https://miaodx.com/neodojo/wuqinxi/html/) | +| Full Yi Jin Jing report | [`yijinjing/html`](https://miaodx.com/neodojo/yijinjing/html/) | +| Fixture demo | [`miaodx.com/neodojo/fixture`](https://miaodx.com/neodojo/fixture/) | +| Full routine gallery mirror | [`miaodx.com/neodojo/samples/routines`](https://miaodx.com/neodojo/samples/routines/) | | CI fixture HTML | `neodojo-public-demo` in the [`public-demo` workflow](https://github.com/MiaoDX/neodojo/actions/workflows/public-demo.yml) | | CI sample-backed real HTML | `neodojo-real-demo-public-demo` in the same workflow | | Local sample-backed real HTML | `outputs/real-demo/public-demo/index.html` after `make ci-real-demo` | | Local routine HTML | `outputs/routines//html/index.html` after the routine split/assemble commands | The committed full routine samples live under [`samples/routines`](samples/routines) -and are published by the Pages workflow. They are lean self-contained reports: -Original video clips, SMPL-X Teaching Track, and 5 fps Unitree G1 Model Replay -MP4 media for each selected round. +and are published as the Pages homepage, with a compatibility mirror at +`/samples/routines/`. They are lean self-contained reports: Original video +clips, SMPL-X Teaching Track, and 5 fps Unitree G1 Model Replay MP4 media for +each selected round. The committed Baduanjin sample includes a small trimmed source clip plus the derived GVHMR/GMR JSON needed to rebuild the demo. Larger source videos should diff --git a/README.zh.md b/README.zh.md index 2de988d..608efe3 100644 --- a/README.zh.md +++ b/README.zh.md @@ -33,20 +33,21 @@ tracks,重定向到仿真 humanoid,再从多角度渲染,并叠加 joint p | Artifact | Link | | --- | --- | -| 在线 fixture demo | [`miaodx.com/neodojo`](https://miaodx.com/neodojo/) | -| 完整套路 gallery | [`miaodx.com/neodojo/samples/routines`](https://miaodx.com/neodojo/samples/routines/) | -| 完整八段锦 report | [`samples/routines/baduanjin/html`](https://miaodx.com/neodojo/samples/routines/baduanjin/html/) | -| 完整五禽戏 report | [`samples/routines/wuqinxi/html`](https://miaodx.com/neodojo/samples/routines/wuqinxi/html/) | -| 完整易筋经 report | [`samples/routines/yijinjing/html`](https://miaodx.com/neodojo/samples/routines/yijinjing/html/) | +| 在线完整套路 gallery | [`miaodx.com/neodojo`](https://miaodx.com/neodojo/) | +| 完整八段锦 report | [`baduanjin/html`](https://miaodx.com/neodojo/baduanjin/html/) | +| 完整五禽戏 report | [`wuqinxi/html`](https://miaodx.com/neodojo/wuqinxi/html/) | +| 完整易筋经 report | [`yijinjing/html`](https://miaodx.com/neodojo/yijinjing/html/) | +| fixture demo | [`miaodx.com/neodojo/fixture`](https://miaodx.com/neodojo/fixture/) | +| 完整套路 gallery mirror | [`miaodx.com/neodojo/samples/routines`](https://miaodx.com/neodojo/samples/routines/) | | CI fixture HTML | [`public-demo` workflow](https://github.com/MiaoDX/neodojo/actions/workflows/public-demo.yml) 里的 `neodojo-public-demo` | | CI sample-backed real HTML | 同一 workflow 里的 `neodojo-real-demo-public-demo` | | 本地 sample-backed real HTML | `make ci-real-demo` 后的 `outputs/real-demo/public-demo/index.html` | | 本地整套套路 HTML | 运行 routine split/assemble 命令后的 `outputs/routines//html/index.html` | 已提交的完整套路 samples 位于 [`samples/routines`](samples/routines),并由 Pages -workflow 发布。它们是 lean self-contained reports:每个 selected round 都包含 -Original video clips、SMPL-X Teaching Track,以及 5 fps Unitree G1 Model Replay -MP4 media。 +workflow 作为 homepage 发布,同时保留 `/samples/routines/` 兼容镜像。它们是 lean +self-contained reports:每个 selected round 都包含 Original video clips、SMPL-X +Teaching Track,以及 5 fps Unitree G1 Model Replay MP4 media。 提交的 Baduanjin sample 包含一个小的 trimmed source clip,以及重建 demo 所需的 GVHMR/GMR 派生 JSON。更大的 source videos 后续用 helper scripts 下载到本地测试, diff --git a/STATUS.md b/STATUS.md index e91075f..b304739 100644 --- a/STATUS.md +++ b/STATUS.md @@ -12,9 +12,11 @@ real Baduanjin G1 replay proof. Viser UI. - Teaching feedback is based on the SMPL-X track. The Unitree G1 track is for visualization and ecosystem fit only. -- The live Pages root demo remains fixture-only at `https://miaodx.com/neodojo/`. - The same Pages deployment now also publishes committed full routine samples - under `https://miaodx.com/neodojo/samples/routines/`. +- The live Pages homepage at `https://miaodx.com/neodojo/` is the committed full + routine gallery for Baduanjin, Wu Qin Xi, and Yi Jin Jing. The fixture public + demo remains available at `https://miaodx.com/neodojo/fixture/`, and the + routine gallery is also mirrored at + `https://miaodx.com/neodojo/samples/routines/` for stable links. - The generated public-demo `index.html` is an interactive synchronized teaching replay: SMPL-X skeleton teaching track plus Unitree G1 visual track by default, and an optional Original video panel when a local reference clip is @@ -89,8 +91,9 @@ real Baduanjin G1 replay proof. - `.github/workflows/public-demo.yml` has a focused MuJoCo smoke lane that installs the `real-g1-replay` extra and validates the G1 renderer through `xvfb-run -a env MUJOCO_GL=glfw`. Its Pages artifact is assembled into - `outputs/pages-site`, with the fixture public demo at the root and committed - routine samples copied under `samples/routines/`. + `outputs/pages-site`, with committed routine samples at the root, the fixture + public demo under `fixture/`, and the routine gallery mirrored under + `samples/routines/`. - The same workflow runs `make ci-real-demo` and uploads `outputs/real-demo/public-demo/index.html` as the `neodojo-real-demo-public-demo` artifact. By default this lane uses diff --git a/samples/routines/README.md b/samples/routines/README.md index 0816964..aca1e11 100644 --- a/samples/routines/README.md +++ b/samples/routines/README.md @@ -1,13 +1,14 @@ # Full Routine Samples This directory contains committed static routine reports for the three tracked -Bilibili routines: +Bilibili routines. The Pages workflow publishes this gallery as the site +homepage and keeps a compatibility mirror under `/samples/routines/`. -| Routine | Local report | Pages URL after deploy | -| --- | --- | --- | -| Baduanjin | [`baduanjin/html/index.html`](baduanjin/html/index.html) | `https://miaodx.com/neodojo/samples/routines/baduanjin/html/` | -| Wu Qin Xi | [`wuqinxi/html/index.html`](wuqinxi/html/index.html) | `https://miaodx.com/neodojo/samples/routines/wuqinxi/html/` | -| Yi Jin Jing | [`yijinjing/html/index.html`](yijinjing/html/index.html) | `https://miaodx.com/neodojo/samples/routines/yijinjing/html/` | +| Routine | Local report | Homepage URL after deploy | Mirror URL after deploy | +| --- | --- | --- | --- | +| Baduanjin | [`baduanjin/html/index.html`](baduanjin/html/index.html) | `https://miaodx.com/neodojo/baduanjin/html/` | `https://miaodx.com/neodojo/samples/routines/baduanjin/html/` | +| Wu Qin Xi | [`wuqinxi/html/index.html`](wuqinxi/html/index.html) | `https://miaodx.com/neodojo/wuqinxi/html/` | `https://miaodx.com/neodojo/samples/routines/wuqinxi/html/` | +| Yi Jin Jing | [`yijinjing/html/index.html`](yijinjing/html/index.html) | `https://miaodx.com/neodojo/yijinjing/html/` | `https://miaodx.com/neodojo/samples/routines/yijinjing/html/` | Each report is a lean self-contained playback artifact with one representative round per phase, local Original video clips, SMPL-X Teaching Track playback,