{"ok":true,"site":{"host":"orbit-seven-dusky.vercel.app","url":"https://orbit-seven-dusky.vercel.app/","type":"live","desc":"Orbit is an agent-native WebMCP 3D modelling kernel: exact CSG booleans, freeform geometry, procedural modifiers, parametric node graphs, mesh import/export and physics validation — driven entirely…","tools":[{"name":"create_object","kind":"act","impl":"imperative","description":"Create a solid primitive. Types: cube, sphere, icosphere, cylinder, cone, torus, plane, capsule, tube, prism, pyramid, wedge, rounded_box.","inputSchema":{"type":"object","properties":{"type":{"type":"string"},"name":{"type":"string"},"position":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"rotation":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"scale":{},"material":{"type":"string"},"color":{"type":"string"},"params":{"type":"object"},"tags":{"type":"array"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"delete_object","kind":"transact","impl":"imperative","description":"Delete objects by id, ids, or the current selection.","inputSchema":{"type":"object","properties":{"id":{"type":"string"},"ids":{"type":"array"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"duplicate_object","kind":"act","impl":"imperative","description":"Duplicate objects with an optional positional offset.","inputSchema":{"type":"object","properties":{"id":{"type":"string"},"ids":{"type":"array"},"offset":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"move_object","kind":"act","impl":"imperative","description":"Set absolute position, apply a delta, or drop to the ground plane.","inputSchema":{"type":"object","properties":{"id":{"type":"string"},"ids":{"type":"array"},"position":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"delta":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"drop_to_ground":{"type":"boolean"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"rotate_object","kind":"act","impl":"imperative","description":"Rotate in degrees (default) or radians, absolutely or by delta, or about a named axis.","inputSchema":{"type":"object","properties":{"id":{"type":"string"},"rotation":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"delta":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"axis":{"type":"string"},"angle":{"type":"number"},"degrees":{"type":"boolean"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"scale_object","kind":"act","impl":"imperative","description":"Uniform factor, per-axis vector, or a single-axis stretch.","inputSchema":{"type":"object","properties":{"id":{"type":"string"},"factor":{"type":"number"},"scale":{},"axis":{"type":"string"},"amount":{"type":"number"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"set_material","kind":"act","impl":"imperative","description":"Set material, colour, roughness, metalness and opacity.","inputSchema":{"type":"object","properties":{"id":{"type":"string"},"ids":{"type":"array"},"material":{"type":"string"},"color":{"type":"string"},"roughness":{"type":"number"},"metalness":{"type":"number"},"opacity":{"type":"number"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"set_camera","kind":"act","impl":"imperative","description":"Position the camera, frame the whole scene, jump to a named view preset, or switch projection (perspective/orthographic).","inputSchema":{"type":"object","properties":{"position":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"target":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"up":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"fov":{"type":"number"},"near":{"type":"number"},"far":{"type":"number"},"projection":{"type":"string"},"preset":{"type":"string"},"frame_all":{"type":"boolean"},"direction":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"group_objects","kind":"act","impl":"imperative","description":"Group objects under a named parent for collective reasoning.","inputSchema":{"type":"object","properties":{"ids":{"type":"array"},"name":{"type":"string"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"ungroup_objects","kind":"act","impl":"imperative","description":"Dissolve a group, leaving its children in the scene.","inputSchema":{"type":"object","properties":{"group_id":{"type":"string"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"boolean_operation","kind":"act","impl":"imperative","description":"Exact CSG: union, subtract, intersect or xor over two or more solids. Returns a closed manifold result.","inputSchema":{"type":"object","properties":{"ids":{"type":"array"},"operation":{"type":"string"},"keep_operands":{"type":"boolean"},"name":{"type":"string"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"undo","kind":"act","impl":"imperative","description":"Step backwards through the mutation journal.","inputSchema":{"type":"object","properties":{"steps":{"type":"number"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"redo","kind":"act","impl":"imperative","description":"Step forwards after an undo.","inputSchema":{"type":"object","properties":{"steps":{"type":"number"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"inspect_scene","kind":"answer","impl":"imperative","description":"Full scene read: objects, bounds, triangles, camera, environment, history.","inputSchema":{"type":"object","properties":{"deep":{"type":"boolean"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"inspect_object","kind":"act","impl":"imperative","description":"Deep read of one object including manifold report and nearest neighbours.","inputSchema":{"type":"object","properties":{"id":{"type":"string"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"select_object","kind":"act","impl":"imperative","description":"Select by id, ids, semantic query, tag, type, material, raycast, all or none.","inputSchema":{"type":"object","properties":{"id":{"type":"string"},"ids":{"type":"array"},"query":{"type":"string"},"tag":{"type":"string"},"ray":{"type":"object"},"all":{"type":"boolean"},"none":{"type":"boolean"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"create_profile_solid","kind":"act","impl":"imperative","description":"Freeform geometry: extrude, revolve or sweep a 2D profile into a closed solid. Supports bevel and twist.","inputSchema":{"type":"object","properties":{"method":{"type":"string"},"profile":{"type":"array"},"depth":{"type":"number"},"path":{"type":"array"},"options":{"type":"object"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"add_modifier","kind":"act","impl":"imperative","description":"Push a procedural modifier onto the object stack: array, mirror, twist, bend, taper, inflate, shell, smooth, subdivide, decimate, lattice, displace.","inputSchema":{"type":"object","properties":{"id":{"type":"string"},"modifier":{"type":"string"},"options":{"type":"object"},"index":{"type":"number"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"remove_modifier","kind":"act","impl":"imperative","description":"Remove a modifier from the stack by id or index.","inputSchema":{"type":"object","properties":{"id":{"type":"string"},"modifier_id":{"type":"string"},"index":{"type":"number"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"reorder_modifiers","kind":"act","impl":"imperative","description":"Reorder the non-destructive modifier stack.","inputSchema":{"type":"object","properties":{"id":{"type":"string"},"order":{"type":"array"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"define_graph","kind":"act","impl":"imperative","description":"Register a reusable parametric node graph and statically validate it.","inputSchema":{"type":"object","properties":{"id":{"type":"string"},"graph":{"type":"object"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"evaluate_graph","kind":"act","impl":"imperative","description":"Evaluate a parametric graph with parameter overrides and instantiate the result.","inputSchema":{"type":"object","properties":{"graph_id":{"type":"string"},"graph":{"type":"object"},"parameters":{"type":"object"},"instantiate":{"type":"boolean"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"import_mesh","kind":"act","impl":"imperative","description":"Import OBJ, STL (ascii/binary), PLY, glTF or GLB into the scene, optionally normalised to a target size.","inputSchema":{"type":"object","properties":{"data":{},"format":{"type":"string"},"normalize":{"type":"boolean"},"target_size":{"type":"number"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"export_scene","kind":"act","impl":"imperative","description":"Export to STL, ASCII STL, OBJ, PLY or glTF 2.0. Optionally weld everything into one solid first.","inputSchema":{"type":"object","properties":{"format":{"type":"string"},"ids":{"type":"array"},"weld_solid":{"type":"boolean"},"selection_only":{"type":"boolean"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"list_capabilities","kind":"answer","impl":"imperative","description":"Enumerate every primitive, material, modifier, format, node type and joint the kernel supports.","inputSchema":{"type":"object","properties":{}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"compute_mass_properties","kind":"act","impl":"imperative","description":"Exact volume, mass, centre of mass and inertia tensor for a chosen physical material.","inputSchema":{"type":"object","properties":{"id":{"type":"string"},"material":{"type":"string"},"density":{"type":"number"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"analyze_stability","kind":"act","impl":"imperative","description":"Support polygon, stability margin and tipping angle — will the design stand up?","inputSchema":{"type":"object","properties":{"ids":{"type":"array"},"material":{"type":"string"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"check_collisions","kind":"answer","impl":"imperative","description":"Broad-phase AABB plus narrow-phase containment collision detection across the scene.","inputSchema":{"type":"object","properties":{"ids":{"type":"array"},"include_touching":{"type":"boolean"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"add_joint","kind":"act","impl":"imperative","description":"Add a mechanical joint (fixed, revolute, prismatic, spherical, planar) and report linkage mobility.","inputSchema":{"type":"object","properties":{"type":{"type":"string"},"parent":{"type":"string"},"child":{"type":"string"},"axis":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"limits":{"type":"array"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"simulate","kind":"act","impl":"imperative","description":"Deterministic rigid-body settle under gravity; optionally apply the resting positions.","inputSchema":{"type":"object","properties":{"ids":{"type":"array"},"steps":{"type":"number"},"apply":{"type":"boolean"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"check_printability","kind":"answer","impl":"imperative","description":"Overhang ratio, layer count, wall thickness and support advice for additive manufacturing.","inputSchema":{"type":"object","properties":{"ids":{"type":"array"},"nozzle":{"type":"number"},"layer_height":{"type":"number"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"validate_scene","kind":"act","impl":"imperative","description":"Manifold, winding, volume, ground and interpenetration diagnostics with severities.","inputSchema":{"type":"object","properties":{"ground_check":{"type":"boolean"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"measure","kind":"act","impl":"imperative","description":"Measure one object or the distance between two.","inputSchema":{"type":"object","properties":{"id":{"type":"string"},"between":{"type":"array"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"set_environment","kind":"act","impl":"imperative","description":"HDRI, exposure, background, shadows and post-processing (bloom, SSAO, vignette, tonemap).","inputSchema":{"type":"object","properties":{"hdri":{"type":"string"},"exposure":{"type":"number"},"post":{"type":"object"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"get_history","kind":"answer","impl":"imperative","description":"Read the full mutation journal with the current index.","inputSchema":{"type":"object","properties":{}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"clear_scene","kind":"act","impl":"imperative","description":"Remove every object, group and joint.","inputSchema":{"type":"object","properties":{}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"}],"apiSurface":"spec","category":"Developer Tools","toolCount":36}}