tools: add wasm (web) target to custom-app packaging#2130
Merged
Conversation
Custom ossia score apps could be packaged for Linux/macOS/Windows but not for the browser. Add a wasm path so a custom QML UI + score can be deployed as a static web bundle: - create-app-wasm.sh: assembles a servable site. It sources the score wasm runtime (a --local-installer dir/zip, an ossia.score-*-wasm.zip release asset, or the ossia/score-web continuous build), lays the QML tree under /app/qml and the score under /app/, compiles an optional .qrc to resources.rcc, and generates preload.json + index.html that call qtLoad() with the right arguments (--ui /app/qml/<Main>.qml <score> --autoplay) and Qt's official preload mechanism to populate the Emscripten filesystem. - create-app.sh: wire the 'wasm' platform into the dispatch and help text. - wasm.yaml: also zip the built site/ into ossia.score-<ver>-wasm.zip and upload it to the continuous/tag release, so the wasm build is downloadable like every other platform (previously it was only pushed to the score-web repo). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019oPj1zRcxSQX7FNni7EHM6
This was referenced Jul 19, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Custom ossia score apps (the
ossia-templates/score-custom-app-templateflow) could be packaged for Linux/macOS/Windows but not for the browser. This adds a wasm path so a custom QML UI + score can be deployed as a static web bundle.Changes
tools/create-app-wasm.sh(new) — assembles a servable site:--local-installer(dir or.zip), anossia.score-*-wasm.ziprelease asset, or theossia/score-webcontinuous build./app/qml, the score under/app/, compiles an optional.qrc→resources.rcc.preload.json+index.htmlusing Qt's officialqtLoad({ arguments, qt: { preload, environment } })mechanism (--ui /app/qml/<Main>.qml <score> --autoplay), populating the Emscripten FS at startup.tools/create-app.sh— wire thewasmplatform into dispatch + help..github/workflows/wasm.yaml— also zip the assembledsite/intoossia.score-<ver>-wasm.zipand upload to the continuous/tag release, so the wasm build is downloadable like every other platform (previously only pushed toscore-web).Verified
Ran
create-app.sh --platform wasmon the real custom-app template (both--local-installerdir and zip sources). Served the generated bundle in a browser: the full QtQuick.Controls UI loads, theScore.UI.TextureSourcerenders live gfx (a running score gfx node) into the Qt Quick scene graph,PortSourceshows live values, audio plays, no crash.Note: a companion one-line change is needed in
ossia/actions(package-custom-appsparse-checkout must includetools/create-app-wasm.sh) for the GitHub Action to use this.🤖 Generated with Claude Code