Tool tree
gradeNot graded
page: Home
list_autolab_experiencesAnswer
Return the three AutoLab experiences with their navigation labels, Build (configure), Learn (garage) and Create (engine), plus their URLs, roles, WebMCP tool counts, summaries and source repositories. The garage entry carries the direct link to the Tesla Roadster's Play run.
View tool JSON
{
"name": "list_autolab_experiences",
"kind": "answer",
"impl": "imperative",
"description": "Return the three AutoLab experiences with their navigation labels, Build (configure), Learn (garage) and Create (engine), plus their URLs, roles, WebMCP tool counts, summaries and source repositories. The garage entry carries the direct link to the Tesla Roadster's Play run.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
},
"page": "/"
}get_autolab_overviewAnswer
Return what AutoLab by AutoMoto is, how to run it with an agent, the repositories, and the independence disclaimer. Read this before opening an experience.
View tool JSON
{
"name": "get_autolab_overview",
"kind": "answer",
"impl": "imperative",
"description": "Return what AutoLab by AutoMoto is, how to run it with an agent, the repositories, and the independence disclaimer. Read this before opening an experience.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
},
"page": "/"
}open_autolab_experienceAction
Navigate this tab to Build, the Configurator ('configure'); Learn, the Owner's Guide ('garage'), which opens on the Tesla Roadster; or Create, the 3D Creation Engine ('engine'). Each destination publishes its own WebMCP tools once loaded. To fly the Tesla Roadster, open 'garage' and call start_run there; garage/?vehicle=roadster&play=1 starts the same run as a link.
View tool JSON
{
"name": "open_autolab_experience",
"kind": "act",
"impl": "imperative",
"description": "Navigate this tab to Build, the Configurator ('configure'); Learn, the Owner's Guide ('garage'), which opens on the Tesla Roadster; or Create, the 3D Creation Engine ('engine'). Each destination publishes its own WebMCP tools once loaded. To fly the Tesla Roadster, open 'garage' and call start_run there; garage/?vehicle=roadster&play=1 starts the same run as a link.",
"inputSchema": {
"type": "object",
"properties": {
"experience": {
"type": "string",
"enum": [
"configure",
"garage",
"engine"
],
"description": "Which experience to open: configure (Build), garage (Learn) or engine (Create)."
}
},
"required": [
"experience"
],
"additionalProperties": false
},
"page": "/"
}page: Configure
get_vehicle_configurationAnswer
Read the current vehicle build, buyer context, price, range, delivery status, revision, transaction status, presentation state, and which vehicle body is on screen. Check renderedBody before describing what the person is looking at: representsConfiguredVehicle is false when the viewport is showing a licensed stand-in of a different car rather than the vehicle being configured. Call this before making a change so expectedRevision is current.
View tool JSON
{
"name": "get_vehicle_configuration",
"kind": "answer",
"impl": "imperative",
"description": "Read the current vehicle build, buyer context, price, range, delivery status, revision, transaction status, presentation state, and which vehicle body is on screen. Check renderedBody before describing what the person is looking at: representsConfiguredVehicle is false when the viewport is showing a licensed stand-in of a different car rather than the vehicle being configured. Call this before making a change so expectedRevision is current.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
},
"page": "/configure/"
}list_vehicle_configuration_optionsAnswer
List real options for one configuration group or all groups, including the current selection and whether each candidate resolves into a valid build.
View tool JSON
{
"name": "list_vehicle_configuration_options",
"kind": "answer",
"impl": "imperative",
"description": "List real options for one configuration group or all groups, including the current selection and whether each candidate resolves into a valid build.",
"inputSchema": {
"type": "object",
"properties": {
"groupId": {
"type": "string",
"enum": [
"build",
"paint",
"wheels",
"interior",
"towing"
]
}
},
"additionalProperties": false
},
"page": "/configure/"
}simulate_vehicle_configuration_changeAction
Preview an atomic option change without altering the build. Returns exact price, range, delivery, validity, and compatible-alternative consequences at expectedRevision.
View tool JSON
{
"name": "simulate_vehicle_configuration_change",
"kind": "act",
"impl": "imperative",
"description": "Preview an atomic option change without altering the build. Returns exact price, range, delivery, validity, and compatible-alternative consequences at expectedRevision.",
"inputSchema": {
"type": "object",
"properties": {
"expectedRevision": {
"type": "integer",
"minimum": 1
},
"patch": {
"type": "object",
"properties": {
"set": {
"type": "object",
"properties": {
"build": {
"type": "array",
"items": {
"type": "string",
"enum": [
"build.performance",
"build.premium",
"build.standard_rwd",
"build.standard_rwd_lr",
"build.standard_awd_lr"
]
},
"minItems": 1,
"maxItems": 1,
"uniqueItems": true
},
"paint": {
"type": "array",
"items": {
"type": "string",
"enum": [
"paint.esker_silver",
"paint.glacier_white",
"paint.catalina_blue",
"paint.forest_green",
"paint.launch_green",
"paint.borealis"
]
},
"minItems": 1,
"maxItems": 1,
"uniqueItems": true
},
"wheels": {
"type": "array",
"items": {
"type": "string",
"enum": [
"wheels.lt21_as",
"wheels.bs20_at",
"wheels.bc20_as",
"wheels.mg19_as"
]
},
"minItems": 1,
"maxItems": 1,
"uniqueItems": true
},
"interior": {
"type": "array",
"items": {
"type": "string",
"enum": [
"interior.black_crater",
"interior.coastal_cloud"
]
},
"minItems": 1,
"maxItems": 1,
"uniqueItems": true
},
"towing": {
"type": "array",
"items": {
"type": "string",
"enum": [
"towing.launch_included",
"towing.standalone"
]
},
"minItems": 0,
"maxItems": 2,
"uniqueItems": true
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"set"
],
"additionalProperties": false
}
},
"required": [
"expectedRevision",
"patch"
],
"additionalProperties": false
},
"page": "/configure/"
}apply_vehicle_configuration_transactionAction
Apply one to four validated configuration stages through the live mutation service. Each visible stage is revision-safe, interruptible, and captured in one undoable receipt.
View tool JSON
{
"name": "apply_vehicle_configuration_transaction",
"kind": "act",
"impl": "imperative",
"description": "Apply one to four validated configuration stages through the live mutation service. Each visible stage is revision-safe, interruptible, and captured in one undoable receipt.",
"inputSchema": {
"type": "object",
"properties": {
"expectedRevision": {
"type": "integer",
"minimum": 1
},
"stages": {
"type": "array",
"minItems": 1,
"maxItems": 4,
"items": {
"type": "object",
"properties": {
"label": {
"type": "string",
"minLength": 1,
"maxLength": 60
},
"patch": {
"type": "object",
"properties": {
"set": {
"type": "object",
"properties": {
"build": {
"type": "array",
"items": {
"type": "string",
"enum": [
"build.performance",
"build.premium",
"build.standard_rwd",
"build.standard_rwd_lr",
"build.standard_awd_lr"
]
},
"minItems": 1,
"maxItems": 1,
"uniqueItems": true
},
"paint": {
"type": "array",
"items": {
"type": "string",
"enum": [
"paint.esker_silver",
"paint.glacier_white",
"paint.catalina_blue",
"paint.forest_green",
"paint.launch_green",
"paint.borealis"
]
},
"minItems": 1,
"maxItems": 1,
"uniqueItems": true
},
"wheels": {
"type": "array",
"items": {
"type": "string",
"enum": [
"wheels.lt21_as",
"wheels.bs20_at",
"wheels.bc20_as",
"wheels.mg19_as"
]
},
"minItems": 1,
"maxItems": 1,
"uniqueItems": true
},
"interior": {
"type": "array",
"items": {
"type": "string",
"enum": [
"interior.black_crater",
"interior.coastal_cloud"
]
},
"minItems": 1,
"maxItems": 1,
"uniqueItems": true
},
"towing": {
"type": "array",
"items": {
"type": "string",
"enum": [
"towing.launch_included",
"towing.standalone"
]
},
"minItems": 0,
"maxItems": 2,
"uniqueItems": true
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"set"
],
"additionalProperties": false
}
},
"required": [
"label",
"patch"
],
"additionalProperties": false
}
}
},
"required": [
"expectedRevision",
"stages"
],
"additionalProperties": false
},
"page": "/configure/"
}interrupt_vehicle_configuration_transactionAction
Stop any currently active agent configuration transaction after its latest committed stage. Completed stages remain visible and may be undone from the returned current revision.
View tool JSON
{
"name": "interrupt_vehicle_configuration_transaction",
"kind": "act",
"impl": "imperative",
"description": "Stop any currently active agent configuration transaction after its latest committed stage. Completed stages remain visible and may be undone from the returned current revision.",
"inputSchema": {
"type": "object",
"properties": {
"reason": {
"type": "string",
"minLength": 1,
"maxLength": 80
}
},
"additionalProperties": false
},
"page": "/configure/"
}undo_vehicle_configuration_transactionAction
Undo the latest eligible agent configuration transaction atomically. Requires the current expectedRevision and never undoes a human change.
View tool JSON
{
"name": "undo_vehicle_configuration_transaction",
"kind": "act",
"impl": "imperative",
"description": "Undo the latest eligible agent configuration transaction atomically. Requires the current expectedRevision and never undoes a human change.",
"inputSchema": {
"type": "object",
"properties": {
"expectedRevision": {
"type": "integer",
"minimum": 1
}
},
"required": [
"expectedRevision"
],
"additionalProperties": false
},
"page": "/configure/"
}present_vehicle_configurationAction
Move the CONFIGURE canvas to showroom or blueprint mode, choose an angle/profile/wheel/interior view, optionally focus a truthful vehicle hotspot, and open or close the body. This changes presentation only, never the selected build — and it only affects the Configure surface, so if the page is showing the Garage nothing visible happens. Use set_autolab_workspace first, or set_vehicle_twin_view to move the twin's camera instead.
View tool JSON
{
"name": "present_vehicle_configuration",
"kind": "act",
"impl": "imperative",
"description": "Move the CONFIGURE canvas to showroom or blueprint mode, choose an angle/profile/wheel/interior view, optionally focus a truthful vehicle hotspot, and open or close the body. This changes presentation only, never the selected build — and it only affects the Configure surface, so if the page is showing the Garage nothing visible happens. Use set_autolab_workspace first, or set_vehicle_twin_view to move the twin's camera instead.",
"inputSchema": {
"type": "object",
"properties": {
"mode": {
"type": "string",
"enum": [
"showroom",
"blueprint"
]
},
"viewPreset": {
"type": "string",
"enum": [
"angle",
"profile",
"wheel",
"interior"
]
},
"focus": {
"type": "string",
"enum": [
"none",
"paint",
"charge-port",
"wheels",
"utility"
]
},
"bodyOpen": {
"type": "boolean",
"description": "Swing the doors, frunk and liftgate open. Refused, and reported back under `unapplied`, in blueprint mode or on a body with no openable panels — see renderedBody.canOpen from get_vehicle_configuration."
}
},
"minProperties": 1,
"additionalProperties": false
},
"page": "/configure/"
}set_vehicle_buyer_contextAction
Set only buyer facts the person has actually provided—EV experience, state, utility, charging access, use cases, priorities, financing, and cross-shopped vehicles—so configuration guidance and incentive results can adapt without guessing.
View tool JSON
{
"name": "set_vehicle_buyer_context",
"kind": "act",
"impl": "imperative",
"description": "Set only buyer facts the person has actually provided—EV experience, state, utility, charging access, use cases, priorities, financing, and cross-shopped vehicles—so configuration guidance and incentive results can adapt without guessing.",
"inputSchema": {
"type": "object",
"properties": {
"expectedRevision": {
"type": "integer",
"minimum": 1
},
"patch": {
"type": "object",
"properties": {
"evExperience": {
"type": "string",
"enum": [
"new",
"familiar",
"owner",
"unknown"
]
},
"state": {
"type": "string",
"pattern": "^(unknown|[A-Z]{2})$"
},
"utility": {
"type": "string",
"enum": [
"xcel",
"unknown"
]
},
"chargingSituation": {
"type": "string",
"enum": [
"home_l2_possible",
"home_l1",
"routine_public",
"poor_fit",
"unknown"
]
},
"useCases": {
"type": "array",
"items": {
"type": "string",
"enum": [
"road_trip",
"towing",
"commute",
"snow"
]
},
"uniqueItems": true
},
"priorities": {
"type": "array",
"items": {
"type": "string",
"enum": [
"range",
"delivery",
"price",
"performance",
"comfort"
]
},
"uniqueItems": true
},
"financing": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "string",
"enum": [
"unknown"
]
}
]
},
"crossShopIds": {
"type": "array",
"items": {
"type": "string",
"enum": [
"model_y",
"ioniq_5"
]
},
"uniqueItems": true
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"expectedRevision",
"patch"
],
"additionalProperties": false
},
"page": "/configure/"
}estimate_vehicle_ownership_costAction
Estimate monthly payment, sales tax, loan principal, energy, maintenance, and a multi-year ownership total for the current build. Read-only, so several financing scenarios can be priced without changing the build. Every assumption is optional and falls back to a catalog-derived default; the response names which defaults were used. Conditional credits and deductions are never netted into the payment.
View tool JSON
{
"name": "estimate_vehicle_ownership_cost",
"kind": "act",
"impl": "imperative",
"description": "Estimate monthly payment, sales tax, loan principal, energy, maintenance, and a multi-year ownership total for the current build. Read-only, so several financing scenarios can be priced without changing the build. Every assumption is optional and falls back to a catalog-derived default; the response names which defaults were used. Conditional credits and deductions are never netted into the payment.",
"inputSchema": {
"type": "object",
"properties": {
"expectedRevision": {
"type": "integer",
"minimum": 1
},
"assumptions": {
"type": "object",
"properties": {
"aprPct": {
"type": "number",
"minimum": 0,
"maximum": 30,
"description": "Annual percentage rate, expressed in percent (6.5 = 6.5%)."
},
"termMonths": {
"type": "integer",
"minimum": 12,
"maximum": 96,
"description": "Loan term in months."
},
"downPayment": {
"type": "number",
"minimum": 0,
"description": "Cash down in USD. Cannot exceed the vehicle total."
},
"salesTaxRate": {
"type": "number",
"minimum": 0,
"maximum": 0.2,
"description": "Fraction, not percent. 0.08 means 8%."
},
"annualMiles": {
"type": "number",
"minimum": 0,
"maximum": 50000,
"description": "Miles driven per year."
},
"homeKwhRate": {
"type": "number",
"minimum": 0,
"maximum": 2,
"description": "Home electricity price in USD per kWh."
},
"publicKwhRate": {
"type": "number",
"minimum": 0,
"maximum": 2,
"description": "Public charging price in USD per kWh."
},
"homeChargingShare": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "Fraction of charging done at home. 0.8 means 80%."
},
"horizonYears": {
"type": "integer",
"minimum": 1,
"maximum": 10,
"description": "Ownership horizon used for the running total."
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"expectedRevision"
],
"additionalProperties": false
},
"page": "/configure/"
}compare_vehicle_configurationsAnswer
Compare the current build against up to three alternatives side by side on price, range, power, 0-60, matched savings, and delivery. Each alternative is a patch applied to the current build. Read-only: nothing is applied. Invalid alternatives are still returned, marked invalid with their violations, so a trade-off can be explained rather than hidden.
View tool JSON
{
"name": "compare_vehicle_configurations",
"kind": "answer",
"impl": "imperative",
"description": "Compare the current build against up to three alternatives side by side on price, range, power, 0-60, matched savings, and delivery. Each alternative is a patch applied to the current build. Read-only: nothing is applied. Invalid alternatives are still returned, marked invalid with their violations, so a trade-off can be explained rather than hidden.",
"inputSchema": {
"type": "object",
"properties": {
"candidates": {
"type": "array",
"minItems": 1,
"maxItems": 3,
"items": {
"type": "object",
"properties": {
"label": {
"type": "string",
"minLength": 1,
"maxLength": 60
},
"patch": {
"type": "object",
"properties": {
"set": {
"type": "object",
"properties": {
"build": {
"type": "array",
"items": {
"type": "string",
"enum": [
"build.performance",
"build.premium",
"build.standard_rwd",
"build.standard_rwd_lr",
"build.standard_awd_lr"
]
},
"minItems": 1,
"maxItems": 1,
"uniqueItems": true
},
"paint": {
"type": "array",
"items": {
"type": "string",
"enum": [
"paint.esker_silver",
"paint.glacier_white",
"paint.catalina_blue",
"paint.forest_green",
"paint.launch_green",
"paint.borealis"
]
},
"minItems": 1,
"maxItems": 1,
"uniqueItems": true
},
"wheels": {
"type": "array",
"items": {
"type": "string",
"enum": [
"wheels.lt21_as",
"wheels.bs20_at",
"wheels.bc20_as",
"wheels.mg19_as"
]
},
"minItems": 1,
"maxItems": 1,
"uniqueItems": true
},
"interior": {
"type": "array",
"items": {
"type": "string",
"enum": [
"interior.black_crater",
"interior.coastal_cloud"
]
},
"minItems": 1,
"maxItems": 1,
"uniqueItems": true
},
"towing": {
"type": "array",
"items": {
"type": "string",
"enum": [
"towing.launch_included",
"towing.standalone"
]
},
"minItems": 0,
"maxItems": 2,
"uniqueItems": true
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"set"
],
"additionalProperties": false
}
},
"required": [
"label",
"patch"
],
"additionalProperties": false
}
},
"includeCurrent": {
"type": "boolean",
"description": "Include the current build as the first column. Defaults to true."
}
},
"required": [
"candidates"
],
"additionalProperties": false
},
"page": "/configure/"
}get_vehicle_twin_stateAnswer
Read the AutoLab Garage camera, active motions, selected component, available views, and the configuration revision synchronized from the configurator. Read-only and does not move the vehicle.
View tool JSON
{
"name": "get_vehicle_twin_state",
"kind": "answer",
"impl": "imperative",
"description": "Read the AutoLab Garage camera, active motions, selected component, available views, and the configuration revision synchronized from the configurator. Read-only and does not move the vehicle.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
},
"page": "/configure/"
}list_vehicle_partsAnswer
List the RX2 digital twin's named components. Filter by shell, chassis, running gear, or interior; request detail for measured world-space bounds in metres.
View tool JSON
{
"name": "list_vehicle_parts",
"kind": "answer",
"impl": "imperative",
"description": "List the RX2 digital twin's named components. Filter by shell, chassis, running gear, or interior; request detail for measured world-space bounds in metres.",
"inputSchema": {
"type": "object",
"properties": {
"category": {
"type": "string",
"enum": [
"shell",
"chassis",
"running",
"interior"
]
},
"detail": {
"type": "boolean"
}
},
"additionalProperties": false
},
"page": "/configure/"
}inspect_vehicle_partAction
Open AutoLab Garage, find one named component, reveal it through the body when necessary, frame it with the camera, and highlight it with an authored technical leader. Part ids come from list_vehicle_parts — call it first rather than guessing. This switches the page to Garage; set_autolab_workspace switches it back.
View tool JSON
{
"name": "inspect_vehicle_part",
"kind": "act",
"impl": "imperative",
"description": "Open AutoLab Garage, find one named component, reveal it through the body when necessary, frame it with the camera, and highlight it with an authored technical leader. Part ids come from list_vehicle_parts — call it first rather than guessing. This switches the page to Garage; set_autolab_workspace switches it back.",
"inputSchema": {
"type": "object",
"properties": {
"part": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"revealUnderBody": {
"type": "boolean",
"description": "Dissolve the shell for chassis and interior components. Defaults to true."
},
"azimuthDeg": {
"type": "number"
},
"elevationDeg": {
"type": "number",
"minimum": 2,
"maximum": 86
},
"margin": {
"type": "number",
"minimum": 0.1,
"maximum": 3
}
},
"required": [
"part"
],
"additionalProperties": false
},
"page": "/configure/"
}set_vehicle_twin_viewAction
Open AutoLab Garage and move the synchronized vehicle to an authored ISO, three-quarter, side, front, or top view. Side, front, and top are true orthographic elevations.
View tool JSON
{
"name": "set_vehicle_twin_view",
"kind": "act",
"impl": "imperative",
"description": "Open AutoLab Garage and move the synchronized vehicle to an authored ISO, three-quarter, side, front, or top view. Side, front, and top are true orthographic elevations.",
"inputSchema": {
"type": "object",
"properties": {
"view": {
"type": "string",
"enum": [
"iso",
"q34f",
"q34r",
"side",
"front",
"top"
]
},
"annotationsVisible": {
"type": "boolean"
}
},
"required": [
"view"
],
"additionalProperties": false
},
"page": "/configure/"
}set_vehicle_twin_motionAction
Open AutoLab Garage and turn one vehicle demonstration on or off. The values do not all read the way they look: run = idle telemetry and wheel spin; drive = rolling road with steering; lights = headlamp and tail-lamp beams; panels = DISSOLVE the body shell to reveal the chassis (it does not show panels); explode = separate every component along its assembly axis; open = swing the hood, liftgate, four doors and charge-port door. run and drive are coupled — turning drive on turns run on, turning run off turns drive off — so the reply reports all six. Omit `on` to toggle. This switches the page to Garage; set_autolab_workspace switches it back.
View tool JSON
{
"name": "set_vehicle_twin_motion",
"kind": "act",
"impl": "imperative",
"description": "Open AutoLab Garage and turn one vehicle demonstration on or off. The values do not all read the way they look: run = idle telemetry and wheel spin; drive = rolling road with steering; lights = headlamp and tail-lamp beams; panels = DISSOLVE the body shell to reveal the chassis (it does not show panels); explode = separate every component along its assembly axis; open = swing the hood, liftgate, four doors and charge-port door. run and drive are coupled — turning drive on turns run on, turning run off turns drive off — so the reply reports all six. Omit `on` to toggle. This switches the page to Garage; set_autolab_workspace switches it back.",
"inputSchema": {
"type": "object",
"properties": {
"motion": {
"type": "string",
"enum": [
"run",
"drive",
"lights",
"panels",
"explode",
"open"
]
},
"on": {
"type": "boolean"
}
},
"required": [
"motion"
],
"additionalProperties": false
},
"page": "/configure/"
}measure_vehicle_partsAnswer
Measure the centre-to-centre distance and per-axis separation between two named digital-twin components in metres. Read-only and does not move the vehicle.
View tool JSON
{
"name": "measure_vehicle_parts",
"kind": "answer",
"impl": "imperative",
"description": "Measure the centre-to-centre distance and per-axis separation between two named digital-twin components in metres. Read-only and does not move the vehicle.",
"inputSchema": {
"type": "object",
"properties": {
"from": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"to": {
"type": "string",
"minLength": 1,
"maxLength": 80
}
},
"required": [
"from",
"to"
],
"additionalProperties": false
},
"page": "/configure/"
}set_autolab_workspaceAction
Show either the Configure surface (build, pricing, paint, wheels, interior) or the Garage digital twin (components, motion, measurement). Inspecting a part, setting a twin view or running a twin motion switches to Garage on its own; this is how you come back. Presentation tools such as present_vehicle_configuration only affect the Configure canvas, so switch back before using them. Read the current surface from get_vehicle_configuration. On screen the switch is labelled Shop (configure) and My Car (garage).
View tool JSON
{
"name": "set_autolab_workspace",
"kind": "act",
"impl": "imperative",
"description": "Show either the Configure surface (build, pricing, paint, wheels, interior) or the Garage digital twin (components, motion, measurement). Inspecting a part, setting a twin view or running a twin motion switches to Garage on its own; this is how you come back. Presentation tools such as present_vehicle_configuration only affect the Configure canvas, so switch back before using them. Read the current surface from get_vehicle_configuration. On screen the switch is labelled Shop (configure) and My Car (garage).",
"inputSchema": {
"type": "object",
"properties": {
"workspace": {
"type": "string",
"enum": [
"configure",
"garage"
]
}
},
"required": [
"workspace"
],
"additionalProperties": false
},
"page": "/configure/"
}tour_vehicle_twinAction
Open AutoLab Garage and start (or stop) the twin's guided tour: nine stops over about thirty seconds, each a tool call on the drawing, with a caption card. The tour shows the overview, the headlamps lit, the side elevation with dimensions, the structural battery with the shell dissolved, the front drive unit, everything open, the exploded assembly, drive with lights, and the reset. A scene-changing twin tool call, or a click or key on the drawing, stops it where it is. Read-only calls and configurator context sync do not interrupt it. Pass from to start at a later stop.
View tool JSON
{
"name": "tour_vehicle_twin",
"kind": "act",
"impl": "imperative",
"description": "Open AutoLab Garage and start (or stop) the twin's guided tour: nine stops over about thirty seconds, each a tool call on the drawing, with a caption card. The tour shows the overview, the headlamps lit, the side elevation with dimensions, the structural battery with the shell dissolved, the front drive unit, everything open, the exploded assembly, drive with lights, and the reset. A scene-changing twin tool call, or a click or key on the drawing, stops it where it is. Read-only calls and configurator context sync do not interrupt it. Pass from to start at a later stop.",
"inputSchema": {
"type": "object",
"properties": {
"action": {
"type": "string",
"enum": [
"start",
"stop"
]
},
"from": {
"type": "integer",
"minimum": 1,
"maximum": 9,
"description": "Stop to start at, 1-based. Only with action start."
}
},
"required": [
"action"
],
"additionalProperties": false
},
"page": "/configure/"
}page: Engine
get_engine_fit_reportAnswer
Return the AutoLab engine's measurement of the vehicle model against its published specification, as taken when this site was assembled: per-dimension deviation in millimetres with tolerances, the part that owns each extreme, and the self-test gate. Includes the model commit and the assembly time.
View tool JSON
{
"name": "get_engine_fit_report",
"kind": "answer",
"impl": "imperative",
"description": "Return the AutoLab engine's measurement of the vehicle model against its published specification, as taken when this site was assembled: per-dimension deviation in millimetres with tolerances, the part that owns each extreme, and the self-test gate. Includes the model commit and the assembly time.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
},
"page": "/engine/"
}list_engine_instrumentsAnswer
Return every command the AutoLab 3D Creation Engine offers and the question each one answers.
View tool JSON
{
"name": "list_engine_instruments",
"kind": "answer",
"impl": "imperative",
"description": "Return every command the AutoLab 3D Creation Engine offers and the question each one answers.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
},
"page": "/engine/"
}get_aperture_reportAnswer
Return the engine's aperture gate for the model: for each door, hood, liftgate and lid opening, whether any fixed geometry sits at the skin and well inside the opening at four open fractions, naming the part, how far inside the opening (mm) and how deep behind the skin (mm), plus the parts that merely touch the opening's edge. Read out/apertures.json as assembled by build.sh; PASS, FAIL or INFO per opening.
View tool JSON
{
"name": "get_aperture_report",
"kind": "answer",
"impl": "imperative",
"description": "Return the engine's aperture gate for the model: for each door, hood, liftgate and lid opening, whether any fixed geometry sits at the skin and well inside the opening at four open fractions, naming the part, how far inside the opening (mm) and how deep behind the skin (mm), plus the parts that merely touch the opening's edge. Read out/apertures.json as assembled by build.sh; PASS, FAIL or INFO per opening.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
},
"page": "/engine/"
}page: Garage
start_tourAction
Start the current vehicle's 30-second tour, nine stops: an overview, its lamps lit, the side dimensions, details under or behind the skin, its opening panels, the exploded assembly, a drive with lights, then reset. get_vehicles gives each vehicle's stops. from is a 1-based step. Any other call except get_state/start_tour/stop_tour interrupts the tour; stop_tour stops it explicitly. Any call that moves the scene (views, motions, camera, framing, highlighting, annotations, reset), and any click or key on the drawing, stops it where it is; reads and the host's context sync do not.
View tool JSON
{
"name": "start_tour",
"kind": "act",
"impl": "imperative",
"description": "Start the current vehicle's 30-second tour, nine stops: an overview, its lamps lit, the side dimensions, details under or behind the skin, its opening panels, the exploded assembly, a drive with lights, then reset. get_vehicles gives each vehicle's stops. from is a 1-based step. Any other call except get_state/start_tour/stop_tour interrupts the tour; stop_tour stops it explicitly. Any call that moves the scene (views, motions, camera, framing, highlighting, annotations, reset), and any click or key on the drawing, stops it where it is; reads and the host's context sync do not.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"from": {
"type": "integer",
"minimum": 1,
"maximum": 9
}
}
},
"page": "/garage/?vehicle=roadster&play=1"
}stop_tourAction
Stop the tour at its current step without restoring the scene. The tour shows views, lights, dimensions, details under the skin, open panels, explode and drive. Any other call except get_state/start_tour/stop_tour also interrupts it. Reads never stop the tour; only this, a scene-moving call, or a person's click or key does.
View tool JSON
{
"name": "stop_tour",
"kind": "act",
"impl": "imperative",
"description": "Stop the tour at its current step without restoring the scene. The tour shows views, lights, dimensions, details under the skin, open panels, explode and drive. Any other call except get_state/start_tour/stop_tour also interrupts it. Reads never stop the tour; only this, a scene-moving call, or a person's click or key does.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
},
"page": "/garage/?vehicle=roadster&play=1"
}get_stateAnswer
Which vehicle is on the sheet, the current view preset, camera pose, which motions are running, and what is selected. Call this first to orient.
View tool JSON
{
"name": "get_state",
"kind": "answer",
"impl": "imperative",
"description": "Which vehicle is on the sheet, the current view preset, camera pose, which motions are running, and what is selected. Call this first to orient.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
},
"page": "/garage/?vehicle=roadster&play=1"
}get_vehiclesAnswer
The vehicles this Garage can show and which one is on the sheet now, each with its views, motions, tour length and whether it has a run mode (the tray's PLAY). Every other tool works on the current vehicle; set_vehicle switches.
View tool JSON
{
"name": "get_vehicles",
"kind": "answer",
"impl": "imperative",
"description": "The vehicles this Garage can show and which one is on the sheet now, each with its views, motions, tour length and whether it has a run mode (the tray's PLAY). Every other tool works on the current vehicle; set_vehicle switches.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
},
"page": "/garage/?vehicle=roadster&play=1"
}set_vehicleAction
Put another vehicle on the sheet: rx2 is the Hudian RX2, roadster the Tesla Roadster. Its sheet text, key, callouts, camera presets and tour come with it, and the scene goes back to how it opens (ISO view, run only, shell on, nothing selected). Stops a running tour. The first switch to a vehicle loads its model, so that reply can take a moment. Returns the new state, as get_state does.
View tool JSON
{
"name": "set_vehicle",
"kind": "act",
"impl": "imperative",
"description": "Put another vehicle on the sheet: rx2 is the Hudian RX2, roadster the Tesla Roadster. Its sheet text, key, callouts, camera presets and tour come with it, and the scene goes back to how it opens (ISO view, run only, shell on, nothing selected). Stops a running tour. The first switch to a vehicle loads its model, so that reply can take a moment. Returns the new state, as get_state does.",
"inputSchema": {
"type": "object",
"required": [
"vehicle"
],
"properties": {
"vehicle": {
"type": "string",
"enum": [
"rx2",
"roadster"
]
}
},
"additionalProperties": false
},
"page": "/garage/?vehicle=roadster&play=1"
}set_vehicle_contextAction
Synchronize the vehicle identity and selected build supplied by the AutoLab configurator. This does not change engineering geometry; it lets the owner guide and agent verify that both lifecycle surfaces refer to the same revision.
View tool JSON
{
"name": "set_vehicle_context",
"kind": "act",
"impl": "imperative",
"description": "Synchronize the vehicle identity and selected build supplied by the AutoLab configurator. This does not change engineering geometry; it lets the owner guide and agent verify that both lifecycle surfaces refer to the same revision.",
"inputSchema": {
"type": "object",
"required": [
"build",
"paint",
"wheels",
"interior",
"rangeMiles",
"vehicleTotal",
"revision"
],
"additionalProperties": false,
"properties": {
"build": {
"type": "string",
"minLength": 1,
"maxLength": 120
},
"paint": {
"type": "string",
"minLength": 1,
"maxLength": 120
},
"wheels": {
"type": "string",
"minLength": 1,
"maxLength": 120
},
"interior": {
"type": "string",
"minLength": 1,
"maxLength": 120
},
"rangeMiles": {
"anyOf": [
{
"type": "number",
"minimum": 0,
"maximum": 2000
},
{
"type": "null"
}
]
},
"vehicleTotal": {
"type": "number",
"minimum": 0,
"maximum": 10000000
},
"revision": {
"type": "integer",
"minimum": 1
}
}
},
"page": "/garage/?vehicle=roadster&play=1"
}set_viewAction
Move the camera to one of the drawing's standard views. side, front and top are true orthographic elevations; iso, q34f and q34r are perspective.
View tool JSON
{
"name": "set_view",
"kind": "act",
"impl": "imperative",
"description": "Move the camera to one of the drawing's standard views. side, front and top are true orthographic elevations; iso, q34f and q34r are perspective.",
"inputSchema": {
"type": "object",
"required": [
"view"
],
"properties": {
"view": {
"type": "string",
"enum": [
"iso",
"q34f",
"q34r",
"side",
"front",
"top"
]
}
},
"additionalProperties": false
},
"page": "/garage/?vehicle=roadster&play=1"
}set_motionAction
Turn one of the sheet's motions on or off. run = idle telemetry and wheel spin; drive = rolling road with steering; lights = headlamp and tail-lamp beams; panels = dissolve the body shell to reveal the chassis; explode = separate every component along its assembly axis; open = swing every opening panel of the current vehicle (the RX2's hood, liftgate, four doors and charge-port door; the Roadster's two gull-wing doors; the reply's opens names them). run and drive are coupled: turning drive on turns run on, and turning run off turns drive off. The reply reports every motion, not just the one asked about, so the coupling is visible.
View tool JSON
{
"name": "set_motion",
"kind": "act",
"impl": "imperative",
"description": "Turn one of the sheet's motions on or off. run = idle telemetry and wheel spin; drive = rolling road with steering; lights = headlamp and tail-lamp beams; panels = dissolve the body shell to reveal the chassis; explode = separate every component along its assembly axis; open = swing every opening panel of the current vehicle (the RX2's hood, liftgate, four doors and charge-port door; the Roadster's two gull-wing doors; the reply's opens names them). run and drive are coupled: turning drive on turns run on, and turning run off turns drive off. The reply reports every motion, not just the one asked about, so the coupling is visible.",
"inputSchema": {
"type": "object",
"required": [
"motion"
],
"properties": {
"motion": {
"type": "string",
"enum": [
"run",
"drive",
"lights",
"panels",
"explode",
"open"
]
},
"on": {
"type": "boolean",
"description": "Omit to toggle."
}
},
"additionalProperties": false
},
"page": "/garage/?vehicle=roadster&play=1"
}set_cameraAction
Place the camera by absolute pose. azimuth 0 looks at the driver side in profile and increases clockwise seen from above; elevation 0 is eye level, 90 is directly overhead. Omitted angles and distance keep their current value, but any call here leaves the named view preset (the reply's preset becomes null), recentres the orbit target on the vehicle, and stops the ISO drift — so a pose set here is reproducible, which the drifting default view is not. To go back to an authored framing, call set_view.
View tool JSON
{
"name": "set_camera",
"kind": "act",
"impl": "imperative",
"description": "Place the camera by absolute pose. azimuth 0 looks at the driver side in profile and increases clockwise seen from above; elevation 0 is eye level, 90 is directly overhead. Omitted angles and distance keep their current value, but any call here leaves the named view preset (the reply's preset becomes null), recentres the orbit target on the vehicle, and stops the ISO drift — so a pose set here is reproducible, which the drifting default view is not. To go back to an authored framing, call set_view.",
"inputSchema": {
"type": "object",
"properties": {
"azimuth_deg": {
"type": "number"
},
"elevation_deg": {
"type": "number",
"minimum": 2,
"maximum": 86
},
"distance_m": {
"type": "number",
"minimum": 1.2,
"maximum": 22
},
"orthographic": {
"type": "boolean",
"description": "True for a flat technical projection with no convergence."
}
},
"additionalProperties": false
},
"page": "/garage/?vehicle=roadster&play=1"
}orbit_cameraAction
Nudge the camera relative to where it is now. Use this to walk around the vehicle a few degrees at a time rather than guessing an absolute pose. Keeps whatever frame_part centred on, but leaves the named view preset and stops the ISO drift, so the resulting pose is reproducible. Distance is clamped to 1.2-22 m, so a zoom past either end returns the clamped distance rather than the one requested — read distance_m back from the reply.
View tool JSON
{
"name": "orbit_camera",
"kind": "act",
"impl": "imperative",
"description": "Nudge the camera relative to where it is now. Use this to walk around the vehicle a few degrees at a time rather than guessing an absolute pose. Keeps whatever frame_part centred on, but leaves the named view preset and stops the ISO drift, so the resulting pose is reproducible. Distance is clamped to 1.2-22 m, so a zoom past either end returns the clamped distance rather than the one requested — read distance_m back from the reply.",
"inputSchema": {
"type": "object",
"properties": {
"d_azimuth_deg": {
"type": "number"
},
"d_elevation_deg": {
"type": "number",
"minimum": -84,
"maximum": 84
},
"zoom": {
"type": "number",
"minimum": 0.1,
"maximum": 4,
"description": "Positive multiplier on distance; 0.8 moves closer, 1.25 pulls back."
}
},
"additionalProperties": false
},
"page": "/garage/?vehicle=roadster&play=1"
}list_partsAnswer
Every named component in the current vehicle (the reply's vehicle says which). category is one of shell (body panels and glass), chassis (the structure under the skin: the RX2's battery, subframes and drive units, the Roadster's floor, fans and thrusters), running (the wheels) or interior. The brakes ride on the wheel hubs: a chassis part on the RX2, a running part on the Roadster. Pass detail:true for bounding boxes in metres.
View tool JSON
{
"name": "list_parts",
"kind": "answer",
"impl": "imperative",
"description": "Every named component in the current vehicle (the reply's vehicle says which). category is one of shell (body panels and glass), chassis (the structure under the skin: the RX2's battery, subframes and drive units, the Roadster's floor, fans and thrusters), running (the wheels) or interior. The brakes ride on the wheel hubs: a chassis part on the RX2, a running part on the Roadster. Pass detail:true for bounding boxes in metres.",
"inputSchema": {
"type": "object",
"properties": {
"category": {
"type": "string",
"enum": [
"shell",
"chassis",
"running",
"interior"
]
},
"detail": {
"type": "boolean"
}
},
"additionalProperties": false
},
"page": "/garage/?vehicle=roadster&play=1"
}get_partAnswer
Full record for one component: its engineering description, its bounding box in metres in the vehicle frame, and where EXPLODE sends it. Accepts either the id from list_parts or the label shown on the sheet.
View tool JSON
{
"name": "get_part",
"kind": "answer",
"impl": "imperative",
"description": "Full record for one component: its engineering description, its bounding box in metres in the vehicle frame, and where EXPLODE sends it. Accepts either the id from list_parts or the label shown on the sheet.",
"inputSchema": {
"type": "object",
"required": [
"part"
],
"properties": {
"part": {
"type": "string",
"minLength": 1,
"maxLength": 80
}
},
"additionalProperties": false
},
"page": "/garage/?vehicle=roadster&play=1"
}frame_partAction
Point the camera at one component and zoom so it fills the sheet. The best way to inspect a specific piece of the vehicle.
View tool JSON
{
"name": "frame_part",
"kind": "act",
"impl": "imperative",
"description": "Point the camera at one component and zoom so it fills the sheet. The best way to inspect a specific piece of the vehicle.",
"inputSchema": {
"type": "object",
"required": [
"part"
],
"properties": {
"part": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"azimuth_deg": {
"type": "number"
},
"elevation_deg": {
"type": "number",
"minimum": 2,
"maximum": 86
},
"margin": {
"type": "number",
"minimum": 0.1,
"maximum": 3,
"description": "Fraction of slack around the part, default 0.6."
}
},
"additionalProperties": false
},
"page": "/garage/?vehicle=roadster&play=1"
}highlight_partAction
Select a component: it is picked out of the drawing and a numbered leader runs to it, the same as hovering its row in the key. Call with no argument to clear.
View tool JSON
{
"name": "highlight_part",
"kind": "act",
"impl": "imperative",
"description": "Select a component: it is picked out of the drawing and a numbered leader runs to it, the same as hovering its row in the key. Call with no argument to clear.",
"inputSchema": {
"type": "object",
"properties": {
"part": {
"type": "string",
"minLength": 1,
"maxLength": 80,
"description": "Omit to clear the selection."
}
},
"additionalProperties": false
},
"page": "/garage/?vehicle=roadster&play=1"
}set_annotationsAction
Show or hide the callout cards, dimension lines and title block, leaving the vehicle alone. Hide them for a clean look at the geometry.
View tool JSON
{
"name": "set_annotations",
"kind": "act",
"impl": "imperative",
"description": "Show or hide the callout cards, dimension lines and title block, leaving the vehicle alone. Hide them for a clean look at the geometry.",
"inputSchema": {
"type": "object",
"required": [
"visible"
],
"properties": {
"visible": {
"type": "boolean"
}
},
"additionalProperties": false
},
"page": "/garage/?vehicle=roadster&play=1"
}get_specificationAnswer
The published dimensions the current vehicle's model is built to (an independent reconstruction fitted to its maker's published figures; basis says which). Every value in dimensions_m is a length in metres; a mass, where the model carries one, comes separately as mass_kg. Also returns the model's own derived coordinates (NOSE, TAIL, XF, XR: the x positions of the bumpers and axles), which is what part bounds and measurements are expressed against. The body is an independent reconstruction fitted to published dimensions and photographs, not manufacturer CAD.
View tool JSON
{
"name": "get_specification",
"kind": "answer",
"impl": "imperative",
"description": "The published dimensions the current vehicle's model is built to (an independent reconstruction fitted to its maker's published figures; basis says which). Every value in dimensions_m is a length in metres; a mass, where the model carries one, comes separately as mass_kg. Also returns the model's own derived coordinates (NOSE, TAIL, XF, XR: the x positions of the bumpers and axles), which is what part bounds and measurements are expressed against. The body is an independent reconstruction fitted to published dimensions and photographs, not manufacturer CAD.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
},
"page": "/garage/?vehicle=roadster&play=1"
}measureAnswer
Distance in metres between the bounding-box CENTRES of two components, plus the per-axis separation. This is not a clearance: two parts that interpenetrate and two parts 200 mm apart can return the same distance. For clearance, read both parts' bounds_m from get_part and compare the facing faces. Axes: x forward (+x is the nose), y up (0 is the ground), z lateral (+z is the passenger side).
View tool JSON
{
"name": "measure",
"kind": "answer",
"impl": "imperative",
"description": "Distance in metres between the bounding-box CENTRES of two components, plus the per-axis separation. This is not a clearance: two parts that interpenetrate and two parts 200 mm apart can return the same distance. For clearance, read both parts' bounds_m from get_part and compare the facing faces. Axes: x forward (+x is the nose), y up (0 is the ground), z lateral (+z is the passenger side).",
"inputSchema": {
"type": "object",
"required": [
"from",
"to"
],
"properties": {
"from": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"to": {
"type": "string",
"minLength": 1,
"maxLength": 80
}
},
"additionalProperties": false
},
"page": "/garage/?vehicle=roadster&play=1"
}list_visible_partsAnswer
What the camera can see right now: a grid of rays through the sheet, first surface hit per ray, tallied by component. Returns each visible component with the percentage of the sheet it covers, where its visible area sits on the sheet (0..1 from the left and from the top) and its nearest distance; plus how much of the sheet the vehicle fills. Use it to know what a person is looking at before explaining it, or to confirm a frame_part landed. Reads the sheet's own part-id buffer, so it honours the dissolved shell and open panels.
View tool JSON
{
"name": "list_visible_parts",
"kind": "answer",
"impl": "imperative",
"description": "What the camera can see right now: a grid of rays through the sheet, first surface hit per ray, tallied by component. Returns each visible component with the percentage of the sheet it covers, where its visible area sits on the sheet (0..1 from the left and from the top) and its nearest distance; plus how much of the sheet the vehicle fills. Use it to know what a person is looking at before explaining it, or to confirm a frame_part landed. Reads the sheet's own part-id buffer, so it honours the dissolved shell and open panels.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"columns": {
"type": "integer",
"minimum": 8,
"maximum": 96,
"description": "Ray grid width; rows follow the sheet aspect. Default 40."
}
}
},
"page": "/garage/?vehicle=roadster&play=1"
}clearanceAction
Nearest surface-to-surface gap in metres between two components as they are posed right now (open panels and explode change it), with the two closest points in the vehicle frame. Unlike measure, which uses bounding-box centres, this is the real gap: use it for packaging questions such as how close the battery pack sits to the floor or a tyre to its arch. Zero means the surfaces touch or intersect.
View tool JSON
{
"name": "clearance",
"kind": "act",
"impl": "imperative",
"description": "Nearest surface-to-surface gap in metres between two components as they are posed right now (open panels and explode change it), with the two closest points in the vehicle frame. Unlike measure, which uses bounding-box centres, this is the real gap: use it for packaging questions such as how close the battery pack sits to the floor or a tyre to its arch. Zero means the surfaces touch or intersect.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"required": [
"from",
"to"
],
"properties": {
"from": {
"type": "string"
},
"to": {
"type": "string"
}
}
},
"page": "/garage/?vehicle=roadster&play=1"
}frame_pointAction
Point the camera at a coordinate in the vehicle frame (metres: x forward from the wheelbase midpoint, y up from the ground, z to the right) and look at it from a chosen bearing and distance. For inspecting a place rather than a part: an engine finding at x/y/z, a gap between two components, a spot on the skin. Omitted azimuth and elevation keep the current bearing; distance defaults to 1.6 m. Things under the shell need set_motion {motion:"panels", on:true} first.
View tool JSON
{
"name": "frame_point",
"kind": "act",
"impl": "imperative",
"description": "Point the camera at a coordinate in the vehicle frame (metres: x forward from the wheelbase midpoint, y up from the ground, z to the right) and look at it from a chosen bearing and distance. For inspecting a place rather than a part: an engine finding at x/y/z, a gap between two components, a spot on the skin. Omitted azimuth and elevation keep the current bearing; distance defaults to 1.6 m. Things under the shell need set_motion {motion:\"panels\", on:true} first.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"required": [
"x",
"y",
"z"
],
"properties": {
"x": {
"type": "number",
"minimum": -4,
"maximum": 4
},
"y": {
"type": "number",
"minimum": -0.5,
"maximum": 3
},
"z": {
"type": "number",
"minimum": -2,
"maximum": 2
},
"azimuth_deg": {
"type": "number"
},
"elevation_deg": {
"type": "number",
"minimum": 2,
"maximum": 86
},
"distance_m": {
"type": "number",
"minimum": 1.2,
"maximum": 22,
"description": "Camera distance from the point; 1.2 m is the floor (the near plane is 0.5 m)."
}
}
},
"page": "/garage/?vehicle=roadster&play=1"
}resetAction
Return the sheet to how it opens: no run, ISO view, shell on, nothing exploded or open, nothing selected. The ISO view drifts slowly by design, so the camera pose it returns to is not fixed.
View tool JSON
{
"name": "reset",
"kind": "act",
"impl": "imperative",
"description": "Return the sheet to how it opens: no run, ISO view, shell on, nothing exploded or open, nothing selected. The ISO view drifts slowly by design, so the camera pose it returns to is not fixed.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
},
"page": "/garage/?vehicle=roadster&play=1"
}start_runAction
Start the run mode, as the tray's PLAY does: the Tesla Roadster at the start line at the foot of the wall-ride ramp, 8 m before the curl, which turns vertical 9 m up and runs on upside down to an overhang 21.6 m up (the hop autopilot starts 30 m back), in drive mode with a chase camera. A real-time simulation decides whether the car makes the wall ride or falls off it, and whether a hop lands. Switches the Garage to the Roadster first if another vehicle is on the sheet. Without autopilot the car waits for set_drive_inputs or a person's keys; autopilot "wallride" drives the reveal's wall ride (fans on, about 20 ft/s up the wall, a hang upside down on the overhang, then off the tip on the jets) and "hop" the thruster hop (8.5 m up on the corner jets and down again); any input takes over from the autopilot (set_drive_inputs with only fans or wing leaves it driving). A run already on starts again from its start line. The tools that move the drawing's own views, camera or motions (set_view, set_motion, set_camera, orbit_camera, frame_part, highlight_part, frame_point) end the run first, as stop_run does. Returns get_run_state.
View tool JSON
{
"name": "start_run",
"kind": "act",
"impl": "imperative",
"description": "Start the run mode, as the tray's PLAY does: the Tesla Roadster at the start line at the foot of the wall-ride ramp, 8 m before the curl, which turns vertical 9 m up and runs on upside down to an overhang 21.6 m up (the hop autopilot starts 30 m back), in drive mode with a chase camera. A real-time simulation decides whether the car makes the wall ride or falls off it, and whether a hop lands. Switches the Garage to the Roadster first if another vehicle is on the sheet. Without autopilot the car waits for set_drive_inputs or a person's keys; autopilot \"wallride\" drives the reveal's wall ride (fans on, about 20 ft/s up the wall, a hang upside down on the overhang, then off the tip on the jets) and \"hop\" the thruster hop (8.5 m up on the corner jets and down again); any input takes over from the autopilot (set_drive_inputs with only fans or wing leaves it driving). A run already on starts again from its start line. The tools that move the drawing's own views, camera or motions (set_view, set_motion, set_camera, orbit_camera, frame_part, highlight_part, frame_point) end the run first, as stop_run does. Returns get_run_state.",
"inputSchema": {
"type": "object",
"properties": {
"autopilot": {
"type": "string",
"enum": [
"wallride",
"hop"
]
}
},
"additionalProperties": false
},
"page": "/garage/?vehicle=roadster&play=1"
}stop_runAction
End the run, as STOP or Esc does: the ramp goes, the car is parked back at the garage origin and the sheet returns to its ISO view. Returns how the run ended (last), or nothing when no run was on.
View tool JSON
{
"name": "stop_run",
"kind": "act",
"impl": "imperative",
"description": "End the run, as STOP or Esc does: the ramp goes, the car is parked back at the garage origin and the sheet returns to its ISO view. Returns how the run ended (last), or nothing when no run was on.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
},
"page": "/garage/?vehicle=roadster&play=1"
}set_drive_inputsAction
Set what the driver holds in a run; each value stays until changed, and omitted ones keep theirs. throttle -1..1 (negative reverses), brake 0..1, steer -1..1 (+ is right), boost (the four rear cold-gas nozzles), hop (the corner jets: lift off, hover, and once let go a landing burn), yawL / yawR (the nose side jets: nose left / right), fans (the downforce fans, about 4,800 kgf once spooled; they hold the car on the wall) and wing (road, lowDrag, highDownforce). The thrust gas is one 250 kg tank whose pressure falls as it empties. Takes over from an autopilot, except a call that sets only fans and/or wing: the autopilot keeps driving with the car set up that way (start_run with autopilot "wallride", then fans: false, is the same wall ride without its fans). Needs a run (start_run). Returns the inputs the next physics step will use and get_run_state.
View tool JSON
{
"name": "set_drive_inputs",
"kind": "act",
"impl": "imperative",
"description": "Set what the driver holds in a run; each value stays until changed, and omitted ones keep theirs. throttle -1..1 (negative reverses), brake 0..1, steer -1..1 (+ is right), boost (the four rear cold-gas nozzles), hop (the corner jets: lift off, hover, and once let go a landing burn), yawL / yawR (the nose side jets: nose left / right), fans (the downforce fans, about 4,800 kgf once spooled; they hold the car on the wall) and wing (road, lowDrag, highDownforce). The thrust gas is one 250 kg tank whose pressure falls as it empties. Takes over from an autopilot, except a call that sets only fans and/or wing: the autopilot keeps driving with the car set up that way (start_run with autopilot \"wallride\", then fans: false, is the same wall ride without its fans). Needs a run (start_run). Returns the inputs the next physics step will use and get_run_state.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"throttle": {
"type": "number",
"minimum": -1,
"maximum": 1
},
"brake": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"steer": {
"type": "number",
"minimum": -1,
"maximum": 1
},
"fans": {
"type": "boolean"
},
"boost": {
"type": "boolean"
},
"hop": {
"type": "boolean"
},
"yawL": {
"type": "boolean"
},
"yawR": {
"type": "boolean"
},
"wing": {
"type": "string",
"enum": [
"road",
"lowDrag",
"highDownforce"
]
}
}
},
"page": "/garage/?vehicle=roadster&play=1"
}get_run_stateAnswer
The run as its telemetry shows it: active, outcome (running, summit, fell, crashed or stopped) and its message in words ("Held the overhang", "Fell off at 108 deg", "Crashed", "Out of gas"), speed km/h, pitch deg (past 90 up the wall, about 170 upside down on the overhang), altitude ft, downforce kg, g, tank psi and gas kg, fans %, wing, the car's position in metres (x along the run-in, the ramp's foot at x = 0; y up), the inputs in use, whether an autopilot drives, and the camera. With no run on: active false and how the last run ended.
View tool JSON
{
"name": "get_run_state",
"kind": "answer",
"impl": "imperative",
"description": "The run as its telemetry shows it: active, outcome (running, summit, fell, crashed or stopped) and its message in words (\"Held the overhang\", \"Fell off at 108 deg\", \"Crashed\", \"Out of gas\"), speed km/h, pitch deg (past 90 up the wall, about 170 upside down on the overhang), altitude ft, downforce kg, g, tank psi and gas kg, fans %, wing, the car's position in metres (x along the run-in, the ramp's foot at x = 0; y up), the inputs in use, whether an autopilot drives, and the camera. With no run on: active false and how the last run ended.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
},
"page": "/garage/?vehicle=roadster&play=1"
}