{"schema":"arap-site-capabilities/1","kit":"stylized-town@0.4.0","catalog_sha256":"cb74520a56a3c2d0ebd24e5cb6f87f537b1faec9ade8e37f6689d18ec3be1e78","channel":"release","status":{"release_status":"RELEASED","approved_assets":30,"released_assets":30,"for_sale":true,"licence_in_effect":{"id":"ARA-COMMERCIAL-1.0","name":"Commercial licence","summary":"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.","commercial_use":true,"redistribution":false},"asset_count":30},"levels":[{"level":"L1","what":"Load and place the published GLB as-is","blender":"not needed","included":true,"assets":22,"detail":"every asset can be loaded and placed; L1 assets declare no customization"},{"level":"L2","what":"Declared runtime capabilities: recolours and swatches, uniform scale, visibility toggles, part swaps","blender":"not needed","included":true,"assets":8,"detail":"per instance, in the browser through the SDK; validated, all-or-nothing"},{"level":"L3","what":"Scene assembly: connector snapping (scene 1.1.0 attach_to) and animation clips","blender":"not needed","included":true,"assets":30,"detail":"30 snappable assets; scenes are validated with scene validate and assembleScene"},{"level":"L4","what":"Geometry authoring: new shapes, extra storeys, roof pitch, slat counts","blender":"needed (or another 3D tool)","included":false,"assets":null,"detail":"not part of this kit: the kit package has 0 .blend files of 256, and the SDK never runs Blender"}],"assets":[{"id":"awning-01","ref":"stylized-town/awning-01@0.1.0","title":"Awning part","category_label":"Building parts","level":"L1","access":"entitled","capabilities":[],"connector_types":["awning-plug"],"clips":[]},{"id":"bench-01","ref":"stylized-town/bench-01@0.4.0","title":"Park bench","category_label":"Props and vegetation","level":"L2","access":"public","capabilities":[{"id":"wood-color","operation":"material-color","operation_label":"Recolour","values":"any #RRGGBB (default #AE855E)"},{"id":"size-scale","operation":"uniform-scale","operation_label":"Uniform scale","values":"0.85–1.2 step 0.05 (default 1)"},{"id":"armrests","operation":"node-visibility","operation_label":"Visibility toggle","values":"true / false (default true)"}],"connector_types":["prop-base"],"clips":[]},{"id":"bus-stop-01","ref":"stylized-town/bus-stop-01@0.1.0","title":"Bus stop shelter","category_label":"Props and vegetation","level":"L1","access":"entitled","capabilities":[],"connector_types":["prop-base"],"clips":[]},{"id":"cafe-01","ref":"stylized-town/cafe-01@0.1.0","title":"Cafe with terrace","category_label":"Buildings","level":"L2","access":"entitled","capabilities":[{"id":"front-door","operation":"modular-swap","operation_label":"Part swap","values":"door-01, door-02 (default)"},{"id":"awning","operation":"node-visibility","operation_label":"Visibility toggle","values":"true / false (default true)"},{"id":"terrace","operation":"node-visibility","operation_label":"Visibility toggle","values":"true / false (default true)"},{"id":"wall-color","operation":"material-color","operation_label":"Recolour","values":"swatch paving (default), ivory, lantern-glow"}],"connector_types":["awning-socket","lot-front"],"clips":[]},{"id":"door-01","ref":"stylized-town/door-01@0.1.0","title":"Door part: panelled door","category_label":"Building parts","level":"L1","access":"entitled","capabilities":[],"connector_types":["door-plug"],"clips":["open"]},{"id":"door-02","ref":"stylized-town/door-02@0.1.0","title":"Door part: glazed door","category_label":"Building parts","level":"L1","access":"entitled","capabilities":[],"connector_types":["door-plug"],"clips":["open"]},{"id":"fence-01","ref":"stylized-town/fence-01@0.2.0","title":"Picket fence segment (2 m)","category_label":"Props and vegetation","level":"L1","access":"entitled","capabilities":[],"connector_types":["fence-2m"],"clips":[]},{"id":"hedge-01","ref":"stylized-town/hedge-01@0.1.0","title":"Hedge segment (2 m)","category_label":"Props and vegetation","level":"L1","access":"entitled","capabilities":[],"connector_types":["hedge-2m"],"clips":[]},{"id":"house-01","ref":"stylized-town/house-01@0.2.0","title":"Town house with swappable parts","category_label":"Buildings","level":"L2","access":"entitled","capabilities":[{"id":"front-door","operation":"modular-swap","operation_label":"Part swap","values":"door-01 (default), door-02"},{"id":"window-style","operation":"modular-swap","operation_label":"Part swap","values":"window-01 (default), window-02"},{"id":"roof","operation":"modular-swap","operation_label":"Part swap","values":"roof-gable-01 (default), roof-hip-01"},{"id":"chimney","operation":"node-visibility","operation_label":"Visibility toggle","values":"true / false (default true)"},{"id":"wall-color","operation":"material-color","operation_label":"Recolour","values":"swatch ivory (default), paving, leaf"},{"id":"roof-color","operation":"material-color","operation_label":"Recolour","values":"swatch terracotta (default), curb-stone"}],"connector_types":["lot-front"],"clips":[]},{"id":"house-02","ref":"stylized-town/house-02@0.1.0","title":"Cottage with swappable parts","category_label":"Buildings","level":"L2","access":"entitled","capabilities":[{"id":"front-door","operation":"modular-swap","operation_label":"Part swap","values":"door-01, door-02 (default)"},{"id":"window-style","operation":"modular-swap","operation_label":"Part swap","values":"window-01, window-02 (default)"},{"id":"roof","operation":"modular-swap","operation_label":"Part swap","values":"roof-gable-01, roof-hip-01 (default)"},{"id":"wall-color","operation":"material-color","operation_label":"Recolour","values":"swatch ivory (default), paving, leaf"},{"id":"roof-color","operation":"material-color","operation_label":"Recolour","values":"swatch terracotta (default), terracotta-dark, curb-stone"}],"connector_types":["lot-front"],"clips":[]},{"id":"lawn-tile-01","ref":"stylized-town/lawn-tile-01@0.1.0","title":"Lawn tile (4 m)","category_label":"Ground tiles","level":"L1","access":"public","capabilities":[],"connector_types":["ground-edge","prop-socket"],"clips":[]},{"id":"mailbox-01","ref":"stylized-town/mailbox-01@0.1.0","title":"Mailbox","category_label":"Props and vegetation","level":"L1","access":"entitled","capabilities":[],"connector_types":["prop-base"],"clips":["flag-up"]},{"id":"market-stall-01","ref":"stylized-town/market-stall-01@0.1.0","title":"Market stall","category_label":"Props and vegetation","level":"L2","access":"entitled","capabilities":[{"id":"canopy-color","operation":"material-color","operation_label":"Recolour","values":"swatch terracotta (default), teal, forest, slate"}],"connector_types":["prop-base"],"clips":[]},{"id":"plaza-tile-01","ref":"stylized-town/plaza-tile-01@0.1.0","title":"Paved plaza tile (4 m)","category_label":"Ground tiles","level":"L1","access":"entitled","capabilities":[],"connector_types":["ground-edge","prop-socket"],"clips":[]},{"id":"road-corner-01","ref":"stylized-town/road-corner-01@0.2.0","title":"Road corner tile (4 m, 90 degrees)","category_label":"Ground tiles","level":"L1","access":"public","capabilities":[],"connector_types":["prop-socket","road-4m","road-side"],"clips":[]},{"id":"road-cross-01","ref":"stylized-town/road-cross-01@0.1.0","title":"Road crossroads tile (4 m)","category_label":"Ground tiles","level":"L1","access":"entitled","capabilities":[],"connector_types":["road-4m"],"clips":[]},{"id":"road-crosswalk-01","ref":"stylized-town/road-crosswalk-01@0.1.0","title":"Road crosswalk tile (4 m)","category_label":"Ground tiles","level":"L1","access":"entitled","capabilities":[],"connector_types":["road-4m","road-side"],"clips":[]},{"id":"road-straight-01","ref":"stylized-town/road-straight-01@0.3.0","title":"Straight road tile (4 m)","category_label":"Ground tiles","level":"L1","access":"public","capabilities":[],"connector_types":["prop-socket","road-4m","road-side"],"clips":[]},{"id":"road-tee-01","ref":"stylized-town/road-tee-01@0.2.0","title":"Road T-junction tile (4 m)","category_label":"Ground tiles","level":"L1","access":"entitled","capabilities":[],"connector_types":["prop-socket","road-4m","road-side"],"clips":[]},{"id":"roof-gable-01","ref":"stylized-town/roof-gable-01@0.1.0","title":"Roof part: gable roof","category_label":"Building parts","level":"L1","access":"entitled","capabilities":[],"connector_types":["roof-plug-house"],"clips":[]},{"id":"roof-hip-01","ref":"stylized-town/roof-hip-01@0.1.0","title":"Roof part: hip roof","category_label":"Building parts","level":"L1","access":"entitled","capabilities":[],"connector_types":["roof-plug-house"],"clips":[]},{"id":"shop-01","ref":"stylized-town/shop-01@0.2.0","title":"Corner shop with swappable parts","category_label":"Buildings","level":"L2","access":"entitled","capabilities":[{"id":"front-door","operation":"modular-swap","operation_label":"Part swap","values":"door-01, door-02 (default)"},{"id":"awning","operation":"node-visibility","operation_label":"Visibility toggle","values":"true / false (default true)"},{"id":"wall-color","operation":"material-color","operation_label":"Recolour","values":"swatch ivory (default), paving, curb-stone"}],"connector_types":["awning-socket","lot-front"],"clips":[]},{"id":"shrub-01","ref":"stylized-town/shrub-01@0.2.0","title":"Shrub","category_label":"Props and vegetation","level":"L1","access":"entitled","capabilities":[],"connector_types":["prop-base"],"clips":[]},{"id":"street-lamp-01","ref":"stylized-town/street-lamp-01@0.3.0","title":"Street lamp","category_label":"Props and vegetation","level":"L2","access":"public","capabilities":[{"id":"light","operation":"node-visibility","operation_label":"Visibility toggle","values":"true / false (default true)"}],"connector_types":["prop-base"],"clips":[]},{"id":"townhall-01","ref":"stylized-town/townhall-01@0.1.0","title":"Town hall (landmark)","category_label":"Buildings","level":"L2","access":"entitled","capabilities":[{"id":"flag","operation":"node-visibility","operation_label":"Visibility toggle","values":"true / false (default true)"},{"id":"wall-color","operation":"material-color","operation_label":"Recolour","values":"swatch paving (default), curb-stone, leaf"}],"connector_types":["lot-front"],"clips":[]},{"id":"trash-bin-01","ref":"stylized-town/trash-bin-01@0.2.0","title":"Litter bin","category_label":"Props and vegetation","level":"L1","access":"entitled","capabilities":[],"connector_types":["prop-base"],"clips":[]},{"id":"tree-01","ref":"stylized-town/tree-01@0.2.0","title":"Street tree","category_label":"Props and vegetation","level":"L1","access":"public","capabilities":[],"connector_types":["prop-base"],"clips":[]},{"id":"tree-02","ref":"stylized-town/tree-02@0.1.0","title":"Conifer","category_label":"Props and vegetation","level":"L1","access":"entitled","capabilities":[],"connector_types":["prop-base"],"clips":[]},{"id":"window-01","ref":"stylized-town/window-01@0.1.0","title":"Window part: framed window","category_label":"Building parts","level":"L1","access":"entitled","capabilities":[],"connector_types":["window-plug"],"clips":[]},{"id":"window-02","ref":"stylized-town/window-02@0.1.0","title":"Window part: shuttered window","category_label":"Building parts","level":"L1","access":"entitled","capabilities":[],"connector_types":["window-plug"],"clips":[]}],"buildings":[{"id":"cafe-01","ref":"stylized-town/cafe-01@0.1.0","title":"Cafe with terrace","storeys":1,"footprint_m":[4,8],"height_m":5.53,"roof":["parapet 0.45 m high around the roof"]},{"id":"house-01","ref":"stylized-town/house-01@0.2.0","title":"Town house with swappable parts","storeys":2,"footprint_m":[4,6.2],"height_m":8.612,"roof":["part swap roof: roof-gable-01, roof-hip-01 (default roof-gable-01)"]},{"id":"house-02","ref":"stylized-town/house-02@0.1.0","title":"Cottage with swappable parts","storeys":1,"footprint_m":[4,7.2],"height_m":6.0222,"roof":["part swap roof: roof-gable-01, roof-hip-01 (default roof-hip-01)"]},{"id":"shop-01","ref":"stylized-town/shop-01@0.2.0","title":"Corner shop with swappable parts","storeys":1,"footprint_m":[4,6.4],"height_m":4.56,"roof":["parapet 0.45 m high around the roof"]},{"id":"townhall-01","ref":"stylized-town/townhall-01@0.1.0","title":"Town hall (landmark)","storeys":2,"footprint_m":[8,8],"height_m":13.72,"roof":["roof pitch 30°"]}],"refusals":[{"id":"extra-storeys","request":"Extra storeys or floors on Town house with swappable parts","asset":"stylized-town/house-01@0.2.0","attempt":{"values":{"storeys":3}},"code":"UNSUPPORTED_OPERATION","reason":"UNKNOWN_CAPABILITY","message":"\"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","alternative":"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."},{"id":"recipe-parameter","request":"A producer recipe parameter (width_m) as a customization","asset":"stylized-town/house-01@0.2.0","attempt":{"values":{"width-m":3}},"code":"UNSUPPORTED_OPERATION","reason":"UNKNOWN_CAPABILITY","message":"\"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 authoring (L4), which this SDK does not do","alternative":"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."},{"id":"flat-roof","request":"A flat roof on Town house with swappable parts","asset":"stylized-town/house-01@0.2.0","attempt":{"values":{"roof":"flat"}},"code":"INCOMPATIBLE_PART","reason":"PART_NOT_ALLOWED","message":"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\" (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","alternative":"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°."},{"id":"free-colour-on-swatch","request":"A free colour on the palette capability wall-color","asset":"stylized-town/house-01@0.2.0","attempt":{"values":{"wall-color":"#FF0000"}},"code":"INVALID_PARAMETER","reason":"NOT_IN_CHOICES","message":"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\")","alternative":"Use a swatch name: ivory, paving, leaf."},{"id":"part-ref-instead-of-choice","request":"The part's asset reference instead of the choice id for front-door","asset":"stylized-town/house-01@0.2.0","attempt":{"values":{"front-door":"stylized-town/door-02@0.1.0"}},"code":"INCOMPATIBLE_PART","reason":"PART_NOT_ALLOWED","message":"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\" (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","alternative":"Write the choice id (\"door-02\"); the SDK mounts stylized-town/door-02@0.1.0 for it."},{"id":"hide-undeclared-part","request":"Hiding a part that is not declared optional (the walls of Town house with swappable parts)","asset":"stylized-town/house-01@0.2.0","attempt":{"values":{"walls":false}},"code":"UNSUPPORTED_OPERATION","reason":"UNKNOWN_CAPABILITY","message":"\"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\"))","hint":null,"alternative":"Only the declared toggles can hide parts: chimney (hides chimney)."},{"id":"scene-scale","request":"Scaling Town house with swappable parts in a scene (uniform_scale 2)","asset":"stylized-town/house-01@0.2.0","attempt":{"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":{}}},"code":"UNSUPPORTED_OPERATION","reason":"SCENE_SCALE_UNSUPPORTED","message":"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","alternative":"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."},{"id":"customize-l1-asset","request":"Recolouring an L1 asset (Bus stop shelter)","asset":"stylized-town/bus-stop-01@0.1.0","attempt":{"values":{"color":"#00FF00"}},"code":"UNSUPPORTED_OPERATION","reason":"UNKNOWN_CAPABILITY","message":"\"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)","hint":null,"alternative":"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."}],"documented":[{"request":"{ \"kind\": ... }","result":"UNSUPPORTED_OPERATION: producer recipe parameter, not a Blender-free capability (needs L4 authoring)"},{"request":"{ \"width-m\": ... }","result":"UNSUPPORTED_OPERATION: producer recipe parameter, not a Blender-free capability (needs L4 authoring)"},{"request":"{ \"depth-m\": ... }","result":"UNSUPPORTED_OPERATION: producer recipe parameter, not a Blender-free capability (needs L4 authoring)"},{"request":"{ \"body-z-m\": ... }","result":"UNSUPPORTED_OPERATION: producer recipe parameter, not a Blender-free capability (needs L4 authoring)"},{"request":"{ \"plinth-height-m\": ... }","result":"UNSUPPORTED_OPERATION: producer recipe parameter, not a Blender-free capability (needs L4 authoring)"},{"request":"{ \"storey-height-m\": ... }","result":"UNSUPPORTED_OPERATION: producer recipe parameter, not a Blender-free capability (needs L4 authoring)"},{"request":"recolor or edit a baked texture","result":"UNSUPPORTED_OPERATION: only declared material colours can change"},{"request":"add, remove or reshape geometry (e.g. extra floors or storeys, a taller tower, a roof pitch)","result":"UNSUPPORTED_OPERATION: only the declared parts can be swapped or hidden; no geometry operation is offered"},{"request":"a part that is not in the swap allowlist (or the part ref instead of the choice id)","result":"INCOMPATIBLE_PART/PART_NOT_ALLOWED: only the declared choices exist; the hint lists them"},{"request":"a free #RRGGBB colour on a palette-swatch capability","result":"INVALID_PARAMETER/NOT_IN_CHOICES: use one of the swatch names"},{"request":"a visibility toggle given as a string (\"false\")","result":"INVALID_PARAMETER/WRONG_TYPE: toggles are booleans"},{"request":"hiding a part that is not declared optional (walls, roof, a slot part)","result":"UNSUPPORTED_OPERATION/UNKNOWN_CAPABILITY: only declared node-visibility capabilities exist"},{"request":"a swap part that is not installed in your kit","result":"INCOMPATIBLE_PART/PART_NOT_IN_KIT: install the complete kit (or `add` the host, which installs its pinned parts)"},{"request":"snapping a part instance into a host slot in scene.json","result":"VALIDATION_FAILED/SNAP_OCCUPIED: slots change only through the modular-swap capability"}],"support":[{"feature":"Material recolor (runtime, Blender-free)","supported":7,"not_supported":23,"advanced_only":0},{"feature":"Uniform scale (runtime, Blender-free)","supported":1,"not_supported":29,"advanced_only":0},{"feature":"Placement (position / rotation in a scene)","supported":30,"not_supported":0,"advanced_only":0},{"feature":"Connector snapping (scene 1.1.0 attach_to)","supported":30,"not_supported":0,"advanced_only":0},{"feature":"Node visibility toggles","supported":6,"not_supported":24,"advanced_only":0},{"feature":"Modular part swap","supported":4,"not_supported":26,"advanced_only":0},{"feature":"Animations","supported":3,"not_supported":27,"advanced_only":0},{"feature":"Custom mesh editing / parametric geometry (e.g. slat count)","supported":0,"not_supported":0,"advanced_only":30},{"feature":"Baked texture recolor","supported":0,"not_supported":30,"advanced_only":0},{"feature":"GLB re-export of a customized asset","supported":0,"not_supported":30,"advanced_only":0}],"purchase":{"product":{"id":"stylized-town","title":"Stylized Town - complete kit","display":"$39.00 one-time","release_state":"RELEASED","scope":"stylized-town@>=0.4.0 <1.0.0","licence":{"id":"ARA-COMMERCIAL-1.0","version":"1.0","draft":false}},"package":{"ref":"stylized-town@0.4.0","sha256":"daaecd9394bcdccfc1605fceb594ebc2a8b793dcfda997f38e7869c079c21e7d","size_bytes":2271134,"file_count":256,"contents":[{"what":"GLB models","files":30},{"what":"asset manifests (manifest.json)","files":30},{"what":"preview images","files":180},{"what":"tested scenes (*.scene.json)","files":2},{"what":"integration examples (Three.js, R3F)","files":10},{"what":"kit index (kit.json)","files":1},{"what":"README","files":1},{"what":"licence texts","files":1},{"what":"other files (package index and metadata)","files":1}],"blend_files":0},"sampler":{"ref":"stylized-town-sampler@0.1.0","title":"Stylized Town free sampler","release_state":"RELEASED","assets":["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"],"licence":{"id":"ARA-COMMERCIAL-1.0","version":"1.0","draft":false}}}}
