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" }