DocumentationCapabilities and limits
Documentation

Capabilities and limits

Generated from the catalog build of stylized-town@0.4.0: what each asset can change without Blender, what is refused on purpose and what to do instead, and what a purchase includes. Agents can read the same facts as JSON at /data/capabilities.json.

What works without Blender, and what does not

LevelWhatBlenderIn this kit
L1Load and place the published GLB as-is
every asset can be loaded and placed; L1 assets declare no customization
not needed22 assets
L2Declared runtime capabilities: recolours and swatches, uniform scale, visibility toggles, part swaps
per instance, in the browser through the SDK; validated, all-or-nothing
not needed8 assets
L3Scene assembly: connector snapping (scene 1.1.0 attach_to) and animation clips
30 snappable assets; scenes are validated with scene validate and assembleScene
not needed30 assets
L4Geometry authoring: new shapes, extra storeys, roof pitch, slat counts
not part of this kit: the kit package has 0 .blend files of 256, and the SDK never runs Blender
needed (or another 3D tool)not included

L1–L3 need only Node.js, the SDK and a browser: no Blender, no Blender MCP, no server-side rendering. Producer recipe parameters of the assets are not customer capabilities.

Assets and their declared modifications

30 assets; 8 assets declare modifications. Each instance owns its change; other instances and the cached GLB stay unchanged. Anything not listed is refused (below). For several buildings that differ only by parts and colours, use variants of one base asset.

AssetLevelDeclared modifications (values)Snapping · clips
Awning part
stylized-town/awning-01@0.1.0
Building parts · kit access
L1none: load and place as-isawning-plug
Park bench
stylized-town/bench-01@0.4.0
Props and vegetation · public sample (free sampler)
L2
  • wood-color (Recolour): any #RRGGBB (default #AE855E)
  • size-scale (Uniform scale): 0.85–1.2 step 0.05 (default 1)
  • armrests (Visibility toggle): true / false (default true)
prop-base
Bus stop shelter
stylized-town/bus-stop-01@0.1.0
Props and vegetation · kit access
L1none: load and place as-isprop-base
Cafe with terrace
stylized-town/cafe-01@0.1.0
Buildings · kit access
L2
  • front-door (Part swap): door-01, door-02 (default)
  • awning (Visibility toggle): true / false (default true)
  • terrace (Visibility toggle): true / false (default true)
  • wall-color (Recolour): swatch paving (default), ivory, lantern-glow
awning-socket, lot-front
Door part: panelled door
stylized-town/door-01@0.1.0
Building parts · kit access
L1none: load and place as-isdoor-plug
clips: open
Door part: glazed door
stylized-town/door-02@0.1.0
Building parts · kit access
L1none: load and place as-isdoor-plug
clips: open
Picket fence segment (2 m)
stylized-town/fence-01@0.2.0
Props and vegetation · kit access
L1none: load and place as-isfence-2m
Hedge segment (2 m)
stylized-town/hedge-01@0.1.0
Props and vegetation · kit access
L1none: load and place as-ishedge-2m
Town house with swappable parts
stylized-town/house-01@0.2.0
Buildings · kit access
L2
  • front-door (Part swap): door-01 (default), door-02
  • window-style (Part swap): window-01 (default), window-02
  • roof (Part swap): roof-gable-01 (default), roof-hip-01
  • chimney (Visibility toggle): true / false (default true)
  • wall-color (Recolour): swatch ivory (default), paving, leaf
  • roof-color (Recolour): swatch terracotta (default), curb-stone
lot-front
Cottage with swappable parts
stylized-town/house-02@0.1.0
Buildings · kit access
L2
  • front-door (Part swap): door-01, door-02 (default)
  • window-style (Part swap): window-01, window-02 (default)
  • roof (Part swap): roof-gable-01, roof-hip-01 (default)
  • wall-color (Recolour): swatch ivory (default), paving, leaf
  • roof-color (Recolour): swatch terracotta (default), terracotta-dark, curb-stone
lot-front
Lawn tile (4 m)
stylized-town/lawn-tile-01@0.1.0
Ground tiles · public sample (free sampler)
L1none: load and place as-isground-edge, prop-socket
Mailbox
stylized-town/mailbox-01@0.1.0
Props and vegetation · kit access
L1none: load and place as-isprop-base
clips: flag-up
Market stall
stylized-town/market-stall-01@0.1.0
Props and vegetation · kit access
L2
  • canopy-color (Recolour): swatch terracotta (default), teal, forest, slate
