RFC: Runtime-aware App executables - #507
Open
replghost wants to merge 3 commits into
Open
Conversation
pgherveou
reviewed
Aug 27, 2026
| Graphics is required. Device input and audio are optional and should be omitted | ||
| when unused. | ||
|
|
||
| The graphics profiles have the following roles: |
Collaborator
There was a problem hiding this comment.
for reference would be nice to know what host today, support what
Contributor
Author
There was a problem hiding this comment.
The v2 manifest is supported by Epoca 0.2.0 and later.
It can also be tried from the feat/pvm-wasm branch of dotli-community.
Reproducible App manifest v2 examples for the framebuffer, Tri2D, and WebGPU Raster profiles are available in paritytech/product-runtime-examples.
iOS and Android currently support web Apps and do not yet implement the PolkaVM runtime.
I have kept these references out of the RFC because they describe implementation status rather than the portable contract.
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.
RFC: Runtime-aware App executables
Summary
Introduces App executable manifest v2 with an explicit runtime. Web remains the mandatory App runtime; Products may additionally declare a PolkaVM runtime with versioned graphics, device-input, and audio requirements.
The proposal keeps App as the executable kind, treats PolkaVM as its runtime, and treats framebuffer, Tri2D, and WebGPU Raster as negotiated graphics profiles.
Checklist
docs/rfcs/runtime-aware-app-executables.mdwithout a number; CI assigns one after mergerfclabelrust/crates/truapi/— not applicable: this RFC changes the Product Manifest Format rather than the TruAPI method surfaceMotivation
App manifest v1 implicitly describes a web archive with an
index.htmlentrypoint. It cannot distinguish that archive from a sandboxed PolkaVM program or let a Host preflight the program's graphics and input requirements. Extending v1 would let older Hosts misinterpret PolkaVM bytes as web content, so the proposal adds a fail-closed v2 manifest.Interface changes
This is a manifest-format RFC and does not add or modify a TruAPI method. It therefore contains no changes under
rust/crates/truapi/.The current
validate-rfcworkflow assumes every RFC modifies that directory. The same check failed on the merged Product Manifest RFC (#206) and currently fails on the manifest-only Funding proposal (#458).Validation
git diff --check