synspace-beta.vercel.app
SynSpace
First seen 2026-11-05 · Last seen 2026-11-05 · Source: webmcp.com
Answer 7 · Act 22 · Transact 1 · Score: Not yet scored
Tool inspector
define_asset
Create a new kind of asset from primitive solids, without any code change. Use this when the world needs something the built-in kit does not cover — a tree, a fountain, a bus shelter, a market stall, a wind turbine. Build it from boxes, cylinders, spheres and cones positioned in metres from the asset origin, which sits on the floor at the centre of the object (y is height above the floor). The overall footprint is measured from the parts you give, so the new kind takes part in collision, spacing and clearance checks exactly like a built-in one. Once defined it can be placed with spawn_3d_asset by its type name, as many times as you like — define once, place many. Defining the same type again replaces its shape for future placements.
Input schema
| Property | Type | Required | Description |
|---|---|---|---|
type |
string | yes | Type name in lowercase kebab-case, e.g. "tree" or "bus-shelter". This is what spawn_3d_asset takes as model_type. Cannot be a built-in kind. |
name |
string | yes | Display name shown to people, e.g. "Oak Tree". |
category |
string | yes | Which section of the asset library it belongs in. |
description |
string | no | One line on what it is and where it belongs. |
color |
string | no | Default 6-digit hex accent colour. Parts that set no colour of their own use it. |
clearance |
number | no | Optional clear space to keep around it, in metres. Derived from its size if omitted. |
signage_height_m |
number | no | Optional. When set, the placed object’s label is painted onto the front face at this height in metres — good for anything that should read as a named place. |
parts |
array | yes | The solids it is built from. Sizes and positions are metres; the origin is on the floor at the object centre, so a 2 m post is size [0.2, 2, 0.2] at position [0, 1, 0]. |
Raw JSON schema
{
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "Type name in lowercase kebab-case, e.g. \"tree\" or \"bus-shelter\". This is what spawn_3d_asset takes as model_type. Cannot be a built-in kind."
},
"name": {
"type": "string",
"description": "Display name shown to people, e.g. \"Oak Tree\"."
},
"category": {
"type": "string",
"enum": [
"Workstations",
"Seating",
"Collaboration",
"Hospitality",
"Storage",
"Infrastructure",
"Structure",
"Urban",
"Ambience"
],
"description": "Which section of the asset library it belongs in."
},
"description": {
"type": "string",
"description": "One line on what it is and where it belongs."
},
"color": {
"type": "string",
"description": "Default 6-digit hex accent colour. Parts that set no colour of their own use it."
},
"clearance": {
"type": "number",
"description": "Optional clear space to keep around it, in metres. Derived from its size if omitted."
},
"signage_height_m": {
"type": "number",
"description": "Optional. When set, the placed object’s label is painted onto the front face at this height in metres — good for anything that should read as a named place."
},
"parts": {
"type": "array",
"minItems": 1,
"maxItems": 24,
"description": "The solids it is built from. Sizes and positions are metres; the origin is on the floor at the object centre, so a 2 m post is size [0.2, 2, 0.2] at position [0, 1, 0].",
"items": {
"type": "object",
"properties": {
"shape": {
"type": "string",
"enum": [
"box",
"cylinder",
"sphere",
"cone"
],
"description": "Which primitive solid."
},
"size": {
"type": "array",
"items": {
"type": "number"
},
"minItems": 3,
"maxItems": 3,
"description": "[width, height, depth] in metres. For a cylinder or cone, width and depth are the diameters."
},
"position": {
"type": "array",
"items": {
"type": "number"
},
"minItems": 3,
"maxItems": 3,
"description": "[x, y, z] offset of the part centre from the asset origin, in metres."
},
"rotation": {
"type": "array",
"items": {
"type": "number"
},
"minItems": 3,
"maxItems": 3,
"description": "Optional [x, y, z] rotation in radians."
},
"color": {
"type": "string",
"description": "Optional 6-digit hex. Omit to take the placed object’s accent colour."
},
"finish": {
"type": "string",
"enum": [
"matte",
"soft",
"satin",
"metallic"
],
"description": "Optional surface treatment. Defaults to matte."
}
},
"required": [
"shape",
"size",
"position"
],
"additionalProperties": false
}
}
},
"required": [
"type",
"name",
"category",
"parts"
],
"additionalProperties": false
}
Similar websites
morphus.myles4miles.chatgpt.site
Morphus is an AI-native workspace for designing worlds and generating playable game experiences.
damnpdfs.com
Install the DamnPDFs Codex plugin, pair a browser workspace and use PDF, image and file tools from your coding agent. Includes setup and privacy limits.
insignifi4nt.github.io
broCAD/M: local-first CAD and CAM for parametric design, wire EDM planning, simulation and controller export.
cabinet.varera.studio
The Cartographer's Cabinet