Skip to content

chore(versions): register mediaplayer_demo (displayxr-demo-mediaplayer)#424

Merged
dfattal merged 1 commit into
mainfrom
register-mediaplayer-demo
Jun 4, 2026
Merged

chore(versions): register mediaplayer_demo (displayxr-demo-mediaplayer)#424
dfattal merged 1 commit into
mainfrom
register-mediaplayer-demo

Conversation

@dfattal
Copy link
Copy Markdown
Collaborator

@dfattal dfattal commented Jun 4, 2026

What

Registers the stereo media player demo (DisplayXR/displayxr-demo-mediaplayer) in the hub so its imminent v1.0.0 release can auto-bump and join the dev-orchestrator / meta-installer matrix.

The demo (M0–M6 complete; one Vulkan codebase across Windows/Linux/macOS, FFmpeg decode, subtle-3D ImGui UI) couples to the runtime via the OpenXR extension wire protocol only — no vendor SR SDK. This PR is pure distribution metadata.

Why now (the blocker)

The demo's build-windows.yml dispatches a versions-bump event on its v* tag with field: "mediaplayer_demo". versions-bump.yml's apply step hard-fails on an unknown field (if leaf not in cur: sys.exit("versions.json has no field")). So the field must pre-exist here before the demo cuts v1.0.0, or the bump errors out and the demo never joins the bundle.

Changes

  • versions.json — add "mediaplayer_demo": "v0.0.0" (placeholder; the demo's tag bump rewrites it to v1.0.0).
  • scripts/lib/components.shmediaplayer_demo asset table (macOS DisplayXRMediaPlayer-*.pkg, Windows DisplayXRMediaPlayerSetup-*.exe; markers /Applications/Stereo Media Player.app, HKLM\Software\DisplayXR\Demos\MediaPlayer), mirroring gauss_demo.
  • scripts/setup-displayxr.bat — matching Windows per-component block.
  • .claude/skills/dxr-release/SKILL.md — add the mediaplayer / demo-mediaplayer row to the component→config map + case resolver (so /dxr-release mediaplayer <ver> works).

Verification

  • python3 -c 'json.load(open("versions.json"))' → valid; keys now include mediaplayer_demo.
  • Sourced components.sh; component_field mediaplayer_demo {REPO,PKG_MACOS,EXE_WINDOWS,INSTALL_MARKER_*} all resolve correctly.
  • Markers cross-checked against the demo's NSIS (HKLM\Software\DisplayXR\Demos\MediaPlayer) and macOS bundle name (Stereo Media Player.app).

Follow-up (separate, in displayxr-installer)

Adding the demo's .pkg to the bundle composition (build-bundle.sh extract_* / process_component, like gauss_demo) is a separate displayxr-installer change. The versions.json mirror into displayxr-installer on the next bump already pins the demo.

🤖 Generated with Claude Code

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) <noreply@anthropic.com>
@dfattal dfattal merged commit 24fd237 into main Jun 4, 2026
21 checks passed
@dfattal dfattal deleted the register-mediaplayer-demo branch June 4, 2026 21:09
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.

1 participant