Docs

These docs are made to be read by both humans and AI. They are the same docs given to your AI when it runs!

Reads

create_object

Create a world object from the JSON string in object. If parent_id is omitted, the object is created under the root.

FieldType
object

string

parent_id

number | null

add_default_material

Create a Material object from one built-in material name by looking up its uploaded texture data ids. The available material names are: {}. Returns the newly created material id.

FieldType
name

string

delete_object

Delete an object, recursively removing its children and clearing pointer or ownership links that target it.

FieldType
object_id

number

read_dirty_scripts_in_workspace

Read the current dirty script text from the editor workspace, with optional TypeScript diagnostics.

FieldType
path_substring

string | null

include_text

boolean | null

include_diagnostics

boolean | null

only_files_with_diagnostics

boolean | null

read_all_script_warnings

Read TypeScript diagnostics for all scripts in the current editor workspace.

{}

read_script_raw_code

Read the stored raw code for one script object.

FieldType
object_id

number

ls

List direct children under in, with optional pagination and recursive child expansion up to depth levels.

FieldType
in

number

offset

number | null

limit

number | null

depth

number | null

ls_data

List referenced mesh, animation, and texture data ids in the world, with optional mode filtering and pagination.

FieldType
mode

DataMode | null

offset

number | null

limit

number | null

inspect

Inspect one object. Returns object summary data plus parent, children, owner, incoming pointers, referenced data ids, optional script code, and info or physics fields based on mode.

FieldType
object_id

number

mode

inspect_data

Inspect cached mesh, animation, or texture data by data_id. Texture results are metadata-only in this text response, and uncached data returns a failure payload describing the referenced types.

FieldType
data_id

number

grep

Search objects by AND-ing all provided filters. Supports name, type, parent, pointer or owner relationships, referenced data ids, and substring search over serialized object info.

FieldType
name

string | null

type

string | null

parent_id

number | null

object_id_that_points

number | null

object_id_that_owns

number | null

has_data_id

number | null

object_info_string_contains

string | null

offset

number | null

limit

number | null

get_path

Get the parent path from the root object down to one object, with optional pagination over the path entries.

FieldType
object_id

number

offset

number | null

limit

number | null

get_placement_warnings

Get structured placement warning data for colliding or unsupported ball, brick, or cylinder objects across the whole world.

{}

Writes

copy_and_paste

Duplicate an object and its children under the same parent. offset moves the copied subtree in world space, and the copied root name is auto-suffixed with _Copy if clone_name is omitted.

FieldType
object_id

number

offset

Vec3Args | null

clone_name

string | null

edit_object

Edit one object at jspath using the JSON string in jsvalue. jspath can be a dot-separated path like a.b.c or a JSON-encoded array of path segments.

FieldType
object_id

number

jspath

string

jsvalue

string

A JSON string containing the value to write at jspath.

write_script_raw_code

Write raw code for one script object.

FieldType
object_id

number

script_raw_code

string

move_by_recursively

Move an object and its physical descendants by translation in world space.

FieldType
object_id

number

translation

move_to_recursively

Move an object and its physical descendants so the root object ends up at target_point. This fails if the root object has no direct physics position.

FieldType
object_id

number

target_point

scale_recursively

Scale an object and its physical descendants by scale_multiplier around center_point. If center_point is omitted, the tool uses the object's current physics position and fails if the object has no direct physics position.

FieldType
object_id

number

scale_multiplier

number

center_point

Vec3Args | null

rotate_recursively

Rotate an object and its physical descendants by rotation_magnitude radians around rotation_axis and center_point. If center_point is omitted, the tool uses the object's current physics position and fails if the object has no direct physics position.

FieldType
object_id

number

rotation_axis
rotation_magnitude

number

center_point

Vec3Args | null

part2

Create a brick from four base points that must form one rectangle on one plane, plus a positive height. Point order can be any order.

FieldType
parent_id

number

name

string

base_point_1
base_point_2
base_point_3
base_point_4
height

number

color

Color3Args | null

opacity

number | null

part3

Create an axis-aligned brick from opposite corners. normalized_color and normalized_opacity must stay within [0, 1].

FieldType
parent_id

number

name

string

corner_point_1
corner_point_2
normalized_color
normalized_opacity

number

Meta

report_issue

Report that tool behavior or the current system instructions or tool definitions are missing, conflicting, or unclear for the task. Use this instead of guessing when tool calling does not go to plan.

FieldType
description

string

run_parallel

Run multiple tool calls concurrently and return one status per subcall. Each tool_calls[].args value must be a JSON string for that subtool, and timeout_ms applies to the whole batch.

FieldType
tool_calls
timeout_ms

number | null

Input Types

DataMode

"mesh" | "texture" | "all"

InspectMode

"info" | "physics" | "all"

Vec3Args

FieldType
x

number

y

number

z

number

Color3Args

FieldType
r

number

g

number

b

number

RunParallelToolCallArgs

FieldType
call_id

string | null

tool_name
args

string

ToolName

"create_object" | "serde" | "delete_object" | "read_dirty_scripts_in_workspace" | "read_all_script_warnings" | "read_script_raw_code" | "write_script_raw_code" | "get_placement_warnings" | "ls" | "inspect" | "grep" | "get_path" | "copy_and_paste" | "edit_object" | "ls_data" | "inspect_data" | "move_by_recursively" | "move_to_recursively" | "scale_recursively" | "rotate_recursively" | "part2" | "part3" | "report_issue" | "run_parallel"