From b7a10f3fbfb2c6b92f71fa9cfe75ccf593265308 Mon Sep 17 00:00:00 2001 From: David Date: Thu, 4 Jun 2026 13:33:00 -0700 Subject: [PATCH] chore(versions): register mediaplayer_demo (displayxr-demo-mediaplayer) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add the stereo media player demo to the hub so its v1.0.0 release can auto-bump and join the dev-orchestrator / meta-installer matrix: - versions.json: add "mediaplayer_demo" (placeholder v0.0.0; the demo's build-windows.yml dispatches versions-bump on its v* tag, which requires the field to pre-exist — the bump hard-fails on an unknown field). - scripts/lib/components.sh + setup-displayxr.bat: per-component asset table (macOS DisplayXRMediaPlayer-*.pkg, Windows DisplayXRMediaPlayerSetup-*.exe, install markers /Applications/Stereo Media Player.app and HKLM\Software\DisplayXR\Demos\MediaPlayer), mirroring gauss_demo. - dxr-release skill: add the `mediaplayer` / `demo-mediaplayer` component → config row + case resolver. The demo couples to the runtime via the OpenXR extension wire protocol only (no vendor SR SDK); this is just distribution metadata. Co-Authored-By: Claude Opus 4.8 (1M context) --- .claude/skills/dxr-release/SKILL.md | 8 +++++--- scripts/lib/components.sh | 12 ++++++++++++ scripts/setup-displayxr.bat | 4 ++++ versions.json | 3 ++- 4 files changed, 23 insertions(+), 4 deletions(-) diff --git a/.claude/skills/dxr-release/SKILL.md b/.claude/skills/dxr-release/SKILL.md index 3945fab41..91d8c23df 100644 --- a/.claude/skills/dxr-release/SKILL.md +++ b/.claude/skills/dxr-release/SKILL.md @@ -1,6 +1,6 @@ --- name: dxr-release -description: Tag-and-publish a release for any DisplayXR sibling component (shell, leia-plugin, mcp, gauss & modelviewer demos) FROM the displayxr-runtime hub. Takes an explicit component + version — clones the target repo to a temp dir, tags HEAD, watches the repo's CI, watches the dispatched versions-bump.yml on displayxr-runtime, reports the bump + installer-mirror outcome. NOT for displayxr-runtime itself (use /release) and NOT for the bundle (use /installer-release). +description: Tag-and-publish a release for any DisplayXR sibling component (shell, leia-plugin, mcp, gauss & modelviewer & mediaplayer demos) FROM the displayxr-runtime hub. Takes an explicit component + version — clones the target repo to a temp dir, tags HEAD, watches the repo's CI, watches the dispatched versions-bump.yml on displayxr-runtime, reports the bump + installer-mirror outcome. NOT for displayxr-runtime itself (use /release) and NOT for the bundle (use /installer-release). --- # dxr-release — component release driven from the runtime hub @@ -28,7 +28,7 @@ Spec: [`docs/specs/runtime/versions-json-autobump.md`](../../docs/specs/runtime/ ``` /dxr-release - shell | leia-plugin (leia) | mcp | gauss (demo-gaussiansplat) | modelviewer (demo-modelviewer) + shell | leia-plugin (leia) | mcp | gauss (demo-gaussiansplat) | modelviewer (demo-modelviewer) | mediaplayer (demo-mediaplayer) vX.Y.Z | patch | minor | major ``` @@ -52,6 +52,7 @@ from cwd — that's the old cwd-detecting behavior this skill replaced. | `mcp` | `DisplayXR/displayxr-mcp` | `mcp_tools` | `build.yml` | same repo | | `gauss` / `demo-gaussiansplat` | `DisplayXR/displayxr-demo-gaussiansplat` | `gauss_demo` | `build-windows.yml` | same repo | | `modelviewer` / `demo-modelviewer` | `DisplayXR/displayxr-demo-modelviewer` | `modelviewer_demo` | `build-windows.yml` | same repo | +| `mediaplayer` / `demo-mediaplayer` | `DisplayXR/displayxr-demo-mediaplayer` | `mediaplayer_demo` | `build-windows.yml` | same repo | `runtime` → tell the user to use `/release` (in-repo). `installer` → tell them to use `/installer-release`. @@ -84,9 +85,10 @@ case "$COMPONENT" in mcp) REPO=DisplayXR/displayxr-mcp; FIELD=mcp_tools; WORKFLOW=build.yml; REL_REPO=DisplayXR/displayxr-mcp ;; gauss|demo-gaussiansplat) REPO=DisplayXR/displayxr-demo-gaussiansplat; FIELD=gauss_demo; WORKFLOW=build-windows.yml; REL_REPO=DisplayXR/displayxr-demo-gaussiansplat ;; modelviewer|demo-modelviewer) REPO=DisplayXR/displayxr-demo-modelviewer; FIELD=modelviewer_demo; WORKFLOW=build-windows.yml; REL_REPO=DisplayXR/displayxr-demo-modelviewer ;; + mediaplayer|demo-mediaplayer) REPO=DisplayXR/displayxr-demo-mediaplayer; FIELD=mediaplayer_demo; WORKFLOW=build-windows.yml; REL_REPO=DisplayXR/displayxr-demo-mediaplayer ;; runtime) echo "Use /release (in-repo) for the runtime."; exit 1 ;; installer) echo "Use /installer-release for the bundle."; exit 1 ;; - *) echo "Unknown component '$COMPONENT'. One of: shell, leia-plugin, mcp, gauss."; exit 1 ;; + *) echo "Unknown component '$COMPONENT'. One of: shell, leia-plugin, mcp, gauss, modelviewer, mediaplayer."; exit 1 ;; esac echo "repo=$REPO field=$FIELD workflow=$WORKFLOW" ``` diff --git a/scripts/lib/components.sh b/scripts/lib/components.sh index 21622ec5a..874cadf11 100755 --- a/scripts/lib/components.sh +++ b/scripts/lib/components.sh @@ -82,6 +82,18 @@ COMPONENT_EXE_WINDOWS_modelviewer_demo="DisplayXRModelViewerSetup-*.exe" COMPONENT_INSTALL_MARKER_MACOS_modelviewer_demo="" COMPONENT_INSTALL_MARKER_WINDOWS_modelviewer_demo="HKLM\\Software\\DisplayXR\\Demos\\ModelViewer" +# --- mediaplayer_demo --- +# Stereo media player demo (displayxr-demo-mediaplayer). Plays SBS image/video +# on the 3D display via the OpenXR extension wire protocol — no vendor SR SDK. +# Both installers (macOS .pkg + Windows .exe) are built + attached by CI on a +# v* tag. First release v1.0.0. Note: the macOS install marker has a space in +# the path — consumers must quote when testing existence. +COMPONENT_REPO_mediaplayer_demo="DisplayXR/displayxr-demo-mediaplayer" +COMPONENT_PKG_MACOS_mediaplayer_demo="DisplayXRMediaPlayer-*.pkg" +COMPONENT_EXE_WINDOWS_mediaplayer_demo="DisplayXRMediaPlayerSetup-*.exe" +COMPONENT_INSTALL_MARKER_MACOS_mediaplayer_demo="/Applications/Stereo Media Player.app" +COMPONENT_INSTALL_MARKER_WINDOWS_mediaplayer_demo="HKLM\\Software\\DisplayXR\\Demos\\MediaPlayer" + # Helper: look up a per-component field for the current platform. # $1 = component name (runtime, shell, leia_plugin, mcp_tools) # $2 = field (REPO, PKG_MACOS, EXE_WINDOWS, INSTALL_MARKER_MACOS) diff --git a/scripts/setup-displayxr.bat b/scripts/setup-displayxr.bat index c022568b1..08aa48904 100644 --- a/scripts/setup-displayxr.bat +++ b/scripts/setup-displayxr.bat @@ -54,6 +54,10 @@ set "COMPONENT_REPO_modelviewer_demo=DisplayXR/displayxr-demo-modelviewer" set "COMPONENT_EXE_modelviewer_demo=DisplayXRModelViewerSetup-*.exe" set "COMPONENT_MARKER_modelviewer_demo=HKLM\Software\DisplayXR\Demos\ModelViewer" +set "COMPONENT_REPO_mediaplayer_demo=DisplayXR/displayxr-demo-mediaplayer" +set "COMPONENT_EXE_mediaplayer_demo=DisplayXRMediaPlayerSetup-*.exe" +set "COMPONENT_MARKER_mediaplayer_demo=HKLM\Software\DisplayXR\Demos\MediaPlayer" + REM --- Default flag state --- set "WITH_MCP=0" set "WITH_DEMOS=0" diff --git a/versions.json b/versions.json index 69d87ddee..b14476e5f 100644 --- a/versions.json +++ b/versions.json @@ -5,5 +5,6 @@ "leia_plugin": "v1.2.1", "mcp_tools": "v0.3.4", "gauss_demo": "v1.6.0", - "modelviewer_demo": "v0.7.0" + "modelviewer_demo": "v0.7.0", + "mediaplayer_demo": "v0.0.0" }