Schema

registry-item.json

The shape of a single item in a registry. Each item.json (and each emitted r/<name>.json) conforms to this.

Fields

$schemastringoptional
namestringrequired
type"registry:template" | "registry:scene" | "registry:component" | "registry:system" | "registry:asset" | "registry:shader" | "registry:audio" | "registry:model" | "registry:tileset" | "registry:ui" | "registry:hook" | "registry:utility" | "registry:config" | "registry:recipe" | "registry:plugin"required
values:registry:templateregistry:sceneregistry:componentregistry:systemregistry:assetregistry:shaderregistry:audioregistry:modelregistry:tilesetregistry:uiregistry:hookregistry:utilityregistry:configregistry:reciperegistry:plugin
titlestringrequired
descriptionstringrequired
versionstringrequired
licensestringoptional
licenseUrlstringoptional
authoranyOfrequired

One of

[variant 1]stringoptional
[variant 2]objectoptional
namestringrequired
urlstringoptional
emailstringoptional
tagsarray<string>optional

Each item

[item]stringrequired
attributionRequiredbooleanoptional
commercialUsebooleanoptional
redistributionbooleanoptional
aiGeneratedbooleanoptional
compatibilityobjectoptional
enginesobjectrequired
frameworksarray<"vanilla" | "react">required

Each item

[item]"vanilla" | "react"required
values:vanillareact
languagesarray<"typescript" | "javascript">required

Each item

[item]"typescript" | "javascript"required
values:typescriptjavascript
bundlersarray<string>required

Each item

[item]stringrequired
librariesobjectoptional
platformsarray<string>optional

Each item

[item]stringrequired
dependenciesobjectoptional
npmarray<string>optional

Each item

[item]stringrequired
registryarray<string>optional

Each item

[item]stringrequired
filesarray<object>required

Each item

[item]objectrequired
pathstringrequired
targetstringrequired
type"source" | "asset" | "documentation"required
values:sourceassetdocumentation
language"typescript" | "javascript"optional
values:typescriptjavascript
contentstringoptional
urlstringoptional
integritystringoptional
assetsarray<oneOf>optional

Each item

[item]oneOfrequired

One of

[variant 1]objectoptional
idstringrequired
type"image"required
pathstringrequired
widthintegeroptional
heightintegeroptional
[variant 2]objectoptional
idstringrequired
type"spritesheet"required
pathstringrequired
widthintegeroptional
heightintegeroptional
frameWidthintegerrequired
frameHeightintegerrequired
animationsarray<object>optional

Each item

[item]objectrequired
keystringrequired
framesarray<integer>required

Each item

[item]integerrequired
frameRatenumberoptional
repeatintegeroptional
[variant 3]objectoptional
idstringrequired
type"audio"required
pathstringrequired
durationnumberoptional
formatsarray<"wav" | "mp3" | "ogg" | "m4a" | "webm">optional

Each item

[item]"wav" | "mp3" | "ogg" | "m4a" | "webm"required
values:wavmp3oggm4awebm
[variant 4]objectoptional
idstringrequired
type"model"required
pathstringrequired
format"glb" | "gltf" | "obj" | "fbx"required
values:glbgltfobjfbx
trianglesintegeroptional
animationsarray<string>optional

Each item

[item]stringrequired
[variant 5]objectoptional
idstringrequired
type"shader"required
pathstringrequired
stage"vertex" | "fragment" | "compute"required
values:vertexfragmentcompute
[variant 6]objectoptional
idstringrequired
type"tileset"required
pathstringrequired
tileWidthintegerrequired
tileHeightintegerrequired
columnsintegeroptional
rowsintegeroptional
integrationobjectoptional
previewobjectoptional
thumbnailstringoptional
demostringoptional
gifstringoptional