prop-base
Paved plaza tile (4 m)
stylized-town/plaza-tile-01@0.1.0
Ground tiles · kit access
L1none: load and place as-isground-edge, prop-socket
Road corner tile (4 m, 90 degrees)
stylized-town/road-corner-01@0.2.0
Ground tiles · public sample (free sampler)
L1none: load and place as-isprop-socket, road-4m, road-side
Road crossroads tile (4 m)
stylized-town/road-cross-01@0.1.0
Ground tiles · kit access
L1none: load and place as-isroad-4m
Road crosswalk tile (4 m)
stylized-town/road-crosswalk-01@0.1.0
Ground tiles · kit access
L1none: load and place as-isroad-4m, road-side
Straight road tile (4 m)
stylized-town/road-straight-01@0.3.0
Ground tiles · public sample (free sampler)
L1none: load and place as-isprop-socket, road-4m, road-side
Road T-junction tile (4 m)
stylized-town/road-tee-01@0.2.0
Ground tiles · kit access
L1none: load and place as-isprop-socket, road-4m, road-side
Roof part: gable roof
stylized-town/roof-gable-01@0.1.0
Building parts · kit access
L1none: load and place as-isroof-plug-house
Roof part: hip roof
stylized-town/roof-hip-01@0.1.0
Building parts · kit access
L1none: load and place as-isroof-plug-house
Corner shop with swappable parts
stylized-town/shop-01@0.2.0
Buildings · kit access
L2
  • front-door (Part swap): door-01, door-02 (default)
  • awning (Visibility toggle): true / false (default true)
  • wall-color (Recolour): swatch ivory (default), paving, curb-stone
awning-socket, lot-front
Shrub
stylized-town/shrub-01@0.2.0
Props and vegetation · kit access
L1none: load and place as-isprop-base
Street lamp
stylized-town/street-lamp-01@0.3.0
Props and vegetation · public sample (free sampler)
L2
  • light (Visibility toggle): true / false (default true)
prop-base
Town hall (landmark)
stylized-town/townhall-01@0.1.0
Buildings · kit access
L2
  • flag (Visibility toggle): true / false (default true)
  • wall-color (Recolour): swatch paving (default), curb-stone, leaf
lot-front
Litter bin
stylized-town/trash-bin-01@0.2.0
Props and vegetation · kit access
L1none: load and place as-isprop-base
Street tree
stylized-town/tree-01@0.2.0
Props and vegetation · public sample (free sampler)
L1none: load and place as-isprop-base
Conifer
stylized-town/tree-02@0.1.0
Props and vegetation · kit access
L1none: load and place as-isprop-base
Window part: framed window
stylized-town/window-01@0.1.0
Building parts · kit access
L1none: load and place as-iswindow-plug
Window part: shuttered window
stylized-town/window-02@0.1.0
Building parts · kit access
L1none: load and place as-iswindow-plug

Buildings: storeys, lot, height and roof

From each building's manifest (declared recipe parameters, its roof part swap, its tags). Another footprint, height, storey count or roof shape means another asset, not a customization.

BuildingStoreysLotHeightRoof (declared facts)
Cafe with terrace
stylized-town/cafe-01@0.1.0
14.00 × 8.00 m5.53 mparapet 0.45 m high around the roof
Town house with swappable parts
stylized-town/house-01@0.2.0
24.00 × 6.20 m8.61 mpart swap roof: roof-gable-01, roof-hip-01 (default roof-gable-01)
Cottage with swappable parts
stylized-town/house-02@0.1.0
14.00 × 7.20 m6.02 mpart swap roof: roof-gable-01, roof-hip-01 (default roof-hip-01)
Corner shop with swappable parts
stylized-town/shop-01@0.2.0
14.00 × 6.40 m4.56 mparapet 0.45 m high around the roof
Town hall (landmark)
stylized-town/townhall-01@0.1.0
28.00 × 8.00 m13.72 mroof pitch 30°

Refused on purpose, and what to do instead

Each request below was sent to the SDK's own validator when this page was built; the code, reason and hint are what npx agent-ready-assets customize, scene validate, library.instantiate and assembleScene return for it (exit 1, nothing written or rendered). A coding agent should report these limits instead of approximating them.

