Community-submitted scenes for theprototype.app — what the Community tab of the Templates modal lists (logo menu ▸ Templates ▸ Community). Submissions are pull requests: nothing appears in the app until a maintainer reviews and merges, and CI validates every entry.
- Build your scene in the app and save it: logo menu ▸ Save with the
Scene format → you get a
.tpscenefile. Keep it under 25 MB (primitives are tiny; imported models/audio bundle into the file). - Fork this repo and add one folder:
<your-slug>/
scene.tpscene the scene itself
thumb.webp a 480x270 screenshot (webp or png)
entry.json metadata (below)
- Add the same data as one row to the root
gallery.jsonentriesarray (fields below, plusscene/thumbrepo-relative paths andbytes= the scene file size). - Open a pull request. CI checks the schema, sizes and license; a maintainer reviews the content and merges. Merged scenes show up in the app within minutes.
entry.json:
{
"title": "Sky castle",
"author": "your-github-handle",
"license": "CC0-1.0",
"description": "One or two sentences about the scene.",
"tags": ["building", "showcase"],
"appVersion": "1.2.0",
"created": "2026-08-09"
}- License must be one of
CC0-1.0,CC-BY-4.0,MIT— you are publishing the scene for anyone to load, remix and reuse (CC-BY keeps your attribution). - Everything in the scene must be yours to license that way (no ripped assets).
scene.tpscene≤ 25 MB, thumbnail ≤ 512 KB.- Content must be safe-for-work and legal; maintainers decline anything else at review. Report a problem with a published scene by opening an issue.
- Slug = lowercase letters, digits and dashes, unique.
gallery.jsonis fetched fromraw.githubusercontent.com(fresh — merges appear within minutes).- Scene/thumb files ride the jsDelivr mirror of
main(https://cdn.jsdelivr.net/gh/theprototype-app/community-gallery@main/..., ~12 h cache). Files over ~20 MB should use an absoluteraw.githubusercontent.comURL in theirgallery.jsonrow instead (the jsDelivr per-file cap). - Constants live in the core repo's
src/lib/sceneTemplates.js.
v1 keeps it simple: star this repo, react on an entry's PR, or open a Discussion. No accounts, no backend.