Curated starting scenes for theprototype.app — the content behind the Templates modal (logo menu ▸ Templates). Maintainer-curated; community submissions go to community-gallery instead.
index.json the manifest the app fetches
templates/<slug>/scene.tpscene starting-point scenes (General tab)
templates/<slug>/thumb.webp 480x270 card thumbnail
examples/<slug>/... curated showcase scenes (Examples tab)
index.json:
{
"version": 1,
"templates": [
{
"slug": "level-blockout",
"title": "Level blockout",
"description": "…",
"author": "theprototype",
"license": "CC0-1.0",
"bytes": 3279,
"scene": "templates/level-blockout/scene.tpscene",
"thumb": "templates/level-blockout/thumb.webp"
}
],
"examples": []
}scene/thumbare repo-relative; absolutehttps://URLs pass through untouched (useraw.githubusercontent.comfor files over ~20 MB — the jsDelivr per-file cap).- A
.tpsceneis the app's session zip (session.json+ optionalassets/): save one from the app via logo menu ▸ Save ▸ Scene.
The app fetches index.json via the tag-pinned jsDelivr mirror
(https://cdn.jsdelivr.net/gh/theprototype-app/scenes@v1/... — see SCENES_BASE
in the core repo's src/lib/sceneTemplates.js). jsDelivr caches tags
aggressively, so content releases are: commit → re-point the tag → the app
picks it up without a redeploy.
git tag -f v1 && git push -f origin v1 # re-point the serving tag
- Build the scene in the app (primitives keep it small; assets bundle into the zip when saved with assets enabled).
- Save as
.tpscene, drop it undertemplates/<slug>/orexamples/<slug>/with athumb.webp(480x270). - Add its row to
index.json(bytes= the file size). - Commit, re-point the tag.
The core repo's scripts/author-templates.cjs regenerates the seed templates
programmatically and can write this repo's tree via --out.
Content in this repo is CC0 1.0 unless a scene's license field
says otherwise.