RequestStructured refusalDocumented alternative
Extra storeys or floors on Town house with swappable parts{"values":{"storeys":3}}UNSUPPORTED_OPERATION/UNKNOWN_CAPABILITY
"storeys" is not an advertised Blender-free capability; supported Blender-free capabilities of stylized-town/house-01@0.2.0: front-door (modular-swap, part… Show all"storeys" is not an advertised Blender-free capability; supported Blender-free capabilities of stylized-town/house-01@0.2.0: front-door (modular-swap, part, one of "door-01" (stylized-town/door-01@0.1.0), "door-02" (stylized-town/door-02@0.1.0) (default "door-01")); window-style (modular-swap, part, one of "window-01" (stylized-town/window-01@0.1.0), "window-02" (stylized-town/window-02@0.1.0) (default "window-01")); roof (modular-swap, part, one of "roof-gable-01" (stylized-town/roof-gable-01@0.1.0), "roof-hip-01" (stylized-town/roof-hip-01@0.1.0) (default "roof-gable-01")); chimney (node-visibility, boolean true/false (default true); false hides chimney); wall-color (material-color, palette swatch, one of "ivory" (#EDE3CF), "paving" (#E3C2AC), "leaf" (#7FA36B) (default "ivory")); roof-color (material-color, palette swatch, one of "terracotta" (#C97755), "curb-stone" (#A9A398) (default "terracotta"))
hint: storeys is a publisher-only Blender recipe parameter (declared.recipe_parameters), not a Blender-free consumer capability; changing it needs advanced authoring (L4), which this SDK does not do
No geometry operation exists in this kit, and no building of it has more than 2 storeys (from the manifests: cafe-01 1, house-01 2, house-02 1, shop-01 1, townhall-01 2). For another footprint or height use another asset; for variants of this one use its declared capabilities (front-door, window-style, roof, chimney, wall-color, roof-color). Geometry changes are L4 authoring in your own 3D tool: not part of this kit (the package has no .blend sources), and the licence in effect (ARA-COMMERCIAL-1.0) covers: use and modify the assets in your own games, sites and apps, ship them inside compiled or deployed products and client work; no redistribution of the asset files themselves.
A producer recipe parameter (width_m) as a customization{"values":{"width-m":3}}UNSUPPORTED_OPERATION/UNKNOWN_CAPABILITY
"width-m" is not an advertised Blender-free capability; supported Blender-free capabilities of stylized-town/house-01@0.2.0: front-door (modular-swap, part… Show all"width-m" is not an advertised Blender-free capability; supported Blender-free capabilities of stylized-town/house-01@0.2.0: front-door (modular-swap, part, one of "door-01" (stylized-town/door-01@0.1.0), "door-02" (stylized-town/door-02@0.1.0) (default "door-01")); window-style (modular-swap, part, one of "window-01" (stylized-town/window-01@0.1.0), "window-02" (stylized-town/window-02@0.1.0) (default "window-01")); roof (modular-swap, part, one of "roof-gable-01" (stylized-town/roof-gable-01@0.1.0), "roof-hip-01" (stylized-town/roof-hip-01@0.1.0) (default "roof-gable-01")); chimney (node-visibility, boolean true/false (default true); false hides chimney); wall-color (material-color, palette swatch, one of "ivory" (#EDE3CF), "paving" (#E3C2AC), "leaf" (#7FA36B) (default "ivory")); roof-color (material-color, palette swatch, one of "terracotta" (#C97755), "curb-stone" (#A9A398) (default "terracotta"))
hint:
width_m, trim_width_m, door_width_m, chimney_width_m are publisher-only Blender recipe parameters (declared.recipe_parameters), not Blender-free consumer capabilities; changing them needs advanced… Show allwidth_m, trim_width_m, door_width_m, chimney_width_m are publisher-only Blender recipe parameters (declared.recipe_parameters), not Blender-free consumer capabilities; changing them needs advanced authoring (L4), which this SDK does not do
No geometry operation exists in this kit. For another shape or footprint use another asset (stylized-town/cafe-01@0.1.0, stylized-town/house-02@0.1.0, stylized-town/shop-01@0.2.0, stylized-town/townhall-01@0.1.0); for variants of this one use its declared capabilities (front-door, window-style, roof, chimney, wall-color, roof-color). Geometry changes are L4 authoring in your own 3D tool: not part of this kit (the package has no .blend sources), and the licence in effect (ARA-COMMERCIAL-1.0) covers: use and modify the assets in your own games, sites and apps, ship them inside compiled or deployed products and client work; no redistribution of the asset files themselves.
A flat roof on Town house with swappable parts{"values":{"roof":"flat"}}INCOMPATIBLE_PART/PART_NOT_ALLOWED
roof: "flat" is not an allowlisted part for this slot; allowed: "roof-gable-01" (stylized-town/roof-gable-01@0.1.0), "roof-hip-01"… Show allroof: "flat" is not an allowlisted part for this slot; allowed: "roof-gable-01" (stylized-town/roof-gable-01@0.1.0), "roof-hip-01" (stylized-town/roof-hip-01@0.1.0)
hint: only parts declared by roof can be mounted (same kit, compatible plug); other parts are refused rather than approximated
Use one of the declared roof choices: roof-gable-01, roof-hip-01. A roof shape outside them is new geometry (L4, not included). No asset offers a flat roof as a customization; the roofs of the other buildings, from their manifests: cafe-01: parapet 0.45 m high around the roof; house-02: part swap roof: roof-gable-01, roof-hip-01 (default roof-hip-01); shop-01: parapet 0.45 m high around the roof; townhall-01: roof pitch 30°.
A free colour on the palette capability wall-color{"values":{"wall-color":"#FF0000"}}INVALID_PARAMETER/NOT_IN_CHOICES
wall-color: expected one of ["ivory","paving","leaf"], got "#FF0000"
hint: wall-color takes a palette swatch name, not a free colour; allowed: palette swatch, one of "ivory" (#EDE3CF), "paving" (#E3C2AC), "leaf" (#7FA36B) (default "ivory")
Use a swatch name: ivory, paving, leaf.
The part's asset reference instead of the choice id for front-door{"values":{"front-door":"stylized-town/door-02@0.1.0"}}INCOMPATIBLE_PART/PART_NOT_ALLOWED
front-door: "stylized-town/door-02@0.1.0" is not an allowlisted part for this slot; allowed: "door-01" (stylized-town/door-01@0.1.0), "door-02"… Show allfront-door: "stylized-town/door-02@0.1.0" is not an allowlisted part for this slot; allowed: "door-01" (stylized-town/door-01@0.1.0), "door-02" (stylized-town/door-02@0.1.0)
hint: write the choice id "door-02" (it mounts stylized-town/door-02@0.1.0), not the asset reference
Write the choice id ("door-02"); the SDK mounts stylized-town/door-02@0.1.0 for it.
Hiding a part that is not declared optional (the walls of Town house with swappable parts){"values":{"walls":false}}UNSUPPORTED_OPERATION/UNKNOWN_CAPABILITY
"walls" is not an advertised Blender-free capability; supported Blender-free capabilities of stylized-town/house-01@0.2.0: front-door (modular-swap, part, one… Show all"walls" is not an advertised Blender-free capability; supported Blender-free capabilities of stylized-town/house-01@0.2.0: front-door (modular-swap, part, one of "door-01" (stylized-town/door-01@0.1.0), "door-02" (stylized-town/door-02@0.1.0) (default "door-01")); window-style (modular-swap, part, one of "window-01" (stylized-town/window-01@0.1.0), "window-02" (stylized-town/window-02@0.1.0) (default "window-01")); roof (modular-swap, part, one of "roof-gable-01" (stylized-town/roof-gable-01@0.1.0), "roof-hip-01" (stylized-town/roof-hip-01@0.1.0) (default "roof-gable-01")); chimney (node-visibility, boolean true/false (default true); false hides chimney); wall-color (material-color, palette swatch, one of "ivory" (#EDE3CF), "paving" (#E3C2AC), "leaf" (#7FA36B) (default "ivory")); roof-color (material-color, palette swatch, one of "terracotta" (#C97755), "curb-stone" (#A9A398) (default "terracotta"))
Only the declared toggles can hide parts: chimney (hides chimney).
Scaling Town house with swappable parts in a scene (uniform_scale 2){"scene_instance":{"instance_id":"house-01-1","asset":"stylized-town/house-01@0.2.0","position_m":[0,0,0],"rotation_euler_rad":[0,0,0],"uniform_scale":2,"customize":{}}}UNSUPPORTED_OPERATION/SCENE_SCALE_UNSUPPORTED
free scene scaling (uniform_scale 2) is not supported; keep uniform_scale 1 so assets stay in their authored 1 m units
hint: stylized-town/house-01@0.2.0 declares no uniform-scale capability
Keep uniform_scale 1 (assets stay in metres); stylized-town/house-01@0.2.0 declares no uniform-scale capability. Assets with a declared uniform-scale capability: stylized-town/bench-01@0.4.0.
Recolouring an L1 asset (Bus stop shelter){"values":{"color":"#00FF00"}}UNSUPPORTED_OPERATION/UNKNOWN_CAPABILITY
"color" is not an advertised Blender-free capability; stylized-town/bus-stop-01@0.1.0 is L1-only: it advertises no Blender-free customization capability (load… Show all"color" is not an advertised Blender-free capability; stylized-town/bus-stop-01@0.1.0 is L1-only: it advertises no Blender-free customization capability (load and place it as-is)
Load and place it as-is. Assets that declare a recolour: stylized-town/bench-01@0.4.0, stylized-town/cafe-01@0.1.0, stylized-town/house-01@0.2.0, stylized-town/house-02@0.1.0, stylized-town/market-stall-01@0.1.0, stylized-town/shop-01@0.2.0, stylized-town/townhall-01@0.1.0.
The refusal rules of the customization guide (14)
RequestResult
{ "kind": ... }UNSUPPORTED_OPERATION: producer recipe parameter, not a Blender-free capability (needs L4 authoring)
{ "width-m": ... }UNSUPPORTED_OPERATION: producer recipe parameter, not a Blender-free capability (needs L4 authoring)
{ "depth-m": ... }UNSUPPORTED_OPERATION: producer recipe parameter, not a Blender-free capability (needs L4 authoring)
{ "body-z-m": ... }UNSUPPORTED_OPERATION: producer recipe parameter, not a Blender-free capability (needs L4 authoring)
{ "plinth-height-m": ... }UNSUPPORTED_OPERATION: producer recipe parameter, not a Blender-free capability (needs L4 authoring)
{ "storey-height-m": ... }UNSUPPORTED_OPERATION: producer recipe parameter, not a Blender-free capability (needs L4 authoring)
recolor or edit a baked textureUNSUPPORTED_OPERATION: only declared material colours can change
add, remove or reshape geometry (e.g. extra floors or storeys, a taller tower, a roof pitch)UNSUPPORTED_OPERATION: only the declared parts can be swapped or hidden; no geometry operation is offered
a part that is not in the swap allowlist (or the part ref instead of the choice id)INCOMPATIBLE_PART/PART_NOT_ALLOWED: only the declared choices exist; the hint lists them
a free #RRGGBB colour on a palette-swatch capabilityINVALID_PARAMETER/NOT_IN_CHOICES: use one of the swatch names
a visibility toggle given as a string ("false")INVALID_PARAMETER/WRONG_TYPE: toggles are booleans
hiding a part that is not declared optional (walls, roof, a slot part)UNSUPPORTED_OPERATION/UNKNOWN_CAPABILITY: only declared node-visibility capabilities exist
a swap part that is not installed in your kitINCOMPATIBLE_PART/PART_NOT_IN_KIT: install the complete kit (or `add` the host, which installs its pinned parts)
snapping a part instance into a host slot in scene.jsonVALIDATION_FAILED/SNAP_OCCUPIED: slots change only through the modular-swap capability

Support matrix over all assets

The SDK's own support matrix (the rows each asset page shows), counted over the 30 assets of the kit.

FeatureSupportedNot supportedAdvanced only (L4)
Material recolor (runtime, Blender-free)7230
Uniform scale (runtime, Blender-free)1290
Placement (position / rotation in a scene)3000
Connector snapping (scene 1.1.0 attach_to)3000
Node visibility toggles6240
Modular part swap4260
Animations3270
Custom mesh editing / parametric geometry (e.g. slat count)0030
Baked texture recolor0300
GLB re-export of a customized asset0300

What a purchase includes

Product
Stylized Town - complete kit · $39.00 one-time
Downloads covered (update scope)
stylized-town@>=0.4.0 <1.0.0
Licence of a purchase
The commercial licence, version 1.0

Package contents

stylized-town@0.4.0: 2.17 MB, 256 files, sha256 daaecd9394bcdccf…. Counted from the package itself:

GLB models30
asset manifests (manifest.json)30
preview images180
tested scenes (*.scene.json)2
integration examples (Three.js, R3F)10
kit index (kit.json)1
README1
licence texts1
other files (package index and metadata)1
.blend source files0

The free sampler

stylized-town-sampler@0.1.0 (Stylized Town free sampler): stylized-town/road-straight-01@0.3.0, stylized-town/road-corner-01@0.2.0, stylized-town/lawn-tile-01@0.1.0, stylized-town/bench-01@0.4.0, stylized-town/street-lamp-01@0.3.0, stylized-town/tree-01@0.2.0. Released; licence of the released sampler: version 1.0. Install the free sampler.

Source: the catalog this site was built from (sha256 cb74520a56a3…), the kit package and the product configuration. Machine-readable: /data/capabilities.json. See also pricing and the licence.