Publish a playable game
publish_playableDeliver one version of a game built with the playable workflow (get_workflow_instructions {workflow:"playable"}): copies the master HTML and the source zip from the workspace, re-checks the master (at most 5 000 000 bytes, its sha256 equals verdictSha256 from validate.py --final, the bake line once and first, no , equals title) and returns a private play link (/play/...) the user can open and share. Pass playableId to add a version to an existing game; re-publishing a version number replaces it. Poster, icon and video go in as keys from media_confirm. Free; never makes the game public by itself.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | The game's slug (lowercase letters, digits, dashes) | |
| title | Yes | Byte-identical to CONFIG.meta.title and the <title> | |
| params | No | __game.paramsValues() | |
| prompt | No | The user's game prompt as given (the text after /playable, without the VidGuy MCP line, MEDIA or INPUTS), so the gallery can offer Recreate | |
| iconKey | No | media_confirm key of the icon image | |
| locales | No | Locales read from the built file, en first | |
| version | Yes | v01, v02, ... | |
| gameType | No | The host's game_type input, when given | |
| htmlPath | Yes | Workspace path of the master HTML, e.g. ~/work/playable/<slug>/<slug>-v01.html | |
| presetId | No | The preset id, e.g. runner | |
| settings | No | __game.settingsValues() | |
| videoKey | No | media_confirm key of the gameplay video, when one was made | |
| dimension | No | The host's dimension input, when given | |
| posterKey | No | media_confirm key of the poster image | |
| playableId | No | Existing game to add this version to (from an earlier publish) | |
| paramsSchema | No | __game.paramsSchema() | |
| sourceZipPath | Yes | Workspace path of <slug>-v<NN>-source.zip | |
| verdictSha256 | Yes | sha256 from the VERDICT line of validate.py --final on this exact file |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| playUrl | No | ||
| version | No | ||
| playableId | No |