<!-- Generated from protocol/v2/api.json by protocol/v2/codegen/docs.js; do not edit. Run `make api`. -->
# Robot API names

Every entry of the robot API 2.0.0 and its name in each language.
The canonical names are snake_case; each language cases them its own way.
A property is read like a field; a call takes arguments; a control sets act
fields, one C symbol per field, and only the fields given are sent. An
absent result is the language's none (`CY_NONE` in C).
[docs/design/robot-core.md](../design/robot-core.md) has the design, and
`protocol/v2/api.js` the source.

| Canonical | Form | Ada | APL | FreeBASIC | BQN | C | CHR | CLIPS | Clojure | COBOL | Common Lisp | C++ | C# / .NET | D | Dart | Elixir | Erlang / Elixir | Forth | Fortran | F# | Go | Haskell | Hew | Java | JavaScript / TypeScript | Julia | Kotlin | Lua | Mercury | MiniZinc | Nim | OCaml | Free Pascal | Perl | PHP | PowerShell | Prolog / CHR | Python | R | Ruby | Rust | Scala | Swift | Zig | C | WebAssembly (C) | Vane and Cadence | Glyph |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| `match.mode` | property | cy_match_mode | CyMatchMode args | cy_match_mode | cy.MatchMode | cy_match_mode | match_mode | (cy-match-mode ...) | match().mode() | `CY-MATCH-MODE` | (match-mode robot) | match.mode() | Match.Mode | cy_match_mode | match.mode | Clunkyard.match_mode | clunkyard:match_mode | cy-match-mode | cy_match_mode | Match.Mode | Match.Mode() | cyMatchMode | match_info.mode() | `match().mode()` | match.mode | match.mode | match().mode() | match:mode | cy_match_mode | Planner.core_query("match.mode", ...) | cy_match_mode | Match.mode robot | cy_match_mode | $robot->match->mode | match->mode() | Match.Mode | match_mode | `self.match.mode` | `bot$match$mode` | match.mode | r#match.mode() | `match`().mode() | match.mode | match.mode() | `cy_match_mode(robot, &out)` | `cy_match_mode(&out)` | — | — |
| `match.ruleset` | property | cy_match_ruleset | CyMatchRuleset args | cy_match_ruleset | cy.MatchRuleset | cy_match_ruleset | match_ruleset | (cy-match-ruleset ...) | match().ruleset() | `CY-MATCH-RULESET` | (match-ruleset robot) | match.ruleset() | Match.Ruleset | cy_match_ruleset | match.ruleset | Clunkyard.match_ruleset | clunkyard:match_ruleset | cy-match-ruleset | cy_match_ruleset | Match.Ruleset | Match.Ruleset() | cyMatchRuleset | match_info.ruleset() | `match().ruleset()` | match.ruleset | match.ruleset | match().ruleset() | match:ruleset | cy_match_ruleset | Planner.core_query("match.ruleset", ...) | cy_match_ruleset | Match.ruleset robot | cy_match_ruleset | $robot->match->ruleset | match->ruleset() | Match.Ruleset | match_ruleset | `self.match.ruleset` | `bot$match$ruleset` | match.ruleset | r#match.ruleset() | `match`().ruleset() | match.ruleset | match.ruleset() | `cy_match_ruleset(robot, &out)` | `cy_match_ruleset(&out)` | `ruleset` `physics-mode` `zero-g` | `ruleset` `physics-mode` `zero-g` |
| `match.control` | property | cy_match_control | CyMatchControl args | cy_match_control | cy.MatchControl | cy_match_control | match_control | (cy-match-control ...) | match().control() | `CY-MATCH-CONTROL` | (match-control robot) | match.control() | Match.Control | cy_match_control | match.control | Clunkyard.match_control | clunkyard:match_control | cy-match-control | cy_match_control | Match.Control | Match.Control() | cyMatchControl | match_info.control() | `match().control()` | match.control | match.control | match().control() | match:control | cy_match_control | Planner.core_query("match.control", ...) | cy_match_control | Match.control robot | cy_match_control | $robot->match->control | match->control() | Match.Control | match_control | `self.match.control` | `bot$match$control` | match.control | r#match.control() | `match`().control() | match.control | match.control() | `cy_match_control(robot, &out)` | `cy_match_control(&out)` | `control-model` `inertial` | `control-model` `inertial` |
| `match.robots` | property | cy_match_robots | CyMatchRobots args | cy_match_robots | cy.MatchRobots | cy_match_robots | match_robots | (cy-match-robots ...) | match().robots() | `CY-MATCH-ROBOTS` | (match-robots robot) | match.robots() | Match.Robots | cy_match_robots | match.robots | Clunkyard.match_robots | clunkyard:match_robots | cy-match-robots | cy_match_robots | Match.Robots | Match.Robots() | cyMatchRobots | match_info.robots() | `match().robots()` | match.robots | match.robots | match().robots() | match:robots | cy_match_robots | Planner.core_query("match.robots", ...) | cy_match_robots | Match.robots robot | cy_match_robots | $robot->match->robots | match->robots() | Match.Robots | match_robots | `self.match.robots` | `bot$match$robots` | match.robots | r#match.robots() | `match`().robots() | match.robots | match.robots() | `cy_match_robots(robot, &out)` | `cy_match_robots(&out)` | — | — |
| `match.is_3d` | property | cy_match_is_3d | CyMatchIs3d args | cy_match_is_3d | cy.MatchIs3d | cy_match_is_3d | match_is_3d | (cy-match-is-3d ...) | match().is3d() | `CY-MATCH-IS-3D` | (match-is-3d robot) | match.is_3d() | Match.Is3d | cy_match_is_3d | match.is3d | Clunkyard.match_is_3d | clunkyard:match_is_3d | cy-match-is-3d | cy_match_is_3d | Match.Is3d | Match.Is3d() | cyMatchIs3d | match_info.is_3d() | `match().is3d()` | match.is3d | match.is_3d | match().is3d() | match:is_3d | cy_match_is_3d | Planner.core_query("match.is_3d", ...) | cy_match_is_3d | Match.is_3d robot | cy_match_is_3d | $robot->match->is_3d | match->is3d() | Match.Is3d | match_is_3d | `self.match.is_3d` | `bot$match$is_3d` | match.is_3d | r#match.is_3d() | `match`().is3d() | match.is3d | match.is_3d() | `cy_match_is_3d(robot, &out)` | `cy_match_is_3d(&out)` | `mode3` | `mode3` |
| `match.tick_rate` | property | cy_match_tick_rate | CyMatchTickRate args | cy_match_tick_rate | cy.MatchTickRate | cy_match_tick_rate | match_tick_rate | (cy-match-tick-rate ...) | match().tickRate() | `CY-MATCH-TICK-RATE` | (match-tick-rate robot) | match.tick_rate() | Match.TickRate | cy_match_tick_rate | match.tickRate | Clunkyard.match_tick_rate | clunkyard:match_tick_rate | cy-match-tick-rate | cy_match_tick_rate | Match.TickRate | Match.TickRate() | cyMatchTickRate | match_info.tick_rate() | `match().tickRate()` | match.tickRate | match.tick_rate | match().tickRate() | match:tick_rate | cy_match_tick_rate | Planner.core_query("match.tick_rate", ...) | cy_match_tick_rate | Match.tick_rate robot | cy_match_tick_rate | $robot->match->tick_rate | match->tickRate() | Match.TickRate | match_tick_rate | `self.match.tick_rate` | `bot$match$tick_rate` | match.tick_rate | r#match.tick_rate() | `match`().tickRate() | match.tickRate | match.tick_rate() | `cy_match_tick_rate(robot, &out)` | `cy_match_tick_rate(&out)` | — | — |
| `match.max_ticks` | property | cy_match_max_ticks | CyMatchMaxTicks args | cy_match_max_ticks | cy.MatchMaxTicks | cy_match_max_ticks | match_max_ticks | (cy-match-max-ticks ...) | match().maxTicks() | `CY-MATCH-MAX-TICKS` | (match-max-ticks robot) | match.max_ticks() | Match.MaxTicks | cy_match_max_ticks | match.maxTicks | Clunkyard.match_max_ticks | clunkyard:match_max_ticks | cy-match-max-ticks | cy_match_max_ticks | Match.MaxTicks | Match.MaxTicks() | cyMatchMaxTicks | match_info.max_ticks() | `match().maxTicks()` | match.maxTicks | match.max_ticks | match().maxTicks() | match:max_ticks | cy_match_max_ticks | Planner.core_query("match.max_ticks", ...) | cy_match_max_ticks | Match.max_ticks robot | cy_match_max_ticks | $robot->match->max_ticks | match->maxTicks() | Match.MaxTicks | match_max_ticks | `self.match.max_ticks` | `bot$match$max_ticks` | match.max_ticks | r#match.max_ticks() | `match`().maxTicks() | match.maxTicks | match.max_ticks() | `cy_match_max_ticks(robot, &out)` | `cy_match_max_ticks(&out)` | — | — |
| `match.robot_id` | call | cy_robot_id | CyMatchRobotId args | cy_robot_id | cy.MatchRobotId | cy_robot_id | match_robot_id | (cy-match-robot-id ...) | match().robotId() | `CALL "CY-ROBOT-ID"` | (match-robot-id robot slot) | match.robot_id() | Match.RobotId | cy_robot_id | match.robotId | Clunkyard.match_robot_id | clunkyard:match_robot_id | cy-match-robot-id | cy_robot_id | Match.RobotId | Match.RobotId() | cyRobotId | match_info.robot_id() | `match().robotId(slot)` | match.robotId | match.robot_id | match().robotId() | match:robot_id | cy_robot_id | Planner.core_query("match.robot_id", ...) | cy_robot_id | Match.robot_id robot | cy_robot_id | $robot->match->robot_id | match->robotId() | Match.RobotId | match_robot_id | `self.match.robot_id(slot)` | `bot$match$robot_id(slot)` | match.robot_id | r#match.robot_id() | `match`().robotId() | match.robotId() | match.robot_id() | `cy_robot_id(robot, slot, &buf, &length)` | `cy_robot_id(slot, &buf, &length)` | — | — |
| `clock.tick` | property | cy_clock_tick | CyClockTick args | cy_clock_tick | cy.ClockTick | cy_clock_tick | clock_tick | (cy-clock-tick ...) | clock().tick() | `CY-CLOCK-TICK` | (clock-tick robot) | clock.tick() | Clock.Tick | cy_clock_tick | clock.tick | Clunkyard.clock_tick | clunkyard:clock_tick | cy-clock-tick | cy_clock_tick | Clock.Tick | Clock.Tick() | cyClockTick | clock.tick() | `clock().tick()` | clock.tick | clock.tick | clock().tick() | clock:tick | cy_clock_tick | Planner.core_query("clock.tick", ...) | cy_clock_tick | Clock.tick robot | cy_clock_tick | $robot->clock->tick | clock->tick() | Clock.Tick | clock_tick | `self.clock.tick` | `bot$clock$tick` | clock.tick | clock.tick() | clock().tick() | clock.tick | clock.tick() | `cy_clock_tick(robot, &out)` | `cy_clock_tick(&out)` | `tick` | `tick` |
| `clock.seconds` | property | cy_clock_seconds | CyClockSeconds args | cy_clock_seconds | cy.ClockSeconds | cy_clock_seconds | clock_seconds | (cy-clock-seconds ...) | clock().seconds() | `CY-CLOCK-SECONDS` | (clock-seconds robot) | clock.seconds() | Clock.Seconds | cy_clock_seconds | clock.seconds | Clunkyard.clock_seconds | clunkyard:clock_seconds | cy-clock-seconds | cy_clock_seconds | Clock.Seconds | Clock.Seconds() | cyClockSeconds | clock.seconds() | `clock().seconds()` | clock.seconds | clock.seconds | clock().seconds() | clock:seconds | cy_clock_seconds | Planner.core_query("clock.seconds", ...) | cy_clock_seconds | Clock.seconds robot | cy_clock_seconds | $robot->clock->seconds | clock->seconds() | Clock.Seconds | clock_seconds | `self.clock.seconds` | `bot$clock$seconds` | clock.seconds | clock.seconds() | clock().seconds() | clock.seconds | clock.seconds() | `cy_clock_seconds(robot, &out)` | `cy_clock_seconds(&out)` | `time` | `time` |
| `clock.remaining_ticks` | property | cy_clock_remaining_ticks | CyClockRemainingTicks args | cy_clock_remaining_ticks | cy.ClockRemainingTicks | cy_clock_remaining_ticks | clock_remaining_ticks | (cy-clock-remaining-ticks ...) | clock().remainingTicks() | `CY-CLOCK-REMAINING-TICKS` | (clock-remaining-ticks robot) | clock.remaining_ticks() | Clock.RemainingTicks | cy_clock_remaining_ticks | clock.remainingTicks | Clunkyard.clock_remaining_ticks | clunkyard:clock_remaining_ticks | cy-clock-remaining-ticks | cy_clock_remaining_ticks | Clock.RemainingTicks | Clock.RemainingTicks() | cyClockRemainingTicks | clock.remaining_ticks() | `clock().remainingTicks()` | clock.remainingTicks | clock.remaining_ticks | clock().remainingTicks() | clock:remaining_ticks | cy_clock_remaining_ticks | Planner.core_query("clock.remaining_ticks", ...) | cy_clock_remaining_ticks | Clock.remaining_ticks robot | cy_clock_remaining_ticks | $robot->clock->remaining_ticks | clock->remainingTicks() | Clock.RemainingTicks | clock_remaining_ticks | `self.clock.remaining_ticks` | `bot$clock$remaining_ticks` | clock.remaining_ticks | clock.remaining_ticks() | clock().remainingTicks() | clock.remainingTicks | clock.remaining_ticks() | `cy_clock_remaining_ticks(robot, &out)` | `cy_clock_remaining_ticks(&out)` | `remaining` | `remaining` |
| `arena.size` | property | cy_arena_size | CyArenaSize args | cy_arena_size | cy.ArenaSize | cy_arena_size | arena_size | (cy-arena-size ...) | arena().size() | `CY-ARENA-SIZE` | (arena-size robot) | arena.size() | Arena.Size | cy_arena_size | arena.size | Clunkyard.arena_size | clunkyard:arena_size | cy-arena-size | cy_arena_size | Arena.Size | Arena.Size() | cyArenaSize | arena.size() | `arena().size()` | arena.size | arena.size | arena().size() | arena:size | cy_arena_size | Planner.core_query("arena.size", ...) | cy_arena_size | Arena.size robot | cy_arena_size | $robot->arena->size | arena->size() | Arena.Size | arena_size | `self.arena.size` | `bot$arena$size` | arena.size | arena.size() | arena().size() | arena.size | arena.size() | `cy_arena_size(robot, &out)` | `cy_arena_size(&out)` | `width` `height` `depth` | `width` `height` `depth` |
| `arena.gravity` | property | cy_arena_gravity | CyArenaGravity args | cy_arena_gravity | cy.ArenaGravity | cy_arena_gravity | arena_gravity | (cy-arena-gravity ...) | arena().gravity() | `CY-ARENA-GRAVITY` | (arena-gravity robot) | arena.gravity() | Arena.Gravity | cy_arena_gravity | arena.gravity | Clunkyard.arena_gravity | clunkyard:arena_gravity | cy-arena-gravity | cy_arena_gravity | Arena.Gravity | Arena.Gravity() | cyArenaGravity | arena.gravity() | `arena().gravity()` | arena.gravity | arena.gravity | arena().gravity() | arena:gravity | cy_arena_gravity | Planner.core_query("arena.gravity", ...) | cy_arena_gravity | Arena.gravity robot | cy_arena_gravity | $robot->arena->gravity | arena->gravity() | Arena.Gravity | arena_gravity | `self.arena.gravity` | `bot$arena$gravity` | arena.gravity | arena.gravity() | arena().gravity() | arena.gravity | arena.gravity() | `cy_arena_gravity(robot, &out)` | `cy_arena_gravity(&out)` | `gravity-x` `gravity-y` `gravity-z` | `gravity-x` `gravity-y` `gravity-z` |
| `arena.terrain_kind` | property | cy_arena_terrain_kind | CyArenaTerrainKind args | cy_arena_terrain_kind | cy.ArenaTerrainKind | cy_arena_terrain_kind | arena_terrain_kind | (cy-arena-terrain-kind ...) | arena().terrainKind() | `CY-ARENA-TERRAIN-KIND` | (arena-terrain-kind robot) | arena.terrain_kind() | Arena.TerrainKind | cy_arena_terrain_kind | arena.terrainKind | Clunkyard.arena_terrain_kind | clunkyard:arena_terrain_kind | cy-arena-terrain-kind | cy_arena_terrain_kind | Arena.TerrainKind | Arena.TerrainKind() | cyArenaTerrainKind | arena.terrain_kind() | `arena().terrainKind()` | arena.terrainKind | arena.terrain_kind | arena().terrainKind() | arena:terrain_kind | cy_arena_terrain_kind | Planner.core_query("arena.terrain_kind", ...) | cy_arena_terrain_kind | Arena.terrain_kind robot | cy_arena_terrain_kind | $robot->arena->terrain_kind | arena->terrainKind() | Arena.TerrainKind | arena_terrain_kind | `self.arena.terrain_kind` | `bot$arena$terrain_kind` | arena.terrain_kind | arena.terrain_kind() | arena().terrainKind() | arena.terrainKind | arena.terrain_kind() | `cy_arena_terrain_kind(robot, &out)` | `cy_arena_terrain_kind(&out)` | `terrain-kind` `hills` | `terrain-kind` `hills` |
| `arena.ground_height` | call | cy_arena_ground_height | CyArenaGroundHeight args | cy_arena_ground_height | cy.ArenaGroundHeight | cy_arena_ground_height | arena_ground_height | (cy-arena-ground-height ...) | arena().groundHeight() | `CALL "CY-ARENA-GROUND-HEIGHT"` | (arena-ground-height robot x y) | arena.ground_height() | Arena.GroundHeight | cy_arena_ground_height | arena.groundHeight | Clunkyard.arena_ground_height | clunkyard:arena_ground_height | cy-arena-ground-height | cy_arena_ground_height | Arena.GroundHeight | Arena.GroundHeight() | cyArenaGroundHeight | arena.ground_height() | `arena().groundHeight(x, y)` | arena.groundHeight | arena.ground_height | arena().groundHeight() | arena:ground_height | cy_arena_ground_height | Planner.core_query("arena.ground_height", ...) | cy_arena_ground_height | Arena.ground_height robot | cy_arena_ground_height | $robot->arena->ground_height | arena->groundHeight() | Arena.GroundHeight | arena_ground_height | `self.arena.ground_height(x, y)` | `bot$arena$ground_height(x, y)` | arena.ground_height | arena.ground_height() | arena().groundHeight() | arena.groundHeight() | arena.ground_height() | `cy_arena_ground_height(robot, x, y, &out)` | `cy_arena_ground_height(x, y, &out)` | — | — |
| `me.health` | property | cy_me_health | CyMeHealth args | cy_me_health | cy.MeHealth | cy_me_health | me_health | (cy-me-health ...) | me().health() | `CY-ME-HEALTH` | (me-health robot) | me.health() | Me.Health | cy_me_health | me.health | Clunkyard.me_health | clunkyard:me_health | cy-me-health | cy_me_health | Me.Health | Me.Health() | cyMeHealth | me.health() | `me().health()` | me.health | me.health | me().health() | me:health | cy_me_health | Planner.core_query("me.health", ...) | cy_me_health | Me.health robot | cy_me_health | $robot->me->health | me->health() | Me.Health | me_health | `self.me.health` | `bot$me$health` | me.health | me.health() | me().health() | me.health | me.health() | `cy_me_health(robot, &out)` | `cy_me_health(&out)` | `health` | `health` |
| `me.position` | property | cy_me_position | CyMePosition args | cy_me_position | cy.MePosition | cy_me_position | me_position | (cy-me-position ...) | me().position() | `CY-ME-POSITION` | (me-position robot) | me.position() | Me.Position | cy_me_position | me.position | Clunkyard.me_position | clunkyard:me_position | cy-me-position | cy_me_position | Me.Position | Me.Position() | cyMePosition | me.position() | `me().position()` | me.position | me.position | me().position() | me:position | cy_me_position | Planner.core_query("me.position", ...) | cy_me_position | Me.position robot | cy_me_position | $robot->me->position | me->position() | Me.Position | me_position | `self.me.position` | `bot$me$position` | me.position | me.position() | me().position() | me.position | me.position() | `cy_me_position(robot, &out)` | `cy_me_position(&out)` | `x` `y` `z` | `x` `y` `z` |
| `me.velocity` | property | cy_me_velocity | CyMeVelocity args | cy_me_velocity | cy.MeVelocity | cy_me_velocity | me_velocity | (cy-me-velocity ...) | me().velocity() | `CY-ME-VELOCITY` | (me-velocity robot) | me.velocity() | Me.Velocity | cy_me_velocity | me.velocity | Clunkyard.me_velocity | clunkyard:me_velocity | cy-me-velocity | cy_me_velocity | Me.Velocity | Me.Velocity() | cyMeVelocity | me.velocity() | `me().velocity()` | me.velocity | me.velocity | me().velocity() | me:velocity | cy_me_velocity | Planner.core_query("me.velocity", ...) | cy_me_velocity | Me.velocity robot | cy_me_velocity | $robot->me->velocity | me->velocity() | Me.Velocity | me_velocity | `self.me.velocity` | `bot$me$velocity` | me.velocity | me.velocity() | me().velocity() | me.velocity | me.velocity() | `cy_me_velocity(robot, &out)` | `cy_me_velocity(&out)` | `vx` `vy` `vz` | `vx` `vy` `vz` |
| `me.heading` | property | cy_me_heading | CyMeHeading args | cy_me_heading | cy.MeHeading | cy_me_heading | me_heading | (cy-me-heading ...) | me().heading() | `CY-ME-HEADING` | (me-heading robot) | me.heading() | Me.Heading | cy_me_heading | me.heading | Clunkyard.me_heading | clunkyard:me_heading | cy-me-heading | cy_me_heading | Me.Heading | Me.Heading() | cyMeHeading | me.heading() | `me().heading()` | me.heading | me.heading | me().heading() | me:heading | cy_me_heading | Planner.core_query("me.heading", ...) | cy_me_heading | Me.heading robot | cy_me_heading | $robot->me->heading | me->heading() | Me.Heading | me_heading | `self.me.heading` | `bot$me$heading` | me.heading | me.heading() | me().heading() | me.heading | me.heading() | `cy_me_heading(robot, &out)` | `cy_me_heading(&out)` | `heading` | `heading` |
| `me.pitch` | property | cy_me_pitch | CyMePitch args | cy_me_pitch | cy.MePitch | cy_me_pitch | me_pitch | (cy-me-pitch ...) | me().pitch() | `CY-ME-PITCH` | (me-pitch robot) | me.pitch() | Me.Pitch | cy_me_pitch | me.pitch | Clunkyard.me_pitch | clunkyard:me_pitch | cy-me-pitch | cy_me_pitch | Me.Pitch | Me.Pitch() | cyMePitch | me.pitch() | `me().pitch()` | me.pitch | me.pitch | me().pitch() | me:pitch | cy_me_pitch | Planner.core_query("me.pitch", ...) | cy_me_pitch | Me.pitch robot | cy_me_pitch | $robot->me->pitch | me->pitch() | Me.Pitch | me_pitch | `self.me.pitch` | `bot$me$pitch` | me.pitch | me.pitch() | me().pitch() | me.pitch | me.pitch() | `cy_me_pitch(robot, &out)` | `cy_me_pitch(&out)` | `pitch` | `pitch` |
| `me.roll` | property | cy_me_roll | CyMeRoll args | cy_me_roll | cy.MeRoll | cy_me_roll | me_roll | (cy-me-roll ...) | me().roll() | `CY-ME-ROLL` | (me-roll robot) | me.roll() | Me.Roll | cy_me_roll | me.roll | Clunkyard.me_roll | clunkyard:me_roll | cy-me-roll | cy_me_roll | Me.Roll | Me.Roll() | cyMeRoll | me.roll() | `me().roll()` | me.roll | me.roll | me().roll() | me:roll | cy_me_roll | Planner.core_query("me.roll", ...) | cy_me_roll | Me.roll robot | cy_me_roll | $robot->me->roll | me->roll() | Me.Roll | me_roll | `self.me.roll` | `bot$me$roll` | me.roll | me.roll() | me().roll() | me.roll | me.roll() | `cy_me_roll(robot, &out)` | `cy_me_roll(&out)` | — | — |
| `me.angular_velocity` | property | cy_me_angular_velocity | CyMeAngularVelocity args | cy_me_angular_velocity | cy.MeAngularVelocity | cy_me_angular_velocity | me_angular_velocity | (cy-me-angular-velocity ...) | me().angularVelocity() | `CY-ME-ANGULAR-VELOCITY` | (me-angular-velocity robot) | me.angular_velocity() | Me.AngularVelocity | cy_me_angular_velocity | me.angularVelocity | Clunkyard.me_angular_velocity | clunkyard:me_angular_velocity | cy-me-angular-velocity | cy_me_angular_velocity | Me.AngularVelocity | Me.AngularVelocity() | cyMeAngularVelocity | me.angular_velocity() | `me().angularVelocity()` | me.angularVelocity | me.angular_velocity | me().angularVelocity() | me:angular_velocity | cy_me_angular_velocity | Planner.core_query("me.angular_velocity", ...) | cy_me_angular_velocity | Me.angular_velocity robot | cy_me_angular_velocity | $robot->me->angular_velocity | me->angularVelocity() | Me.AngularVelocity | me_angular_velocity | `self.me.angular_velocity` | `bot$me$angular_velocity` | me.angular_velocity | me.angular_velocity() | me().angularVelocity() | me.angularVelocity | me.angular_velocity() | `cy_me_angular_velocity(robot, &out)` | `cy_me_angular_velocity(&out)` | `yaw-rate` `pitch-rate` `roll-rate` | `yaw-rate` `pitch-rate` `roll-rate` |
| `me.attitude` | property | cy_me_attitude | CyMeAttitude args | cy_me_attitude | cy.MeAttitude | cy_me_attitude | me_attitude | (cy-me-attitude ...) | me().attitude() | `CY-ME-ATTITUDE` | (me-attitude robot) | me.attitude() | Me.Attitude | cy_me_attitude | me.attitude | Clunkyard.me_attitude | clunkyard:me_attitude | cy-me-attitude | cy_me_attitude | Me.Attitude | Me.Attitude() | cyMeAttitude | me.attitude() | `me().attitude()` | me.attitude | me.attitude | me().attitude() | me:attitude | cy_me_attitude | Planner.core_query("me.attitude", ...) | cy_me_attitude | Me.attitude robot | cy_me_attitude | $robot->me->attitude | me->attitude() | Me.Attitude | me_attitude | `self.me.attitude` | `bot$me$attitude` | me.attitude | me.attitude() | me().attitude() | me.attitude | me.attitude() | `cy_me_attitude(robot, &out)` | `cy_me_attitude(&out)` | `forward-x` `forward-y` `forward-z` `right-x` `right-y` `right-z` `up-x` `up-y` `up-z` | `forward-x` `forward-y` `forward-z` `right-x` `right-y` `right-z` `up-x` `up-y` `up-z` |
| `me.grounded` | property | cy_me_grounded | CyMeGrounded args | cy_me_grounded | cy.MeGrounded | cy_me_grounded | me_grounded | (cy-me-grounded ...) | me().grounded() | `CY-ME-GROUNDED` | (me-grounded robot) | me.grounded() | Me.Grounded | cy_me_grounded | me.grounded | Clunkyard.me_grounded | clunkyard:me_grounded | cy-me-grounded | cy_me_grounded | Me.Grounded | Me.Grounded() | cyMeGrounded | me.grounded() | `me().grounded()` | me.grounded | me.grounded | me().grounded() | me:grounded | cy_me_grounded | Planner.core_query("me.grounded", ...) | cy_me_grounded | Me.grounded robot | cy_me_grounded | $robot->me->grounded | me->grounded() | Me.Grounded | me_grounded | `self.me.grounded` | `bot$me$grounded` | me.grounded | me.grounded() | me().grounded() | me.grounded | me.grounded() | `cy_me_grounded(robot, &out)` | `cy_me_grounded(&out)` | `grounded` | `grounded` |
| `me.altitude` | property | cy_me_altitude | CyMeAltitude args | cy_me_altitude | cy.MeAltitude | cy_me_altitude | me_altitude | (cy-me-altitude ...) | me().altitude() | `CY-ME-ALTITUDE` | (me-altitude robot) | me.altitude() | Me.Altitude | cy_me_altitude | me.altitude | Clunkyard.me_altitude | clunkyard:me_altitude | cy-me-altitude | cy_me_altitude | Me.Altitude | Me.Altitude() | cyMeAltitude | me.altitude() | `me().altitude()` | me.altitude | me.altitude | me().altitude() | me:altitude | cy_me_altitude | Planner.core_query("me.altitude", ...) | cy_me_altitude | Me.altitude robot | cy_me_altitude | $robot->me->altitude | me->altitude() | Me.Altitude | me_altitude | `self.me.altitude` | `bot$me$altitude` | me.altitude | me.altitude() | me().altitude() | me.altitude | me.altitude() | `cy_me_altitude(robot, &out)` | `cy_me_altitude(&out)` | `altitude` | `altitude` |
| `me.applied` | property | cy_me_applied | CyMeApplied args | cy_me_applied | cy.MeApplied | cy_me_applied | me_applied | (cy-me-applied ...) | me().applied() | `CY-ME-APPLIED` | (me-applied robot) | me.applied() | Me.Applied | cy_me_applied | me.applied | Clunkyard.me_applied | clunkyard:me_applied | cy-me-applied | cy_me_applied | Me.Applied | Me.Applied() | cyMeApplied | me.applied() | `me().applied()` | me.applied | me.applied | me().applied() | me:applied | cy_me_applied | Planner.core_query("me.applied", ...) | cy_me_applied | Me.applied robot | cy_me_applied | $robot->me->applied | me->applied() | Me.Applied | me_applied | `self.me.applied` | `bot$me$applied` | me.applied | me.applied() | me().applied() | me.applied | me.applied() | `cy_me_applied(robot, &out)` | `cy_me_applied(&out)` | — | — |
| `battery.charge` | property | cy_battery_charge | CyBatteryCharge args | cy_battery_charge | cy.BatteryCharge | cy_battery_charge | battery_charge | (cy-battery-charge ...) | battery().charge() | `CY-BATTERY-CHARGE` | (battery-charge robot) | battery.charge() | Battery.Charge | cy_battery_charge | battery.charge | Clunkyard.battery_charge | clunkyard:battery_charge | cy-battery-charge | cy_battery_charge | Battery.Charge | Battery.Charge() | cyBatteryCharge | battery.charge() | `battery().charge()` | battery.charge | battery.charge | battery().charge() | battery:charge | cy_battery_charge | Planner.core_query("battery.charge", ...) | cy_battery_charge | Battery.charge robot | cy_battery_charge | $robot->battery->charge | battery->charge() | Battery.Charge | battery_charge | `self.battery.charge` | `bot$battery$charge` | battery.charge | battery.charge() | battery().charge() | battery.charge | battery.charge() | `cy_battery_charge(robot, &out)` | `cy_battery_charge(&out)` | `battery` | `battery` |
| `battery.capacity` | property | cy_battery_capacity | CyBatteryCapacity args | cy_battery_capacity | cy.BatteryCapacity | cy_battery_capacity | battery_capacity | (cy-battery-capacity ...) | battery().capacity() | `CY-BATTERY-CAPACITY` | (battery-capacity robot) | battery.capacity() | Battery.Capacity | cy_battery_capacity | battery.capacity | Clunkyard.battery_capacity | clunkyard:battery_capacity | cy-battery-capacity | cy_battery_capacity | Battery.Capacity | Battery.Capacity() | cyBatteryCapacity | battery.capacity() | `battery().capacity()` | battery.capacity | battery.capacity | battery().capacity() | battery:capacity | cy_battery_capacity | Planner.core_query("battery.capacity", ...) | cy_battery_capacity | Battery.capacity robot | cy_battery_capacity | $robot->battery->capacity | battery->capacity() | Battery.Capacity | battery_capacity | `self.battery.capacity` | `bot$battery$capacity` | battery.capacity | battery.capacity() | battery().capacity() | battery.capacity | battery.capacity() | `cy_battery_capacity(robot, &out)` | `cy_battery_capacity(&out)` | `battery-capacity` | `battery-capacity` |
| `battery.regen` | property | cy_battery_regen | CyBatteryRegen args | cy_battery_regen | cy.BatteryRegen | cy_battery_regen | battery_regen | (cy-battery-regen ...) | battery().regen() | `CY-BATTERY-REGEN` | (battery-regen robot) | battery.regen() | Battery.Regen | cy_battery_regen | battery.regen | Clunkyard.battery_regen | clunkyard:battery_regen | cy-battery-regen | cy_battery_regen | Battery.Regen | Battery.Regen() | cyBatteryRegen | battery.regen() | `battery().regen()` | battery.regen | battery.regen | battery().regen() | battery:regen | cy_battery_regen | Planner.core_query("battery.regen", ...) | cy_battery_regen | Battery.regen robot | cy_battery_regen | $robot->battery->regen | battery->regen() | Battery.Regen | battery_regen | `self.battery.regen` | `bot$battery$regen` | battery.regen | battery.regen() | battery().regen() | battery.regen | battery.regen() | `cy_battery_regen(robot, &out)` | `cy_battery_regen(&out)` | — | — |
| `battery.sustainable_drive` | property | cy_battery_sustainable_drive | CyBatterySustainableDrive args | cy_battery_sustainable_drive | cy.BatterySustainableDrive | cy_battery_sustainable_drive | battery_sustainable_drive | (cy-battery-sustainable-drive ...) | battery().sustainableDrive() | `CY-BATTERY-SUSTAINABLE-DRIVE` | (battery-sustainable-drive robot) | battery.sustainable_drive() | Battery.SustainableDrive | cy_battery_sustainable_drive | battery.sustainableDrive | Clunkyard.battery_sustainable_drive | clunkyard:battery_sustainable_drive | cy-battery-sustainable-drive | cy_battery_sustainable_drive | Battery.SustainableDrive | Battery.SustainableDrive() | cyBatterySustainableDrive | battery.sustainable_drive() | `battery().sustainableDrive()` | battery.sustainableDrive | battery.sustainable_drive | battery().sustainableDrive() | battery:sustainable_drive | cy_battery_sustainable_drive | Planner.core_query("battery.sustainable_drive", ...) | cy_battery_sustainable_drive | Battery.sustainable_drive robot | cy_battery_sustainable_drive | $robot->battery->sustainable_drive | battery->sustainableDrive() | Battery.SustainableDrive | battery_sustainable_drive | `self.battery.sustainable_drive` | `bot$battery$sustainable_drive` | battery.sustainable_drive | battery.sustainable_drive() | battery().sustainableDrive() | battery.sustainableDrive | battery.sustainable_drive() | `cy_battery_sustainable_drive(robot, &out)` | `cy_battery_sustainable_drive(&out)` | — | — |
| `battery.compute` | property | cy_battery_compute | CyBatteryCompute args | cy_battery_compute | cy.BatteryCompute | cy_battery_compute | battery_compute | (cy-battery-compute ...) | battery().compute() | `CY-BATTERY-COMPUTE` | (battery-compute robot) | battery.compute() | Battery.Compute | cy_battery_compute | battery.compute | Clunkyard.battery_compute | clunkyard:battery_compute | cy-battery-compute | cy_battery_compute | Battery.Compute | Battery.Compute() | cyBatteryCompute | battery.compute() | `battery().compute()` | battery.compute | battery.compute | battery().compute() | battery:compute | cy_battery_compute | Planner.core_query("battery.compute", ...) | cy_battery_compute | Battery.compute robot | cy_battery_compute | $robot->battery->compute | battery->compute() | Battery.Compute | battery_compute | `self.battery.compute` | `bot$battery$compute` | battery.compute | battery.compute() | battery().compute() | battery.compute | battery.compute() | `cy_battery_compute(robot, &out)` | `cy_battery_compute(&out)` | — | — |
| `battery.drive_cost` | call | cy_battery_drive_cost | CyBatteryDriveCost args | cy_battery_drive_cost | cy.BatteryDriveCost | cy_battery_drive_cost | battery_drive_cost | (cy-battery-drive-cost ...) | battery().driveCost() | `CALL "CY-BATTERY-DRIVE-COST"` | (battery-drive-cost robot fraction) | battery.drive_cost() | Battery.DriveCost | cy_battery_drive_cost | battery.driveCost | Clunkyard.battery_drive_cost | clunkyard:battery_drive_cost | cy-battery-drive-cost | cy_battery_drive_cost | Battery.DriveCost | Battery.DriveCost() | cyBatteryDriveCost | battery.drive_cost() | `battery().driveCost(fraction)` | battery.driveCost | battery.drive_cost | battery().driveCost() | battery:drive_cost | cy_battery_drive_cost | Planner.core_query("battery.drive_cost", ...) | cy_battery_drive_cost | Battery.drive_cost robot | cy_battery_drive_cost | $robot->battery->drive_cost | battery->driveCost() | Battery.DriveCost | battery_drive_cost | `self.battery.drive_cost(fraction)` | `bot$battery$drive_cost(fraction)` | battery.drive_cost | battery.drive_cost() | battery().driveCost() | battery.driveCost() | battery.drive_cost() | `cy_battery_drive_cost(robot, fraction, &out)` | `cy_battery_drive_cost(fraction, &out)` | — | — |
| `drive.hover_lift` | property | cy_drive_hover_lift | CyDriveHoverLift args | cy_drive_hover_lift | cy.DriveHoverLift | cy_drive_hover_lift | drive_hover_lift | (cy-drive-hover-lift ...) | drive().hoverLift() | `CY-DRIVE-HOVER-LIFT` | (drive-hover-lift robot) | drive.hover_lift() | Drive.HoverLift | cy_drive_hover_lift | drive.hoverLift | Clunkyard.drive_hover_lift | clunkyard:drive_hover_lift | cy-drive-hover-lift | cy_drive_hover_lift | Drive.HoverLift | Drive.HoverLift() | cyDriveHoverLift | drive.hover_lift() | `drive().hoverLift()` | drive.hoverLift | drive.hover_lift | drive().hoverLift() | drive:hover_lift | cy_drive_hover_lift | Planner.core_query("drive.hover_lift", ...) | cy_drive_hover_lift | Drive.hover_lift robot | cy_drive_hover_lift | $robot->drive->hover_lift | drive->hoverLift() | Drive.HoverLift | drive_hover_lift | `self.drive.hover_lift` | `bot$drive$hover_lift` | drive.hover_lift | drive.hover_lift() | drive().hoverLift() | drive.hoverLift | drive.hover_lift() | `cy_drive_hover_lift(robot, &out)` | `cy_drive_hover_lift(&out)` | — | — |
| `drive.set` | control | cy_drive_throttle, cy_drive_turn, cy_drive_pitch_turn | CyDriveSet args | cy_drive_throttle, cy_drive_turn, cy_drive_pitch_turn | cy.DriveSet | cy_drive_throttle, cy_drive_turn, cy_drive_pitch_turn | drive_set | (cy-drive-set ...) | drive().set() | `CALL "CY-DRIVE-THROTTLE"`, `CALL "CY-DRIVE-TURN"`, … | (drive-set robot) | drive.set() | Drive.Set | cy_drive_throttle, cy_drive_turn, cy_drive_pitch_turn | drive.set | Clunkyard.drive_set | clunkyard:drive_set | cy-drive-set-throttle | cy_drive_throttle, cy_drive_turn, cy_drive_pitch_turn | Drive.Set | Drive.Set() | cyDriveThrottle, cyDriveTurn, cyDrivePitchTurn | drive.set() | `drive().set(throttle, turn, pitchTurn)`, `drive().set(Drive.pitchTurn(x))` | drive.set | drive.set | drive().set() | drive:set | cy_drive_throttle, cy_drive_turn, cy_drive_pitch_turn | Planner.core_query("drive.set", ...) | cy_drive_throttle, cy_drive_turn, cy_drive_pitch_turn | Drive.set robot | cy_drive_throttle, cy_drive_turn, cy_drive_pitch_turn | $robot->drive->set | drive->set() | Drive.Set | drive_set | `self.drive.set(throttle=None, turn=None, pitch_turn=None)` | `bot$drive$set(throttle = NULL, turn = NULL, pitch_turn = NULL)` | drive.set | drive.set() | drive().set() | drive.set() | drive.set() | `cy_drive_throttle(robot, value)`, `cy_drive_turn(robot, value)`, `cy_drive_pitch_turn(robot, value)` | `cy_drive_throttle(value)`, `cy_drive_turn(value)`, `cy_drive_pitch_turn(value)` | `drive`, `turn`, `pitch` | `drive!`, `turn!`, `pitch-turn!` |
| `drive.forces` | control | cy_drive_thrust, cy_drive_strafe, cy_drive_lift, cy_drive_yaw_torque, cy_drive_pitch_torque, cy_drive_roll_torque, cy_drive_brake | CyDriveForces args | cy_drive_thrust, cy_drive_strafe, cy_drive_lift, cy_drive_yaw_torque, cy_drive_pitch_torque, cy_drive_roll_torque, cy_drive_brake | cy.DriveForces | cy_drive_thrust, cy_drive_strafe, cy_drive_lift, cy_drive_yaw_torque, cy_drive_pitch_torque, cy_drive_roll_torque, cy_drive_brake | drive_forces | (cy-drive-forces ...) | drive().forces() | `CALL "CY-DRIVE-THRUST"`, `CALL "CY-DRIVE-STRAFE"`, … | (drive-forces robot) | drive.forces() | Drive.Forces | cy_drive_thrust, cy_drive_strafe, cy_drive_lift, cy_drive_yaw_torque, cy_drive_pitch_torque, cy_drive_roll_torque, cy_drive_brake | drive.forces | Clunkyard.drive_forces | clunkyard:drive_forces | cy-drive-forces-thrust | cy_drive_thrust, cy_drive_strafe, cy_drive_lift, cy_drive_yaw_torque, cy_drive_pitch_torque, cy_drive_roll_torque, cy_drive_brake | Drive.Forces | Drive.Forces() | cyDriveThrust, cyDriveStrafe, cyDriveLift, cyDriveYawTorque, cyDrivePitchTorque, cyDriveRollTorque, cyDriveBrake | drive.forces() | `drive().forces(thrust, strafe, lift, yawTorque, pitchTorque, rollTorque, brake)`, `drive().forces(Drive.brake(x))` | drive.forces | drive.forces | drive().forces() | drive:forces | cy_drive_thrust, cy_drive_strafe, cy_drive_lift, cy_drive_yaw_torque, cy_drive_pitch_torque, cy_drive_roll_torque, cy_drive_brake | Planner.core_query("drive.forces", ...) | cy_drive_thrust, cy_drive_strafe, cy_drive_lift, cy_drive_yaw_torque, cy_drive_pitch_torque, cy_drive_roll_torque, cy_drive_brake | Drive.forces robot | cy_drive_thrust, cy_drive_strafe, cy_drive_lift, cy_drive_yaw_torque, cy_drive_pitch_torque, cy_drive_roll_torque, cy_drive_brake | $robot->drive->forces | drive->forces() | Drive.Forces | drive_forces | `self.drive.forces(thrust=None, strafe=None, lift=None, yaw_torque=None, pitch_torque=None, roll_torque=None, brake=None)` | `bot$drive$forces(thrust = NULL, strafe = NULL, lift = NULL, yaw_torque = NULL, pitch_torque = NULL, roll_torque = NULL, brake = NULL)` | drive.forces | drive.forces() | drive().forces() | drive.forces() | drive.forces() | `cy_drive_thrust(robot, value)`, `cy_drive_strafe(robot, value)`, `cy_drive_lift(robot, value)`, `cy_drive_yaw_torque(robot, value)`, `cy_drive_pitch_torque(robot, value)`, `cy_drive_roll_torque(robot, value)`, `cy_drive_brake(robot, value)` | `cy_drive_thrust(value)`, `cy_drive_strafe(value)`, `cy_drive_lift(value)`, `cy_drive_yaw_torque(value)`, `cy_drive_pitch_torque(value)`, `cy_drive_roll_torque(value)`, `cy_drive_brake(value)` | `thrust`, `strafe`, `lift`, `yaw-torque`, `pitch-torque`, `roll-torque`, `brake` | `thrust!`, `strafe!`, `lift!`, `yaw-torque!`, `pitch-torque!`, `roll-torque!`, `brake!` |
| `drive.get` | call | cy_drive_get_throttle, cy_drive_get_turn, cy_drive_get_pitch_turn, cy_drive_get_thrust, cy_drive_get_strafe, cy_drive_get_lift, cy_drive_get_yaw_torque, cy_drive_get_pitch_torque, cy_drive_get_roll_torque, cy_drive_get_brake | CyDriveGet args | cy_drive_get_throttle, cy_drive_get_turn, cy_drive_get_pitch_turn, cy_drive_get_thrust, cy_drive_get_strafe, cy_drive_get_lift, cy_drive_get_yaw_torque, cy_drive_get_pitch_torque, cy_drive_get_roll_torque, cy_drive_get_brake | cy.DriveGet | cy_drive_get_throttle, cy_drive_get_turn, cy_drive_get_pitch_turn, cy_drive_get_thrust, cy_drive_get_strafe, cy_drive_get_lift, cy_drive_get_yaw_torque, cy_drive_get_pitch_torque, cy_drive_get_roll_torque, cy_drive_get_brake | drive_get | (cy-drive-get ...) | drive().get() | `CALL "CY-DRIVE-GET-THROTTLE"`, `CALL "CY-DRIVE-GET-TURN"`, … | (drive-get robot) | drive.get_<field>() | Drive.Get | cy_drive_get_throttle, cy_drive_get_turn, cy_drive_get_pitch_turn, cy_drive_get_thrust, cy_drive_get_strafe, cy_drive_get_lift, cy_drive_get_yaw_torque, cy_drive_get_pitch_torque, cy_drive_get_roll_torque, cy_drive_get_brake | drive.get | Clunkyard.drive_get | clunkyard:drive_get | cy-drive-get | cy_drive_get_throttle, cy_drive_get_turn, cy_drive_get_pitch_turn, cy_drive_get_thrust, cy_drive_get_strafe, cy_drive_get_lift, cy_drive_get_yaw_torque, cy_drive_get_pitch_torque, cy_drive_get_roll_torque, cy_drive_get_brake | Drive.Get | Drive.Get<Field>() | cyDriveGetThrottle, cyDriveGetTurn, cyDriveGetPitchTurn, cyDriveGetThrust, cyDriveGetStrafe, cyDriveGetLift, cyDriveGetYawTorque, cyDriveGetPitchTorque, cyDriveGetRollTorque, cyDriveGetBrake | drive.get_<field>() | `drive().get("throttle")` | drive.get | drive.get | drive().get() | drive:get | cy_drive_get_throttle, cy_drive_get_turn, cy_drive_get_pitch_turn, cy_drive_get_thrust, cy_drive_get_strafe, cy_drive_get_lift, cy_drive_get_yaw_torque, cy_drive_get_pitch_torque, cy_drive_get_roll_torque, cy_drive_get_brake | Planner.core_query("drive.get", ...) | cy_drive_get_throttle, cy_drive_get_turn, cy_drive_get_pitch_turn, cy_drive_get_thrust, cy_drive_get_strafe, cy_drive_get_lift, cy_drive_get_yaw_torque, cy_drive_get_pitch_torque, cy_drive_get_roll_torque, cy_drive_get_brake | Drive.get robot | cy_drive_get_throttle, cy_drive_get_turn, cy_drive_get_pitch_turn, cy_drive_get_thrust, cy_drive_get_strafe, cy_drive_get_lift, cy_drive_get_yaw_torque, cy_drive_get_pitch_torque, cy_drive_get_roll_torque, cy_drive_get_brake | $robot->drive->get | drive->get() | Drive.Get | drive_get | `self.drive.get("throttle")` | `bot$drive$get("throttle")` | drive.get | drive.get_<field>() | drive().get() | drive.get() | drive.get() | `cy_drive_get_throttle(robot, &out)`, `cy_drive_get_turn(robot, &out)`, `cy_drive_get_pitch_turn(robot, &out)`, `cy_drive_get_thrust(robot, &out)`, `cy_drive_get_strafe(robot, &out)`, `cy_drive_get_lift(robot, &out)`, `cy_drive_get_yaw_torque(robot, &out)`, `cy_drive_get_pitch_torque(robot, &out)`, `cy_drive_get_roll_torque(robot, &out)`, `cy_drive_get_brake(robot, &out)` | `cy_drive_get_throttle(&out)`, `cy_drive_get_turn(&out)`, `cy_drive_get_pitch_turn(&out)`, `cy_drive_get_thrust(&out)`, `cy_drive_get_strafe(&out)`, `cy_drive_get_lift(&out)`, `cy_drive_get_yaw_torque(&out)`, `cy_drive_get_pitch_torque(&out)`, `cy_drive_get_roll_torque(&out)`, `cy_drive_get_brake(&out)` | — | — |
| `gun.aim_now` | property | cy_gun_aim_now | CyGunAimNow args | cy_gun_aim_now | cy.GunAimNow | cy_gun_aim_now | gun_aim_now | (cy-gun-aim-now ...) | gun().aimNow() | `CY-GUN-AIM-NOW` | (gun-aim-now robot) | gun.aim_now() | Gun.AimNow | cy_gun_aim_now | gun.aimNow | Clunkyard.gun_aim_now | clunkyard:gun_aim_now | cy-gun-aim-now | cy_gun_aim_now | Gun.AimNow | Gun.AimNow() | cyGunAimNow | gun.aim_now() | `gun().aimNow()` | gun.aimNow | gun.aim_now | gun().aimNow() | gun:aim_now | cy_gun_aim_now | Planner.core_query("gun.aim_now", ...) | cy_gun_aim_now | Gun.aim_now robot | cy_gun_aim_now | $robot->gun->aim_now | gun->aimNow() | Gun.AimNow | gun_aim_now | `self.gun.aim_now` | `bot$gun$aim_now` | gun.aim_now | gun.aim_now() | gun().aimNow() | gun.aimNow | gun.aim_now() | `cy_gun_aim_now(robot, &out)` | `cy_gun_aim_now(&out)` | `aim` `aim-pitch` | `aim` `aim-pitch` |
| `gun.cooldown_ticks` | property | cy_gun_cooldown_ticks | CyGunCooldownTicks args | cy_gun_cooldown_ticks | cy.GunCooldownTicks | cy_gun_cooldown_ticks | gun_cooldown_ticks | (cy-gun-cooldown-ticks ...) | gun().cooldownTicks() | `CY-GUN-COOLDOWN-TICKS` | (gun-cooldown-ticks robot) | gun.cooldown_ticks() | Gun.CooldownTicks | cy_gun_cooldown_ticks | gun.cooldownTicks | Clunkyard.gun_cooldown_ticks | clunkyard:gun_cooldown_ticks | cy-gun-cooldown-ticks | cy_gun_cooldown_ticks | Gun.CooldownTicks | Gun.CooldownTicks() | cyGunCooldownTicks | gun.cooldown_ticks() | `gun().cooldownTicks()` | gun.cooldownTicks | gun.cooldown_ticks | gun().cooldownTicks() | gun:cooldown_ticks | cy_gun_cooldown_ticks | Planner.core_query("gun.cooldown_ticks", ...) | cy_gun_cooldown_ticks | Gun.cooldown_ticks robot | cy_gun_cooldown_ticks | $robot->gun->cooldown_ticks | gun->cooldownTicks() | Gun.CooldownTicks | gun_cooldown_ticks | `self.gun.cooldown_ticks` | `bot$gun$cooldown_ticks` | gun.cooldown_ticks | gun.cooldown_ticks() | gun().cooldownTicks() | gun.cooldownTicks | gun.cooldown_ticks() | `cy_gun_cooldown_ticks(robot, &out)` | `cy_gun_cooldown_ticks(&out)` | `cooldown` | `cooldown` |
| `gun.spread` | property | cy_gun_spread | CyGunSpread args | cy_gun_spread | cy.GunSpread | cy_gun_spread | gun_spread | (cy-gun-spread ...) | gun().spread() | `CY-GUN-SPREAD` | (gun-spread robot) | gun.spread() | Gun.Spread | cy_gun_spread | gun.spread | Clunkyard.gun_spread | clunkyard:gun_spread | cy-gun-spread | cy_gun_spread | Gun.Spread | Gun.Spread() | cyGunSpread | gun.spread() | `gun().spread()` | gun.spread | gun.spread | gun().spread() | gun:spread | cy_gun_spread | Planner.core_query("gun.spread", ...) | cy_gun_spread | Gun.spread robot | cy_gun_spread | $robot->gun->spread | gun->spread() | Gun.Spread | gun_spread | `self.gun.spread` | `bot$gun$spread` | gun.spread | gun.spread() | gun().spread() | gun.spread | gun.spread() | `cy_gun_spread(robot, &out)` | `cy_gun_spread(&out)` | — | — |
| `gun.max_power` | property | cy_gun_max_power | CyGunMaxPower args | cy_gun_max_power | cy.GunMaxPower | cy_gun_max_power | gun_max_power | (cy-gun-max-power ...) | gun().maxPower() | `CY-GUN-MAX-POWER` | (gun-max-power robot) | gun.max_power() | Gun.MaxPower | cy_gun_max_power | gun.maxPower | Clunkyard.gun_max_power | clunkyard:gun_max_power | cy-gun-max-power | cy_gun_max_power | Gun.MaxPower | Gun.MaxPower() | cyGunMaxPower | gun.max_power() | `gun().maxPower()` | gun.maxPower | gun.max_power | gun().maxPower() | gun:max_power | cy_gun_max_power | Planner.core_query("gun.max_power", ...) | cy_gun_max_power | Gun.max_power robot | cy_gun_max_power | $robot->gun->max_power | gun->maxPower() | Gun.MaxPower | gun_max_power | `self.gun.max_power` | `bot$gun$max_power` | gun.max_power | gun.max_power() | gun().maxPower() | gun.maxPower | gun.max_power() | `cy_gun_max_power(robot, &out)` | `cy_gun_max_power(&out)` | — | — |
| `gun.damage_scale` | property | cy_gun_damage_scale | CyGunDamageScale args | cy_gun_damage_scale | cy.GunDamageScale | cy_gun_damage_scale | gun_damage_scale | (cy-gun-damage-scale ...) | gun().damageScale() | `CY-GUN-DAMAGE-SCALE` | (gun-damage-scale robot) | gun.damage_scale() | Gun.DamageScale | cy_gun_damage_scale | gun.damageScale | Clunkyard.gun_damage_scale | clunkyard:gun_damage_scale | cy-gun-damage-scale | cy_gun_damage_scale | Gun.DamageScale | Gun.DamageScale() | cyGunDamageScale | gun.damage_scale() | `gun().damageScale()` | gun.damageScale | gun.damage_scale | gun().damageScale() | gun:damage_scale | cy_gun_damage_scale | Planner.core_query("gun.damage_scale", ...) | cy_gun_damage_scale | Gun.damage_scale robot | cy_gun_damage_scale | $robot->gun->damage_scale | gun->damageScale() | Gun.DamageScale | gun_damage_scale | `self.gun.damage_scale` | `bot$gun$damage_scale` | gun.damage_scale | gun.damage_scale() | gun().damageScale() | gun.damageScale | gun.damage_scale() | `cy_gun_damage_scale(robot, &out)` | `cy_gun_damage_scale(&out)` | — | — |
| `gun.can_fire` | call | cy_gun_can_fire | CyGunCanFire args | cy_gun_can_fire | cy.GunCanFire | cy_gun_can_fire | gun_can_fire | (cy-gun-can-fire ...) | gun().canFire() | `CALL "CY-GUN-CAN-FIRE"` | (gun-can-fire robot power reserve) | gun.can_fire() | Gun.CanFire | cy_gun_can_fire | gun.canFire | Clunkyard.gun_can_fire | clunkyard:gun_can_fire | cy-gun-can-fire | cy_gun_can_fire | Gun.CanFire | Gun.CanFire() | cyGunCanFire | gun.can_fire() | `gun().canFire(power, reserve)` | gun.canFire | gun.can_fire | gun().canFire() | gun:can_fire | cy_gun_can_fire | Planner.core_query("gun.can_fire", ...) | cy_gun_can_fire | Gun.can_fire robot | cy_gun_can_fire | $robot->gun->can_fire | gun->canFire() | Gun.CanFire | gun_can_fire | `self.gun.can_fire(power, reserve)` | `bot$gun$can_fire(power, reserve)` | gun.can_fire | gun.can_fire() | gun().canFire() | gun.canFire() | gun.can_fire() | `cy_gun_can_fire(robot, power, reserve, &out)` | `cy_gun_can_fire(power, reserve, &out)` | — | — |
| `gun.shot_speed` | call | cy_gun_shot_speed | CyGunShotSpeed args | cy_gun_shot_speed | cy.GunShotSpeed | cy_gun_shot_speed | gun_shot_speed | (cy-gun-shot-speed ...) | gun().shotSpeed() | `CALL "CY-GUN-SHOT-SPEED"` | (gun-shot-speed robot power) | gun.shot_speed() | Gun.ShotSpeed | cy_gun_shot_speed | gun.shotSpeed | Clunkyard.gun_shot_speed | clunkyard:gun_shot_speed | cy-gun-shot-speed | cy_gun_shot_speed | Gun.ShotSpeed | Gun.ShotSpeed() | cyGunShotSpeed | gun.shot_speed() | `gun().shotSpeed(power)` | gun.shotSpeed | gun.shot_speed | gun().shotSpeed() | gun:shot_speed | cy_gun_shot_speed | Planner.core_query("gun.shot_speed", ...) | cy_gun_shot_speed | Gun.shot_speed robot | cy_gun_shot_speed | $robot->gun->shot_speed | gun->shotSpeed() | Gun.ShotSpeed | gun_shot_speed | `self.gun.shot_speed(power)` | `bot$gun$shot_speed(power)` | gun.shot_speed | gun.shot_speed() | gun().shotSpeed() | gun.shotSpeed() | gun.shot_speed() | `cy_gun_shot_speed(robot, power, &out)` | `cy_gun_shot_speed(power, &out)` | — | — |
| `gun.shot_cost` | call | cy_gun_shot_cost | CyGunShotCost args | cy_gun_shot_cost | cy.GunShotCost | cy_gun_shot_cost | gun_shot_cost | (cy-gun-shot-cost ...) | gun().shotCost() | `CALL "CY-GUN-SHOT-COST"` | (gun-shot-cost robot power) | gun.shot_cost() | Gun.ShotCost | cy_gun_shot_cost | gun.shotCost | Clunkyard.gun_shot_cost | clunkyard:gun_shot_cost | cy-gun-shot-cost | cy_gun_shot_cost | Gun.ShotCost | Gun.ShotCost() | cyGunShotCost | gun.shot_cost() | `gun().shotCost(power)` | gun.shotCost | gun.shot_cost | gun().shotCost() | gun:shot_cost | cy_gun_shot_cost | Planner.core_query("gun.shot_cost", ...) | cy_gun_shot_cost | Gun.shot_cost robot | cy_gun_shot_cost | $robot->gun->shot_cost | gun->shotCost() | Gun.ShotCost | gun_shot_cost | `self.gun.shot_cost(power)` | `bot$gun$shot_cost(power)` | gun.shot_cost | gun.shot_cost() | gun().shotCost() | gun.shotCost() | gun.shot_cost() | `cy_gun_shot_cost(robot, power, &out)` | `cy_gun_shot_cost(power, &out)` | — | — |
| `gun.reload_ticks` | call | cy_gun_reload_ticks | CyGunReloadTicks args | cy_gun_reload_ticks | cy.GunReloadTicks | cy_gun_reload_ticks | gun_reload_ticks | (cy-gun-reload-ticks ...) | gun().reloadTicks() | `CALL "CY-GUN-RELOAD-TICKS"` | (gun-reload-ticks robot power) | gun.reload_ticks() | Gun.ReloadTicks | cy_gun_reload_ticks | gun.reloadTicks | Clunkyard.gun_reload_ticks | clunkyard:gun_reload_ticks | cy-gun-reload-ticks | cy_gun_reload_ticks | Gun.ReloadTicks | Gun.ReloadTicks() | cyGunReloadTicks | gun.reload_ticks() | `gun().reloadTicks(power)` | gun.reloadTicks | gun.reload_ticks | gun().reloadTicks() | gun:reload_ticks | cy_gun_reload_ticks | Planner.core_query("gun.reload_ticks", ...) | cy_gun_reload_ticks | Gun.reload_ticks robot | cy_gun_reload_ticks | $robot->gun->reload_ticks | gun->reloadTicks() | Gun.ReloadTicks | gun_reload_ticks | `self.gun.reload_ticks(power)` | `bot$gun$reload_ticks(power)` | gun.reload_ticks | gun.reload_ticks() | gun().reloadTicks() | gun.reloadTicks() | gun.reload_ticks() | `cy_gun_reload_ticks(robot, power, &out)` | `cy_gun_reload_ticks(power, &out)` | — | — |
| `gun.shot_damage` | call | cy_gun_shot_damage | CyGunShotDamage args | cy_gun_shot_damage | cy.GunShotDamage | cy_gun_shot_damage | gun_shot_damage | (cy-gun-shot-damage ...) | gun().shotDamage() | `CALL "CY-GUN-SHOT-DAMAGE"` | (gun-shot-damage robot power) | gun.shot_damage() | Gun.ShotDamage | cy_gun_shot_damage | gun.shotDamage | Clunkyard.gun_shot_damage | clunkyard:gun_shot_damage | cy-gun-shot-damage | cy_gun_shot_damage | Gun.ShotDamage | Gun.ShotDamage() | cyGunShotDamage | gun.shot_damage() | `gun().shotDamage(power)` | gun.shotDamage | gun.shot_damage | gun().shotDamage() | gun:shot_damage | cy_gun_shot_damage | Planner.core_query("gun.shot_damage", ...) | cy_gun_shot_damage | Gun.shot_damage robot | cy_gun_shot_damage | $robot->gun->shot_damage | gun->shotDamage() | Gun.ShotDamage | gun_shot_damage | `self.gun.shot_damage(power)` | `bot$gun$shot_damage(power)` | gun.shot_damage | gun.shot_damage() | gun().shotDamage() | gun.shotDamage() | gun.shot_damage() | `cy_gun_shot_damage(robot, power, &out)` | `cy_gun_shot_damage(power, &out)` | — | — |
| `gun.power_for_speed` | call | cy_gun_power_for_speed | CyGunPowerForSpeed args | cy_gun_power_for_speed | cy.GunPowerForSpeed | cy_gun_power_for_speed | gun_power_for_speed | (cy-gun-power-for-speed ...) | gun().powerForSpeed() | `CALL "CY-GUN-POWER-FOR-SPEED"` | (gun-power-for-speed robot speed) | gun.power_for_speed() | Gun.PowerForSpeed | cy_gun_power_for_speed | gun.powerForSpeed | Clunkyard.gun_power_for_speed | clunkyard:gun_power_for_speed | cy-gun-power-for-speed | cy_gun_power_for_speed | Gun.PowerForSpeed | Gun.PowerForSpeed() | cyGunPowerForSpeed | gun.power_for_speed() | `gun().powerForSpeed(speed)` | gun.powerForSpeed | gun.power_for_speed | gun().powerForSpeed() | gun:power_for_speed | cy_gun_power_for_speed | Planner.core_query("gun.power_for_speed", ...) | cy_gun_power_for_speed | Gun.power_for_speed robot | cy_gun_power_for_speed | $robot->gun->power_for_speed | gun->powerForSpeed() | Gun.PowerForSpeed | gun_power_for_speed | `self.gun.power_for_speed(speed)` | `bot$gun$power_for_speed(speed)` | gun.power_for_speed | gun.power_for_speed() | gun().powerForSpeed() | gun.powerForSpeed() | gun.power_for_speed() | `cy_gun_power_for_speed(robot, speed, &out)` | `cy_gun_power_for_speed(speed, &out)` | — | — |
| `gun.power_for_flight_time` | call | cy_gun_power_for_flight_time | CyGunPowerForFlightTime args | cy_gun_power_for_flight_time | cy.GunPowerForFlightTime | cy_gun_power_for_flight_time | gun_power_for_flight_time | (cy-gun-power-for-flight-time ...) | gun().powerForFlightTime() | `CALL "CY-GUN-POWER-FOR-FLIGHT-TIME"` | (gun-power-for-flight-time robot range seconds) | gun.power_for_flight_time() | Gun.PowerForFlightTime | cy_gun_power_for_flight_time | gun.powerForFlightTime | Clunkyard.gun_power_for_flight_time | clunkyard:gun_power_for_flight_time | cy-gun-power-for-flight-time | cy_gun_power_for_flight_time | Gun.PowerForFlightTime | Gun.PowerForFlightTime() | cyGunPowerForFlightTime | gun.power_for_flight_time() | `gun().powerForFlightTime(range, seconds)` | gun.powerForFlightTime | gun.power_for_flight_time | gun().powerForFlightTime() | gun:power_for_flight_time | cy_gun_power_for_flight_time | Planner.core_query("gun.power_for_flight_time", ...) | cy_gun_power_for_flight_time | Gun.power_for_flight_time robot | cy_gun_power_for_flight_time | $robot->gun->power_for_flight_time | gun->powerForFlightTime() | Gun.PowerForFlightTime | gun_power_for_flight_time | `self.gun.power_for_flight_time(range, seconds)` | `bot$gun$power_for_flight_time(range, seconds)` | gun.power_for_flight_time | gun.power_for_flight_time() | gun().powerForFlightTime() | gun.powerForFlightTime() | gun.power_for_flight_time() | `cy_gun_power_for_flight_time(robot, range, seconds, &out)` | `cy_gun_power_for_flight_time(range, seconds, &out)` | — | — |
| `gun.lead` | call | cy_gun_lead | CyGunLead args | cy_gun_lead | cy.GunLead | cy_gun_lead | gun_lead | (cy-gun-lead ...) | gun().lead() | `CALL "CY-GUN-LEAD"` | (gun-lead robot contact power) | gun.lead() | Gun.Lead | cy_gun_lead | gun.lead | Clunkyard.gun_lead | clunkyard:gun_lead | cy-gun-lead | cy_gun_lead | Gun.Lead | Gun.Lead() | cyGunLead | gun.lead() | `gun().lead(contact, power)` | gun.lead | gun.lead | gun().lead() | gun:lead | cy_gun_lead | Planner.core_query("gun.lead", ...) | cy_gun_lead | Gun.lead robot | cy_gun_lead | $robot->gun->lead | gun->lead() | Gun.Lead | gun_lead | `self.gun.lead(contact, power)` | `bot$gun$lead(contact, power)` | gun.lead | gun.lead() | gun().lead() | gun.lead() | gun.lead() | `cy_gun_lead(robot, contact, power, &out)` | `cy_gun_lead(contact, power, &out)` | — | — |
| `gun.lead_point` | call | cy_gun_lead_point | CyGunLeadPoint args | cy_gun_lead_point | cy.GunLeadPoint | cy_gun_lead_point | gun_lead_point | (cy-gun-lead-point ...) | gun().leadPoint() | `CALL "CY-GUN-LEAD-POINT"` | (gun-lead-point robot position velocity power) | gun.lead_point() | Gun.LeadPoint | cy_gun_lead_point | gun.leadPoint | Clunkyard.gun_lead_point | clunkyard:gun_lead_point | cy-gun-lead-point | cy_gun_lead_point | Gun.LeadPoint | Gun.LeadPoint() | cyGunLeadPoint | gun.lead_point() | `gun().leadPoint(position, velocity, power)` | gun.leadPoint | gun.lead_point | gun().leadPoint() | gun:lead_point | cy_gun_lead_point | Planner.core_query("gun.lead_point", ...) | cy_gun_lead_point | Gun.lead_point robot | cy_gun_lead_point | $robot->gun->lead_point | gun->leadPoint() | Gun.LeadPoint | gun_lead_point | `self.gun.lead_point(position, velocity, power)` | `bot$gun$lead_point(position, velocity, power)` | gun.lead_point | gun.lead_point() | gun().leadPoint() | gun.leadPoint() | gun.lead_point() | `cy_gun_lead_point(robot, position, velocity, power, &out)` | `cy_gun_lead_point(position, velocity, power, &out)` | — | — |
| `gun.aim` | control | cy_gun_aim_heading, cy_gun_aim_pitch | CyGunAim args | cy_gun_aim_heading, cy_gun_aim_pitch | cy.GunAim | cy_gun_aim_heading, cy_gun_aim_pitch | gun_aim | (cy-gun-aim ...) | gun().aim() | `CALL "CY-GUN-AIM-HEADING"`, `CALL "CY-GUN-AIM-PITCH"` | (gun-aim robot) | gun.aim() | Gun.Aim | cy_gun_aim_heading, cy_gun_aim_pitch | gun.aim | Clunkyard.gun_aim | clunkyard:gun_aim | cy-gun-aim-heading | cy_gun_aim_heading, cy_gun_aim_pitch | Gun.Aim | Gun.Aim() | cyGunAimHeading, cyGunAimPitch | gun.aim() | `gun().aim(heading, pitch)`, `gun().aim(Gun.pitch(x))` | gun.aim | gun.aim | gun().aim() | gun:aim | cy_gun_aim_heading, cy_gun_aim_pitch | Planner.core_query("gun.aim", ...) | cy_gun_aim_heading, cy_gun_aim_pitch | Gun.aim robot | cy_gun_aim_heading, cy_gun_aim_pitch | $robot->gun->aim | gun->aim() | Gun.Aim | gun_aim | `self.gun.aim(heading=None, pitch=None)` | `bot$gun$aim(heading = NULL, pitch = NULL)` | gun.aim | gun.aim() | gun().aim() | gun.aim() | gun.aim() | `cy_gun_aim_heading(robot, value)`, `cy_gun_aim_pitch(robot, value)` | `cy_gun_aim_heading(value)`, `cy_gun_aim_pitch(value)` | `aim-heading`, `aim-pitch` | `aim!`, `aim-pitch!` |
| `gun.fire` | control | cy_gun_fire, cy_gun_power | CyGunFire args | cy_gun_fire, cy_gun_power | cy.GunFire | cy_gun_fire, cy_gun_power | gun_fire | (cy-gun-fire ...) | gun().fire() | `CALL "CY-GUN-FIRE"`, `CALL "CY-GUN-POWER"` | (gun-fire robot) | gun.fire() | Gun.Fire | cy_gun_fire, cy_gun_power | gun.fire | Clunkyard.gun_fire | clunkyard:gun_fire | cy-gun-fire | cy_gun_fire, cy_gun_power | Gun.Fire | Gun.Fire() | cyGunFire, cyGunPower | gun.fire() | `gun().fire(power)` | gun.fire | gun.fire | gun().fire() | gun:fire | cy_gun_fire, cy_gun_power | Planner.core_query("gun.fire", ...) | cy_gun_fire, cy_gun_power | Gun.fire robot | cy_gun_fire, cy_gun_power | $robot->gun->fire | gun->fire() | Gun.Fire | gun_fire | `self.gun.fire(power=None)` | `bot$gun$fire(power = NULL)` | gun.fire | gun.fire() | gun().fire() | gun.fire() | gun.fire() | `cy_gun_fire(robot)`, `cy_gun_power(robot, value)` | `cy_gun_fire()`, `cy_gun_power(value)` | `fire`, `power` | `fire!`, `power!` |
| `gun.get` | call | cy_gun_get_aim_heading, cy_gun_get_aim_pitch, cy_gun_get_fire, cy_gun_get_power | CyGunGet args | cy_gun_get_aim_heading, cy_gun_get_aim_pitch, cy_gun_get_fire, cy_gun_get_power | cy.GunGet | cy_gun_get_aim_heading, cy_gun_get_aim_pitch, cy_gun_get_fire, cy_gun_get_power | gun_get | (cy-gun-get ...) | gun().get() | `CALL "CY-GUN-GET-AIM-HEADING"`, `CALL "CY-GUN-GET-AIM-PITCH"`, … | (gun-get robot) | gun.get_<field>() | Gun.Get | cy_gun_get_aim_heading, cy_gun_get_aim_pitch, cy_gun_get_fire, cy_gun_get_power | gun.get | Clunkyard.gun_get | clunkyard:gun_get | cy-gun-get | cy_gun_get_aim_heading, cy_gun_get_aim_pitch, cy_gun_get_fire, cy_gun_get_power | Gun.Get | Gun.Get<Field>() | cyGunGetAimHeading, cyGunGetAimPitch, cyGunGetFire, cyGunGetPower | gun.get_<field>() | `gun().get("heading")` | gun.get | gun.get | gun().get() | gun:get | cy_gun_get_aim_heading, cy_gun_get_aim_pitch, cy_gun_get_fire, cy_gun_get_power | Planner.core_query("gun.get", ...) | cy_gun_get_aim_heading, cy_gun_get_aim_pitch, cy_gun_get_fire, cy_gun_get_power | Gun.get robot | cy_gun_get_aim_heading, cy_gun_get_aim_pitch, cy_gun_get_fire, cy_gun_get_power | $robot->gun->get | gun->get() | Gun.Get | gun_get | `self.gun.get("heading")` | `bot$gun$get("heading")` | gun.get | gun.get_<field>() | gun().get() | gun.get() | gun.get() | `cy_gun_get_aim_heading(robot, &out)`, `cy_gun_get_aim_pitch(robot, &out)`, `cy_gun_get_fire(robot, &out)`, `cy_gun_get_power(robot, &out)` | `cy_gun_get_aim_heading(&out)`, `cy_gun_get_aim_pitch(&out)`, `cy_gun_get_fire(&out)`, `cy_gun_get_power(&out)` | — | — |
| `scanner.last` | property | cy_scanner_last | CyScannerLast args | cy_scanner_last | cy.ScannerLast | cy_scanner_last | scanner_last | (cy-scanner-last ...) | scanner().last() | `CY-SCANNER-LAST` | (scanner-last robot) | scanner.last() | Scanner.Last | cy_scanner_last | scanner.last | Clunkyard.scanner_last | clunkyard:scanner_last | cy-scanner-last | cy_scanner_last | Scanner.Last | Scanner.Last() | cyScannerLast | scanner.last() | `scanner().last()` | scanner.last | scanner.last | scanner().last() | scanner:last | cy_scanner_last | Planner.core_query("scanner.last", ...) | cy_scanner_last | Scanner.last robot | cy_scanner_last | $robot->scanner->last | scanner->last() | Scanner.Last | scanner_last | `self.scanner.last` | `bot$scanner$last` | scanner.last | scanner.last() | scanner().last() | scanner.last | scanner.last() | `cy_scanner_last(robot, &out)` | `cy_scanner_last(&out)` | `scan-heading` `scan-pitch` `scan-arc` `scan-range` | `scan-heading` `scan-pitch` `scan-arc` `scan-range` |
| `scanner.proximity_range` | property | cy_scanner_proximity_range | CyScannerProximityRange args | cy_scanner_proximity_range | cy.ScannerProximityRange | cy_scanner_proximity_range | scanner_proximity_range | (cy-scanner-proximity-range ...) | scanner().proximityRange() | `CY-SCANNER-PROXIMITY-RANGE` | (scanner-proximity-range robot) | scanner.proximity_range() | Scanner.ProximityRange | cy_scanner_proximity_range | scanner.proximityRange | Clunkyard.scanner_proximity_range | clunkyard:scanner_proximity_range | cy-scanner-proximity-range | cy_scanner_proximity_range | Scanner.ProximityRange | Scanner.ProximityRange() | cyScannerProximityRange | scanner.proximity_range() | `scanner().proximityRange()` | scanner.proximityRange | scanner.proximity_range | scanner().proximityRange() | scanner:proximity_range | cy_scanner_proximity_range | Planner.core_query("scanner.proximity_range", ...) | cy_scanner_proximity_range | Scanner.proximity_range robot | cy_scanner_proximity_range | $robot->scanner->proximity_range | scanner->proximityRange() | Scanner.ProximityRange | scanner_proximity_range | `self.scanner.proximity_range` | `bot$scanner$proximity_range` | scanner.proximity_range | scanner.proximity_range() | scanner().proximityRange() | scanner.proximityRange | scanner.proximity_range() | `cy_scanner_proximity_range(robot, &out)` | `cy_scanner_proximity_range(&out)` | — | — |
| `scanner.reach` | call | cy_scanner_reach | CyScannerReach args | cy_scanner_reach | cy.ScannerReach | cy_scanner_reach | scanner_reach | (cy-scanner-reach ...) | scanner().reach() | `CALL "CY-SCANNER-REACH"` | (scanner-reach robot arc) | scanner.reach() | Scanner.Reach | cy_scanner_reach | scanner.reach | Clunkyard.scanner_reach | clunkyard:scanner_reach | cy-scanner-reach | cy_scanner_reach | Scanner.Reach | Scanner.Reach() | cyScannerReach | scanner.reach() | `scanner().reach(arc)` | scanner.reach | scanner.reach | scanner().reach() | scanner:reach | cy_scanner_reach | Planner.core_query("scanner.reach", ...) | cy_scanner_reach | Scanner.reach robot | cy_scanner_reach | $robot->scanner->reach | scanner->reach() | Scanner.Reach | scanner_reach | `self.scanner.reach(arc)` | `bot$scanner$reach(arc)` | scanner.reach | scanner.reach() | scanner().reach() | scanner.reach() | scanner.reach() | `cy_scanner_reach(robot, arc, &out)` | `cy_scanner_reach(arc, &out)` | — | — |
| `scanner.arc_for_reach` | call | cy_scanner_arc_for_reach | CyScannerArcForReach args | cy_scanner_arc_for_reach | cy.ScannerArcForReach | cy_scanner_arc_for_reach | scanner_arc_for_reach | (cy-scanner-arc-for-reach ...) | scanner().arcForReach() | `CALL "CY-SCANNER-ARC-FOR-REACH"` | (scanner-arc-for-reach robot range) | scanner.arc_for_reach() | Scanner.ArcForReach | cy_scanner_arc_for_reach | scanner.arcForReach | Clunkyard.scanner_arc_for_reach | clunkyard:scanner_arc_for_reach | cy-scanner-arc-for-reach | cy_scanner_arc_for_reach | Scanner.ArcForReach | Scanner.ArcForReach() | cyScannerArcForReach | scanner.arc_for_reach() | `scanner().arcForReach(range)` | scanner.arcForReach | scanner.arc_for_reach | scanner().arcForReach() | scanner:arc_for_reach | cy_scanner_arc_for_reach | Planner.core_query("scanner.arc_for_reach", ...) | cy_scanner_arc_for_reach | Scanner.arc_for_reach robot | cy_scanner_arc_for_reach | $robot->scanner->arc_for_reach | scanner->arcForReach() | Scanner.ArcForReach | scanner_arc_for_reach | `self.scanner.arc_for_reach(range)` | `bot$scanner$arc_for_reach(range)` | scanner.arc_for_reach | scanner.arc_for_reach() | scanner().arcForReach() | scanner.arcForReach() | scanner.arc_for_reach() | `cy_scanner_arc_for_reach(robot, range, &out)` | `cy_scanner_arc_for_reach(range, &out)` | — | — |
| `scanner.set` | control | cy_scanner_heading, cy_scanner_arc, cy_scanner_pitch | CyScannerSet args | cy_scanner_heading, cy_scanner_arc, cy_scanner_pitch | cy.ScannerSet | cy_scanner_heading, cy_scanner_arc, cy_scanner_pitch | scanner_set | (cy-scanner-set ...) | scanner().set() | `CALL "CY-SCANNER-HEADING"`, `CALL "CY-SCANNER-ARC"`, … | (scanner-set robot) | scanner.set() | Scanner.Set | cy_scanner_heading, cy_scanner_arc, cy_scanner_pitch | scanner.set | Clunkyard.scanner_set | clunkyard:scanner_set | cy-scanner-set-heading | cy_scanner_heading, cy_scanner_arc, cy_scanner_pitch | Scanner.Set | Scanner.Set() | cyScannerHeading, cyScannerArc, cyScannerPitch | scanner.set() | `scanner().set(heading, arc, pitch)`, `scanner().set(Scanner.pitch(x))` | scanner.set | scanner.set | scanner().set() | scanner:set | cy_scanner_heading, cy_scanner_arc, cy_scanner_pitch | Planner.core_query("scanner.set", ...) | cy_scanner_heading, cy_scanner_arc, cy_scanner_pitch | Scanner.set robot | cy_scanner_heading, cy_scanner_arc, cy_scanner_pitch | $robot->scanner->set | scanner->set() | Scanner.Set | scanner_set | `self.scanner.set(heading=None, arc=None, pitch=None)` | `bot$scanner$set(heading = NULL, arc = NULL, pitch = NULL)` | scanner.set | scanner.set() | scanner().set() | scanner.set() | scanner.set() | `cy_scanner_heading(robot, value)`, `cy_scanner_arc(robot, value)`, `cy_scanner_pitch(robot, value)` | `cy_scanner_heading(value)`, `cy_scanner_arc(value)`, `cy_scanner_pitch(value)` | `scan-heading`, `scan-arc`, `scan-pitch` | `scan-heading!`, `scan-arc!`, `scan-pitch!` |
| `scanner.get` | call | cy_scanner_get_heading, cy_scanner_get_arc, cy_scanner_get_pitch | CyScannerGet args | cy_scanner_get_heading, cy_scanner_get_arc, cy_scanner_get_pitch | cy.ScannerGet | cy_scanner_get_heading, cy_scanner_get_arc, cy_scanner_get_pitch | scanner_get | (cy-scanner-get ...) | scanner().get() | `CALL "CY-SCANNER-GET-HEADING"`, `CALL "CY-SCANNER-GET-ARC"`, … | (scanner-get robot) | scanner.get_<field>() | Scanner.Get | cy_scanner_get_heading, cy_scanner_get_arc, cy_scanner_get_pitch | scanner.get | Clunkyard.scanner_get | clunkyard:scanner_get | cy-scanner-get | cy_scanner_get_heading, cy_scanner_get_arc, cy_scanner_get_pitch | Scanner.Get | Scanner.Get<Field>() | cyScannerGetHeading, cyScannerGetArc, cyScannerGetPitch | scanner.get_<field>() | `scanner().get("heading")` | scanner.get | scanner.get | scanner().get() | scanner:get | cy_scanner_get_heading, cy_scanner_get_arc, cy_scanner_get_pitch | Planner.core_query("scanner.get", ...) | cy_scanner_get_heading, cy_scanner_get_arc, cy_scanner_get_pitch | Scanner.get robot | cy_scanner_get_heading, cy_scanner_get_arc, cy_scanner_get_pitch | $robot->scanner->get | scanner->get() | Scanner.Get | scanner_get | `self.scanner.get("heading")` | `bot$scanner$get("heading")` | scanner.get | scanner.get_<field>() | scanner().get() | scanner.get() | scanner.get() | `cy_scanner_get_heading(robot, &out)`, `cy_scanner_get_arc(robot, &out)`, `cy_scanner_get_pitch(robot, &out)` | `cy_scanner_get_heading(&out)`, `cy_scanner_get_arc(&out)`, `cy_scanner_get_pitch(&out)` | — | — |
| `sensors.contacts` | property | cy_sensors_contacts | CySensorsContacts args | cy_sensors_contacts | cy.SensorsContacts | cy_sensors_contacts | sensors_contacts | (cy-sensors-contacts ...) | sensors().contacts() | `CY-SENSORS-CONTACTS` | (sensors-contacts robot) | sensors.contacts() | Sensors.Contacts | cy_sensors_contacts | sensors.contacts | Clunkyard.sensors_contacts | clunkyard:sensors_contacts | cy-sensors-contacts | cy_sensors_contacts | Sensors.Contacts | Sensors.Contacts() | cySensorsContacts | sensors.contacts() | `sensors().contacts()` | sensors.contacts | sensors.contacts | sensors().contacts() | sensors:contacts | cy_sensors_contacts | Planner.core_query("sensors.contacts", ...) | cy_sensors_contacts | Sensors.contacts robot | cy_sensors_contacts | $robot->sensors->contacts | sensors->contacts() | Sensors.Contacts | sensors_contacts | `self.sensors.contacts` | `bot$sensors$contacts` | sensors.contacts | sensors.contacts() | sensors().contacts() | sensors.contacts | sensors.contacts() | `cy_sensors_contacts(robot, &out, &count)` | `cy_sensors_contacts(&out, &count)` | — | — |
| `sensors.nearest` | property | cy_sensors_nearest | CySensorsNearest args | cy_sensors_nearest | cy.SensorsNearest | cy_sensors_nearest | sensors_nearest | (cy-sensors-nearest ...) | sensors().nearest() | `CY-SENSORS-NEAREST` | (sensors-nearest robot) | sensors.nearest() | Sensors.Nearest | cy_sensors_nearest | sensors.nearest | Clunkyard.sensors_nearest | clunkyard:sensors_nearest | cy-sensors-nearest | cy_sensors_nearest | Sensors.Nearest | Sensors.Nearest() | cySensorsNearest | sensors.nearest() | `sensors().nearest()` | sensors.nearest | sensors.nearest | sensors().nearest() | sensors:nearest | cy_sensors_nearest | Planner.core_query("sensors.nearest", ...) | cy_sensors_nearest | Sensors.nearest robot | cy_sensors_nearest | $robot->sensors->nearest | sensors->nearest() | Sensors.Nearest | sensors_nearest | `self.sensors.nearest` | `bot$sensors$nearest` | sensors.nearest | sensors.nearest() | sensors().nearest() | sensors.nearest | sensors.nearest() | `cy_sensors_nearest(robot, &out)` | `cy_sensors_nearest(&out)` | `contact` `range` `bearing` `elevation` | `contact` `range` `bearing` `elevation` |
| `sensors.cues` | property | cy_sensors_cues | CySensorsCues args | cy_sensors_cues | cy.SensorsCues | cy_sensors_cues | sensors_cues | (cy-sensors-cues ...) | sensors().cues() | `CY-SENSORS-CUES` | (sensors-cues robot) | sensors.cues() | Sensors.Cues | cy_sensors_cues | sensors.cues | Clunkyard.sensors_cues | clunkyard:sensors_cues | cy-sensors-cues | cy_sensors_cues | Sensors.Cues | Sensors.Cues() | cySensorsCues | sensors.cues() | `sensors().cues()` | sensors.cues | sensors.cues | sensors().cues() | sensors:cues | cy_sensors_cues | Planner.core_query("sensors.cues", ...) | cy_sensors_cues | Sensors.cues robot | cy_sensors_cues | $robot->sensors->cues | sensors->cues() | Sensors.Cues | sensors_cues | `self.sensors.cues` | `bot$sensors$cues` | sensors.cues | sensors.cues() | sensors().cues() | sensors.cues | sensors.cues() | `cy_sensors_cues(robot, &out, &count)` | `cy_sensors_cues(&out, &count)` | — | — |
| `sensors.contact` | call | cy_sensors_contact | CySensorsContact args | cy_sensors_contact | cy.SensorsContact | cy_sensors_contact | sensors_contact | (cy-sensors-contact ...) | sensors().contact() | `CALL "CY-SENSORS-CONTACT"` | (sensors-contact robot slot) | sensors.contact() | Sensors.Contact | cy_sensors_contact | sensors.contact | Clunkyard.sensors_contact | clunkyard:sensors_contact | cy-sensors-contact | cy_sensors_contact | Sensors.Contact | Sensors.Contact() | cySensorsContact | sensors.contact() | `sensors().contact(slot)` | sensors.contact | sensors.contact | sensors().contact() | sensors:contact | cy_sensors_contact | Planner.core_query("sensors.contact", ...) | cy_sensors_contact | Sensors.contact robot | cy_sensors_contact | $robot->sensors->contact | sensors->contact() | Sensors.Contact | sensors_contact | `self.sensors.contact(slot)` | `bot$sensors$contact(slot)` | sensors.contact | sensors.contact() | sensors().contact() | sensors.contact() | sensors.contact() | `cy_sensors_contact(robot, slot, &out)` | `cy_sensors_contact(slot, &out)` | — | — |
| `sensors.position_of` | call | cy_sensors_position_of | CySensorsPositionOf args | cy_sensors_position_of | cy.SensorsPositionOf | cy_sensors_position_of | sensors_position_of | (cy-sensors-position-of ...) | sensors().positionOf() | `CALL "CY-SENSORS-POSITION-OF"` | (sensors-position-of robot contact) | sensors.position_of() | Sensors.PositionOf | cy_sensors_position_of | sensors.positionOf | Clunkyard.sensors_position_of | clunkyard:sensors_position_of | cy-sensors-position-of | cy_sensors_position_of | Sensors.PositionOf | Sensors.PositionOf() | cySensorsPositionOf | sensors.position_of() | `sensors().positionOf(contact)` | sensors.positionOf | sensors.position_of | sensors().positionOf() | sensors:position_of | cy_sensors_position_of | Planner.core_query("sensors.position_of", ...) | cy_sensors_position_of | Sensors.position_of robot | cy_sensors_position_of | $robot->sensors->position_of | sensors->positionOf() | Sensors.PositionOf | sensors_position_of | `self.sensors.position_of(contact)` | `bot$sensors$position_of(contact)` | sensors.position_of | sensors.position_of() | sensors().positionOf() | sensors.positionOf() | sensors.position_of() | `cy_sensors_position_of(robot, contact, &out)` | `cy_sensors_position_of(contact, &out)` | — | — |
| `tracker.cue` | property | cy_tracker_cue | CyTrackerCue args | cy_tracker_cue | cy.TrackerCue | cy_tracker_cue | tracker_cue | (cy-tracker-cue ...) | tracker().cue() | `CY-TRACKER-CUE` | (tracker-cue robot) | tracker.cue() | Tracker.Cue | cy_tracker_cue | tracker.cue | Clunkyard.tracker_cue | clunkyard:tracker_cue | cy-tracker-cue | cy_tracker_cue | Tracker.Cue | Tracker.Cue() | cyTrackerCue | tracker.cue() | `tracker().cue()` | tracker.cue | tracker.cue | tracker().cue() | tracker:cue | cy_tracker_cue | Planner.core_query("tracker.cue", ...) | cy_tracker_cue | Tracker.cue robot | cy_tracker_cue | $robot->tracker->cue | tracker->cue() | Tracker.Cue | tracker_cue | `self.tracker.cue` | `bot$tracker$cue` | tracker.cue | tracker.cue() | tracker().cue() | tracker.cue | tracker.cue() | `cy_tracker_cue(robot, &out)` | `cy_tracker_cue(&out)` | `cue-present` `cue-error` | `cue-present` `cue-error` |
| `tracker.nearest_bearing_rate` | property | cy_tracker_nearest_bearing_rate | CyTrackerNearestBearingRate args | cy_tracker_nearest_bearing_rate | cy.TrackerNearestBearingRate | cy_tracker_nearest_bearing_rate | tracker_nearest_bearing_rate | (cy-tracker-nearest-bearing-rate ...) | tracker().nearestBearingRate() | `CY-TRACKER-NEAREST-BEARING-RATE` | (tracker-nearest-bearing-rate robot) | tracker.nearest_bearing_rate() | Tracker.NearestBearingRate | cy_tracker_nearest_bearing_rate | tracker.nearestBearingRate | Clunkyard.tracker_nearest_bearing_rate | clunkyard:tracker_nearest_bearing_rate | cy-tracker-nearest-bearing-rate | cy_tracker_nearest_bearing_rate | Tracker.NearestBearingRate | Tracker.NearestBearingRate() | cyTrackerNearestBearingRate | tracker.nearest_bearing_rate() | `tracker().nearestBearingRate()` | tracker.nearestBearingRate | tracker.nearest_bearing_rate | tracker().nearestBearingRate() | tracker:nearest_bearing_rate | cy_tracker_nearest_bearing_rate | Planner.core_query("tracker.nearest_bearing_rate", ...) | cy_tracker_nearest_bearing_rate | Tracker.nearest_bearing_rate robot | cy_tracker_nearest_bearing_rate | $robot->tracker->nearest_bearing_rate | tracker->nearestBearingRate() | Tracker.NearestBearingRate | tracker_nearest_bearing_rate | `self.tracker.nearest_bearing_rate` | `bot$tracker$nearest_bearing_rate` | tracker.nearest_bearing_rate | tracker.nearest_bearing_rate() | tracker().nearestBearingRate() | tracker.nearestBearingRate | tracker.nearest_bearing_rate() | `cy_tracker_nearest_bearing_rate(robot, &out)` | `cy_tracker_nearest_bearing_rate(&out)` | `bearing-rate` | `bearing-rate` |
| `tracker.velocity` | call | cy_tracker_velocity | CyTrackerVelocity args | cy_tracker_velocity | cy.TrackerVelocity | cy_tracker_velocity | tracker_velocity | (cy-tracker-velocity ...) | tracker().velocity() | `CALL "CY-TRACKER-VELOCITY"` | (tracker-velocity robot slot) | tracker.velocity() | Tracker.Velocity | cy_tracker_velocity | tracker.velocity | Clunkyard.tracker_velocity | clunkyard:tracker_velocity | cy-tracker-velocity | cy_tracker_velocity | Tracker.Velocity | Tracker.Velocity() | cyTrackerVelocity | tracker.velocity() | `tracker().velocity(slot)` | tracker.velocity | tracker.velocity | tracker().velocity() | tracker:velocity | cy_tracker_velocity | Planner.core_query("tracker.velocity", ...) | cy_tracker_velocity | Tracker.velocity robot | cy_tracker_velocity | $robot->tracker->velocity | tracker->velocity() | Tracker.Velocity | tracker_velocity | `self.tracker.velocity(slot)` | `bot$tracker$velocity(slot)` | tracker.velocity | tracker.velocity() | tracker().velocity() | tracker.velocity() | tracker.velocity() | `cy_tracker_velocity(robot, slot, &out)` | `cy_tracker_velocity(slot, &out)` | — | — |
| `tracker.position` | call | cy_tracker_position | CyTrackerPosition args | cy_tracker_position | cy.TrackerPosition | cy_tracker_position | tracker_position | (cy-tracker-position ...) | tracker().position() | `CALL "CY-TRACKER-POSITION"` | (tracker-position robot slot) | tracker.position() | Tracker.Position | cy_tracker_position | tracker.position | Clunkyard.tracker_position | clunkyard:tracker_position | cy-tracker-position | cy_tracker_position | Tracker.Position | Tracker.Position() | cyTrackerPosition | tracker.position() | `tracker().position(slot)` | tracker.position | tracker.position | tracker().position() | tracker:position | cy_tracker_position | Planner.core_query("tracker.position", ...) | cy_tracker_position | Tracker.position robot | cy_tracker_position | $robot->tracker->position | tracker->position() | Tracker.Position | tracker_position | `self.tracker.position(slot)` | `bot$tracker$position(slot)` | tracker.position | tracker.position() | tracker().position() | tracker.position() | tracker.position() | `cy_tracker_position(robot, slot, &out)` | `cy_tracker_position(slot, &out)` | — | — |
| `tracker.last_seen` | call | cy_tracker_last_seen | CyTrackerLastSeen args | cy_tracker_last_seen | cy.TrackerLastSeen | cy_tracker_last_seen | tracker_last_seen | (cy-tracker-last-seen ...) | tracker().lastSeen() | `CALL "CY-TRACKER-LAST-SEEN"` | (tracker-last-seen robot slot) | tracker.last_seen() | Tracker.LastSeen | cy_tracker_last_seen | tracker.lastSeen | Clunkyard.tracker_last_seen | clunkyard:tracker_last_seen | cy-tracker-last-seen | cy_tracker_last_seen | Tracker.LastSeen | Tracker.LastSeen() | cyTrackerLastSeen | tracker.last_seen() | `tracker().lastSeen(slot)` | tracker.lastSeen | tracker.last_seen | tracker().lastSeen() | tracker:last_seen | cy_tracker_last_seen | Planner.core_query("tracker.last_seen", ...) | cy_tracker_last_seen | Tracker.last_seen robot | cy_tracker_last_seen | $robot->tracker->last_seen | tracker->lastSeen() | Tracker.LastSeen | tracker_last_seen | `self.tracker.last_seen(slot)` | `bot$tracker$last_seen(slot)` | tracker.last_seen | tracker.last_seen() | tracker().lastSeen() | tracker.lastSeen() | tracker.last_seen() | `cy_tracker_last_seen(robot, slot, &out)` | `cy_tracker_last_seen(slot, &out)` | — | — |
| `tracker.configure` | call | cy_tracker_configure | CyTrackerConfigure args | cy_tracker_configure | cy.TrackerConfigure | cy_tracker_configure | tracker_configure | (cy-tracker-configure ...) | tracker().configure() | `CALL "CY-TRACKER-CONFIGURE"` | (tracker-configure robot smoothing forget-ticks cue-ticks) | tracker.configure() | Tracker.Configure | cy_tracker_configure | tracker.configure | Clunkyard.tracker_configure | clunkyard:tracker_configure | cy-tracker-configure | cy_tracker_configure | Tracker.Configure | Tracker.Configure() | cyTrackerConfigure | tracker.configure() | `tracker().configure(smoothing, forgetTicks, cueTicks)` | tracker.configure | tracker.configure | tracker().configure() | tracker:configure | cy_tracker_configure | Planner.core_query("tracker.configure", ...) | cy_tracker_configure | Tracker.configure robot | cy_tracker_configure | $robot->tracker->configure | tracker->configure() | Tracker.Configure | tracker_configure | `self.tracker.configure(smoothing=0.5, forget_ticks=40, cue_ticks=60)` | `bot$tracker$configure(smoothing = 0.5, forget_ticks = 40, cue_ticks = 60)` | tracker.configure | tracker.configure() | tracker().configure() | tracker.configure() | tracker.configure() | `cy_tracker_configure(robot, smoothing, forget_ticks, cue_ticks)` | `cy_tracker_configure(smoothing, forget_ticks, cue_ticks)` | — | — |
| `nav.zone` | property | cy_nav_zone | CyNavZone args | cy_nav_zone | cy.NavZone | cy_nav_zone | nav_zone | (cy-nav-zone ...) | nav().zone() | `CY-NAV-ZONE` | (nav-zone robot) | nav.zone() | Nav.Zone | cy_nav_zone | nav.zone | Clunkyard.nav_zone | clunkyard:nav_zone | cy-nav-zone | cy_nav_zone | Nav.Zone | Nav.Zone() | cyNavZone | nav.zone() | `nav().zone()` | nav.zone | nav.zone | nav().zone() | nav:zone | cy_nav_zone | Planner.core_query("nav.zone", ...) | cy_nav_zone | Nav.zone robot | cy_nav_zone | $robot->nav->zone | nav->zone() | Nav.Zone | nav_zone | `self.nav.zone` | `bot$nav$zone` | nav.zone | nav.zone() | nav().zone() | nav.zone | nav.zone() | `cy_nav_zone(robot, &out)` | `cy_nav_zone(&out)` | `zone-active` `zone-radius` | `zone-active` `zone-radius` |
| `nav.zone.margin` | call | cy_nav_zone_margin | CyNavZoneMargin args | cy_nav_zone_margin | cy.NavZoneMargin | cy_nav_zone_margin | nav_zone_margin | (cy-nav-zone-margin ...) | nav().zone().margin() | `CALL "CY-NAV-ZONE-MARGIN"` | (nav-zone-margin region point) | nav.zone_margin() | Nav.Zone.Margin | cy_nav_zone_margin | nav.zone.margin | Clunkyard.nav_zone_margin | clunkyard:nav_zone_margin | cy-nav-zone-margin | cy_nav_zone_margin | Nav.Zone.Margin | Nav.ZoneMargin() | cyNavZoneMargin | nav.zone_margin() | `nav().zone().margin(point)` | nav.zone.margin | nav.zone.margin | nav().zone().margin() | nav.zone:margin | cy_nav_zone_margin | Planner.core_query("nav.zone.margin", ...) | cy_nav_zone_margin | Nav.zone_margin robot | cy_nav_zone_margin | $robot->nav->zone->margin | nav->zone->margin() | Nav.Zone.Margin | nav_zone_margin | `self.nav.zone.margin(point)` | `bot$nav$zone$margin(point)` | nav.zone.margin | nav.zone_margin() | nav().zone().margin() | nav.zoneMargin() | nav.zone_margin() | `cy_nav_zone_margin(robot, point, &out)` | `cy_nav_zone_margin(point, &out)` | — | — |
| `nav.zone.contains` | call | cy_nav_zone_contains | CyNavZoneContains args | cy_nav_zone_contains | cy.NavZoneContains | cy_nav_zone_contains | nav_zone_contains | (cy-nav-zone-contains ...) | nav().zone().contains() | `CALL "CY-NAV-ZONE-CONTAINS"` | (nav-zone-contains region point margin) | nav.zone_contains() | Nav.Zone.Contains | cy_nav_zone_contains | nav.zone.contains | Clunkyard.nav_zone_contains | clunkyard:nav_zone_contains | cy-nav-zone-contains | cy_nav_zone_contains | Nav.Zone.Contains | Nav.ZoneContains() | cyNavZoneContains | nav.zone_contains() | `nav().zone().contains(point, margin)` | nav.zone.contains | nav.zone.contains | nav().zone().contains() | nav.zone:contains | cy_nav_zone_contains | Planner.core_query("nav.zone.contains", ...) | cy_nav_zone_contains | Nav.zone_contains robot | cy_nav_zone_contains | $robot->nav->zone->contains | nav->zone->contains() | Nav.Zone.Contains | nav_zone_contains | `self.nav.zone.contains(point, margin=0)` | `bot$nav$zone$contains(point, margin = 0)` | nav.zone.contains | nav.zone_contains() | nav().zone().contains() | nav.zoneContains() | nav.zone_contains() | `cy_nav_zone_contains(robot, point, margin, &out)` | `cy_nav_zone_contains(point, margin, &out)` | — | — |
| `nav.zone.distance_from` | call | cy_nav_zone_distance_from | CyNavZoneDistanceFrom args | cy_nav_zone_distance_from | cy.NavZoneDistanceFrom | cy_nav_zone_distance_from | nav_zone_distance_from | (cy-nav-zone-distance-from ...) | nav().zone().distanceFrom() | `CALL "CY-NAV-ZONE-DISTANCE-FROM"` | (nav-zone-distance-from region point) | nav.zone_distance_from() | Nav.Zone.DistanceFrom | cy_nav_zone_distance_from | nav.zone.distanceFrom | Clunkyard.nav_zone_distance_from | clunkyard:nav_zone_distance_from | cy-nav-zone-distance-from | cy_nav_zone_distance_from | Nav.Zone.DistanceFrom | Nav.ZoneDistanceFrom() | cyNavZoneDistanceFrom | nav.zone_distance_from() | `nav().zone().distanceFrom(point)` | nav.zone.distanceFrom | nav.zone.distance_from | nav().zone().distanceFrom() | nav.zone:distance_from | cy_nav_zone_distance_from | Planner.core_query("nav.zone.distance_from", ...) | cy_nav_zone_distance_from | Nav.zone_distance_from robot | cy_nav_zone_distance_from | $robot->nav->zone->distance_from | nav->zone->distanceFrom() | Nav.Zone.DistanceFrom | nav_zone_distance_from | `self.nav.zone.distance_from(point)` | `bot$nav$zone$distance_from(point)` | nav.zone.distance_from | nav.zone_distance_from() | nav().zone().distanceFrom() | nav.zoneDistanceFrom() | nav.zone_distance_from() | `cy_nav_zone_distance_from(robot, point, &out)` | `cy_nav_zone_distance_from(point, &out)` | — | — |
| `nav.storm` | property | cy_nav_storm | CyNavStorm args | cy_nav_storm | cy.NavStorm | cy_nav_storm | nav_storm | (cy-nav-storm ...) | nav().storm() | `CY-NAV-STORM` | (nav-storm robot) | nav.storm() | Nav.Storm | cy_nav_storm | nav.storm | Clunkyard.nav_storm | clunkyard:nav_storm | cy-nav-storm | cy_nav_storm | Nav.Storm | Nav.Storm() | cyNavStorm | nav.storm() | `nav().storm()` | nav.storm | nav.storm | nav().storm() | nav:storm | cy_nav_storm | Planner.core_query("nav.storm", ...) | cy_nav_storm | Nav.storm robot | cy_nav_storm | $robot->nav->storm | nav->storm() | Nav.Storm | nav_storm | `self.nav.storm` | `bot$nav$storm` | nav.storm | nav.storm() | nav().storm() | nav.storm | nav.storm() | `cy_nav_storm(robot, &out)` | `cy_nav_storm(&out)` | `storm-active` `storm-radius` | `storm-active` `storm-radius` |
| `nav.storm.margin` | call | cy_nav_storm_margin | CyNavStormMargin args | cy_nav_storm_margin | cy.NavStormMargin | cy_nav_storm_margin | nav_storm_margin | (cy-nav-storm-margin ...) | nav().storm().margin() | `CALL "CY-NAV-STORM-MARGIN"` | (nav-storm-margin region point) | nav.storm_margin() | Nav.Storm.Margin | cy_nav_storm_margin | nav.storm.margin | Clunkyard.nav_storm_margin | clunkyard:nav_storm_margin | cy-nav-storm-margin | cy_nav_storm_margin | Nav.Storm.Margin | Nav.StormMargin() | cyNavStormMargin | nav.storm_margin() | `nav().storm().margin(point)` | nav.storm.margin | nav.storm.margin | nav().storm().margin() | nav.storm:margin | cy_nav_storm_margin | Planner.core_query("nav.storm.margin", ...) | cy_nav_storm_margin | Nav.storm_margin robot | cy_nav_storm_margin | $robot->nav->storm->margin | nav->storm->margin() | Nav.Storm.Margin | nav_storm_margin | `self.nav.storm.margin(point)` | `bot$nav$storm$margin(point)` | nav.storm.margin | nav.storm_margin() | nav().storm().margin() | nav.stormMargin() | nav.storm_margin() | `cy_nav_storm_margin(robot, point, &out)` | `cy_nav_storm_margin(point, &out)` | — | — |
| `nav.storm.contains` | call | cy_nav_storm_contains | CyNavStormContains args | cy_nav_storm_contains | cy.NavStormContains | cy_nav_storm_contains | nav_storm_contains | (cy-nav-storm-contains ...) | nav().storm().contains() | `CALL "CY-NAV-STORM-CONTAINS"` | (nav-storm-contains region point margin) | nav.storm_contains() | Nav.Storm.Contains | cy_nav_storm_contains | nav.storm.contains | Clunkyard.nav_storm_contains | clunkyard:nav_storm_contains | cy-nav-storm-contains | cy_nav_storm_contains | Nav.Storm.Contains | Nav.StormContains() | cyNavStormContains | nav.storm_contains() | `nav().storm().contains(point, margin)` | nav.storm.contains | nav.storm.contains | nav().storm().contains() | nav.storm:contains | cy_nav_storm_contains | Planner.core_query("nav.storm.contains", ...) | cy_nav_storm_contains | Nav.storm_contains robot | cy_nav_storm_contains | $robot->nav->storm->contains | nav->storm->contains() | Nav.Storm.Contains | nav_storm_contains | `self.nav.storm.contains(point, margin=0)` | `bot$nav$storm$contains(point, margin = 0)` | nav.storm.contains | nav.storm_contains() | nav().storm().contains() | nav.stormContains() | nav.storm_contains() | `cy_nav_storm_contains(robot, point, margin, &out)` | `cy_nav_storm_contains(point, margin, &out)` | — | — |
| `nav.storm.distance_from` | call | cy_nav_storm_distance_from | CyNavStormDistanceFrom args | cy_nav_storm_distance_from | cy.NavStormDistanceFrom | cy_nav_storm_distance_from | nav_storm_distance_from | (cy-nav-storm-distance-from ...) | nav().storm().distanceFrom() | `CALL "CY-NAV-STORM-DISTANCE-FROM"` | (nav-storm-distance-from region point) | nav.storm_distance_from() | Nav.Storm.DistanceFrom | cy_nav_storm_distance_from | nav.storm.distanceFrom | Clunkyard.nav_storm_distance_from | clunkyard:nav_storm_distance_from | cy-nav-storm-distance-from | cy_nav_storm_distance_from | Nav.Storm.DistanceFrom | Nav.StormDistanceFrom() | cyNavStormDistanceFrom | nav.storm_distance_from() | `nav().storm().distanceFrom(point)` | nav.storm.distanceFrom | nav.storm.distance_from | nav().storm().distanceFrom() | nav.storm:distance_from | cy_nav_storm_distance_from | Planner.core_query("nav.storm.distance_from", ...) | cy_nav_storm_distance_from | Nav.storm_distance_from robot | cy_nav_storm_distance_from | $robot->nav->storm->distance_from | nav->storm->distanceFrom() | Nav.Storm.DistanceFrom | nav_storm_distance_from | `self.nav.storm.distance_from(point)` | `bot$nav$storm$distance_from(point)` | nav.storm.distance_from | nav.storm_distance_from() | nav().storm().distanceFrom() | nav.stormDistanceFrom() | nav.storm_distance_from() | `cy_nav_storm_distance_from(robot, point, &out)` | `cy_nav_storm_distance_from(point, &out)` | — | — |
| `nav.hill` | property | cy_nav_hill | CyNavHill args | cy_nav_hill | cy.NavHill | cy_nav_hill | nav_hill | (cy-nav-hill ...) | nav().hill() | `CY-NAV-HILL` | (nav-hill robot) | nav.hill() | Nav.Hill | cy_nav_hill | nav.hill | Clunkyard.nav_hill | clunkyard:nav_hill | cy-nav-hill | cy_nav_hill | Nav.Hill | Nav.Hill() | cyNavHill | nav.hill() | `nav().hill()` | nav.hill | nav.hill | nav().hill() | nav:hill | cy_nav_hill | Planner.core_query("nav.hill", ...) | cy_nav_hill | Nav.hill robot | cy_nav_hill | $robot->nav->hill | nav->hill() | Nav.Hill | nav_hill | `self.nav.hill` | `bot$nav$hill` | nav.hill | nav.hill() | nav().hill() | nav.hill | nav.hill() | `cy_nav_hill(robot, &out)` | `cy_nav_hill(&out)` | `hill-active` `hill-radius` | `hill-active` `hill-radius` |
| `nav.hill.margin` | call | cy_nav_hill_margin | CyNavHillMargin args | cy_nav_hill_margin | cy.NavHillMargin | cy_nav_hill_margin | nav_hill_margin | (cy-nav-hill-margin ...) | nav().hill().margin() | `CALL "CY-NAV-HILL-MARGIN"` | (nav-hill-margin region point) | nav.hill_margin() | Nav.Hill.Margin | cy_nav_hill_margin | nav.hill.margin | Clunkyard.nav_hill_margin | clunkyard:nav_hill_margin | cy-nav-hill-margin | cy_nav_hill_margin | Nav.Hill.Margin | Nav.HillMargin() | cyNavHillMargin | nav.hill_margin() | `nav().hill().margin(point)` | nav.hill.margin | nav.hill.margin | nav().hill().margin() | nav.hill:margin | cy_nav_hill_margin | Planner.core_query("nav.hill.margin", ...) | cy_nav_hill_margin | Nav.hill_margin robot | cy_nav_hill_margin | $robot->nav->hill->margin | nav->hill->margin() | Nav.Hill.Margin | nav_hill_margin | `self.nav.hill.margin(point)` | `bot$nav$hill$margin(point)` | nav.hill.margin | nav.hill_margin() | nav().hill().margin() | nav.hillMargin() | nav.hill_margin() | `cy_nav_hill_margin(robot, point, &out)` | `cy_nav_hill_margin(point, &out)` | — | — |
| `nav.hill.contains` | call | cy_nav_hill_contains | CyNavHillContains args | cy_nav_hill_contains | cy.NavHillContains | cy_nav_hill_contains | nav_hill_contains | (cy-nav-hill-contains ...) | nav().hill().contains() | `CALL "CY-NAV-HILL-CONTAINS"` | (nav-hill-contains region point margin) | nav.hill_contains() | Nav.Hill.Contains | cy_nav_hill_contains | nav.hill.contains | Clunkyard.nav_hill_contains | clunkyard:nav_hill_contains | cy-nav-hill-contains | cy_nav_hill_contains | Nav.Hill.Contains | Nav.HillContains() | cyNavHillContains | nav.hill_contains() | `nav().hill().contains(point, margin)` | nav.hill.contains | nav.hill.contains | nav().hill().contains() | nav.hill:contains | cy_nav_hill_contains | Planner.core_query("nav.hill.contains", ...) | cy_nav_hill_contains | Nav.hill_contains robot | cy_nav_hill_contains | $robot->nav->hill->contains | nav->hill->contains() | Nav.Hill.Contains | nav_hill_contains | `self.nav.hill.contains(point, margin=0)` | `bot$nav$hill$contains(point, margin = 0)` | nav.hill.contains | nav.hill_contains() | nav().hill().contains() | nav.hillContains() | nav.hill_contains() | `cy_nav_hill_contains(robot, point, margin, &out)` | `cy_nav_hill_contains(point, margin, &out)` | — | — |
| `nav.hill.distance_from` | call | cy_nav_hill_distance_from | CyNavHillDistanceFrom args | cy_nav_hill_distance_from | cy.NavHillDistanceFrom | cy_nav_hill_distance_from | nav_hill_distance_from | (cy-nav-hill-distance-from ...) | nav().hill().distanceFrom() | `CALL "CY-NAV-HILL-DISTANCE-FROM"` | (nav-hill-distance-from region point) | nav.hill_distance_from() | Nav.Hill.DistanceFrom | cy_nav_hill_distance_from | nav.hill.distanceFrom | Clunkyard.nav_hill_distance_from | clunkyard:nav_hill_distance_from | cy-nav-hill-distance-from | cy_nav_hill_distance_from | Nav.Hill.DistanceFrom | Nav.HillDistanceFrom() | cyNavHillDistanceFrom | nav.hill_distance_from() | `nav().hill().distanceFrom(point)` | nav.hill.distanceFrom | nav.hill.distance_from | nav().hill().distanceFrom() | nav.hill:distance_from | cy_nav_hill_distance_from | Planner.core_query("nav.hill.distance_from", ...) | cy_nav_hill_distance_from | Nav.hill_distance_from robot | cy_nav_hill_distance_from | $robot->nav->hill->distance_from | nav->hill->distanceFrom() | Nav.Hill.DistanceFrom | nav_hill_distance_from | `self.nav.hill.distance_from(point)` | `bot$nav$hill$distance_from(point)` | nav.hill.distance_from | nav.hill_distance_from() | nav().hill().distanceFrom() | nav.hillDistanceFrom() | nav.hill_distance_from() | `cy_nav_hill_distance_from(robot, point, &out)` | `cy_nav_hill_distance_from(point, &out)` | — | — |
| `nav.pickups` | property | cy_nav_pickups | CyNavPickups args | cy_nav_pickups | cy.NavPickups | cy_nav_pickups | nav_pickups | (cy-nav-pickups ...) | nav().pickups() | `CY-NAV-PICKUPS` | (nav-pickups robot) | nav.pickups() | Nav.Pickups | cy_nav_pickups | nav.pickups | Clunkyard.nav_pickups | clunkyard:nav_pickups | cy-nav-pickups | cy_nav_pickups | Nav.Pickups | Nav.Pickups() | cyNavPickups | nav.pickups() | `nav().pickups()` | nav.pickups | nav.pickups | nav().pickups() | nav:pickups | cy_nav_pickups | Planner.core_query("nav.pickups", ...) | cy_nav_pickups | Nav.pickups robot | cy_nav_pickups | $robot->nav->pickups | nav->pickups() | Nav.Pickups | nav_pickups | `self.nav.pickups` | `bot$nav$pickups` | nav.pickups | nav.pickups() | nav().pickups() | nav.pickups | nav.pickups() | `cy_nav_pickups(robot, &out, &count)` | `cy_nav_pickups(&out, &count)` | — | — |
| `nav.nearest_pickup` | call | cy_nav_nearest_pickup | CyNavNearestPickup args | cy_nav_nearest_pickup | cy.NavNearestPickup | cy_nav_nearest_pickup | nav_nearest_pickup | (cy-nav-nearest-pickup ...) | nav().nearestPickup() | `CALL "CY-NAV-NEAREST-PICKUP"` | (nav-nearest-pickup robot kind) | nav.nearest_pickup() | Nav.NearestPickup | cy_nav_nearest_pickup | nav.nearestPickup | Clunkyard.nav_nearest_pickup | clunkyard:nav_nearest_pickup | cy-nav-nearest-pickup | cy_nav_nearest_pickup | Nav.NearestPickup | Nav.NearestPickup() | cyNavNearestPickup | nav.nearest_pickup() | `nav().nearestPickup(kind)` | nav.nearestPickup | nav.nearest_pickup | nav().nearestPickup() | nav:nearest_pickup | cy_nav_nearest_pickup | Planner.core_query("nav.nearest_pickup", ...) | cy_nav_nearest_pickup | Nav.nearest_pickup robot | cy_nav_nearest_pickup | $robot->nav->nearest_pickup | nav->nearestPickup() | Nav.NearestPickup | nav_nearest_pickup | `self.nav.nearest_pickup(kind=None)` | `bot$nav$nearest_pickup(kind = NULL)` | nav.nearest_pickup | nav.nearest_pickup() | nav().nearestPickup() | nav.nearestPickup() | nav.nearest_pickup() | `cy_nav_nearest_pickup(robot, kind, &out)` | `cy_nav_nearest_pickup(kind, &out)` | — | — |
| `nav.field_distance` | call | cy_nav_field_distance | CyNavFieldDistance args | cy_nav_field_distance | cy.NavFieldDistance | cy_nav_field_distance | nav_field_distance | (cy-nav-field-distance ...) | nav().fieldDistance() | `CALL "CY-NAV-FIELD-DISTANCE"` | (nav-field-distance robot a b) | nav.field_distance() | Nav.FieldDistance | cy_nav_field_distance | nav.fieldDistance | Clunkyard.nav_field_distance | clunkyard:nav_field_distance | cy-nav-field-distance | cy_nav_field_distance | Nav.FieldDistance | Nav.FieldDistance() | cyNavFieldDistance | nav.field_distance() | `nav().fieldDistance(a, b)` | nav.fieldDistance | nav.field_distance | nav().fieldDistance() | nav:field_distance | cy_nav_field_distance | Planner.core_query("nav.field_distance", ...) | cy_nav_field_distance | Nav.field_distance robot | cy_nav_field_distance | $robot->nav->field_distance | nav->fieldDistance() | Nav.FieldDistance | nav_field_distance | `self.nav.field_distance(a, b)` | `bot$nav$field_distance(a, b)` | nav.field_distance | nav.field_distance() | nav().fieldDistance() | nav.fieldDistance() | nav.field_distance() | `cy_nav_field_distance(robot, a, b, &out)` | `cy_nav_field_distance(a, b, &out)` | — | — |
| `score.me` | property | cy_score_me | CyScoreMe args | cy_score_me | cy.ScoreMe | cy_score_me | score_me | (cy-score-me ...) | score().me() | `CY-SCORE-ME` | (score-me robot) | score.me() | Score.Me | cy_score_me | score.me | Clunkyard.score_me | clunkyard:score_me | cy-score-me | cy_score_me | Score.Me | Score.Me() | cyScoreMe | score.me() | `score().me()` | score.me | score.me | score().me() | score:me | cy_score_me | Planner.core_query("score.me", ...) | cy_score_me | Score.me robot | cy_score_me | $robot->score->me | score->me() | Score.Me | score_me | `self.score.me` | `bot$score$me` | score.me | score.me() | score().me() | score.me | score.me() | `cy_score_me(robot, &out)` | `cy_score_me(&out)` | `score` | `score` |
| `score.best` | property | cy_score_best | CyScoreBest args | cy_score_best | cy.ScoreBest | cy_score_best | score_best | (cy-score-best ...) | score().best() | `CY-SCORE-BEST` | (score-best robot) | score.best() | Score.Best | cy_score_best | score.best | Clunkyard.score_best | clunkyard:score_best | cy-score-best | cy_score_best | Score.Best | Score.Best() | cyScoreBest | score.best() | `score().best()` | score.best | score.best | score().best() | score:best | cy_score_best | Planner.core_query("score.best", ...) | cy_score_best | Score.best robot | cy_score_best | $robot->score->best | score->best() | Score.Best | score_best | `self.score.best` | `bot$score$best` | score.best | score.best() | score().best() | score.best | score.best() | `cy_score_best(robot, &out)` | `cy_score_best(&out)` | `score-best` | `score-best` |
| `score.armour` | property | cy_score_armour | CyScoreArmour args | cy_score_armour | cy.ScoreArmour | cy_score_armour | score_armour | (cy-score-armour ...) | score().armour() | `CY-SCORE-ARMOUR` | (score-armour robot) | score.armour() | Score.Armour | cy_score_armour | score.armour | Clunkyard.score_armour | clunkyard:score_armour | cy-score-armour | cy_score_armour | Score.Armour | Score.Armour() | cyScoreArmour | score.armour() | `score().armour()` | score.armour | score.armour | score().armour() | score:armour | cy_score_armour | Planner.core_query("score.armour", ...) | cy_score_armour | Score.armour robot | cy_score_armour | $robot->score->armour | score->armour() | Score.Armour | score_armour | `self.score.armour` | `bot$score$armour` | score.armour | score.armour() | score().armour() | score.armour | score.armour() | `cy_score_armour(robot, &out)` | `cy_score_armour(&out)` | — | — |
| `angles.normalize` | call | cy_angles_normalize | CyAnglesNormalize args | cy_angles_normalize | cy.AnglesNormalize | cy_angles_normalize | angles_normalize | (cy-angles-normalize ...) | angles().normalize() | `CALL "CY-ANGLES-NORMALIZE"` | (angles-normalize degrees) | angles.normalize() | Angles.Normalize | cy_angles_normalize | angles.normalize | Clunkyard.angles_normalize | clunkyard:angles_normalize | cy-angles-normalize | cy_angles_normalize | Angles.Normalize | Angles.Normalize() | cyAnglesNormalize | angles.normalize() | `angles().normalize(degrees)` | angles.normalize | angles.normalize | angles().normalize() | angles:normalize | cy_angles_normalize | Planner.core_query("angles.normalize", ...) | cy_angles_normalize | Angles.normalize robot | cy_angles_normalize | $robot->angles->normalize | angles->normalize() | Angles.Normalize | angles_normalize | `cy.angles.normalize(degrees)` | `angles$normalize(degrees)` | angles.normalize | angles.normalize() | angles().normalize() | angles.normalize() | angles.normalize() | `cy_angles_normalize(degrees, &out)` | `cy_angles_normalize(degrees, &out)` | — | — |
| `angles.angle_diff` | call | cy_angles_angle_diff | CyAnglesAngleDiff args | cy_angles_angle_diff | cy.AnglesAngleDiff | cy_angles_angle_diff | angles_angle_diff | (cy-angles-angle-diff ...) | angles().angleDiff() | `CALL "CY-ANGLES-ANGLE-DIFF"` | (angles-angle-diff target current) | angles.angle_diff() | Angles.AngleDiff | cy_angles_angle_diff | angles.angleDiff | Clunkyard.angles_angle_diff | clunkyard:angles_angle_diff | cy-angles-angle-diff | cy_angles_angle_diff | Angles.AngleDiff | Angles.AngleDiff() | cyAnglesAngleDiff | angles.angle_diff() | `angles().angleDiff(target, current)` | angles.angleDiff | angles.angle_diff | angles().angleDiff() | angles:angle_diff | cy_angles_angle_diff | Planner.core_query("angles.angle_diff", ...) | cy_angles_angle_diff | Angles.angle_diff robot | cy_angles_angle_diff | $robot->angles->angle_diff | angles->angleDiff() | Angles.AngleDiff | angles_angle_diff | `cy.angles.angle_diff(target, current)` | `angles$angle_diff(target, current)` | angles.angle_diff | angles.angle_diff() | angles().angleDiff() | angles.angleDiff() | angles.angle_diff() | `cy_angles_angle_diff(target, current, &out)` | `cy_angles_angle_diff(target, current, &out)` | — | — |
| `angles.bearing_to` | call | cy_angles_bearing_to | CyAnglesBearingTo args | cy_angles_bearing_to | cy.AnglesBearingTo | cy_angles_bearing_to | angles_bearing_to | (cy-angles-bearing-to ...) | angles().bearingTo() | `CALL "CY-ANGLES-BEARING-TO"` | (angles-bearing-to from to) | angles.bearing_to() | Angles.BearingTo | cy_angles_bearing_to | angles.bearingTo | Clunkyard.angles_bearing_to | clunkyard:angles_bearing_to | cy-angles-bearing-to | cy_angles_bearing_to | Angles.BearingTo | Angles.BearingTo() | cyAnglesBearingTo | angles.bearing_to() | `angles().bearingTo(from, to)` | angles.bearingTo | angles.bearing_to | angles().bearingTo() | angles:bearing_to | cy_angles_bearing_to | Planner.core_query("angles.bearing_to", ...) | cy_angles_bearing_to | Angles.bearing_to robot | cy_angles_bearing_to | $robot->angles->bearing_to | angles->bearingTo() | Angles.BearingTo | angles_bearing_to | `cy.angles.bearing_to(from_, to)` | `angles$bearing_to(from, to)` | angles.bearing_to | angles.bearing_to() | angles().bearingTo() | angles.bearingTo() | angles.bearing_to() | `cy_angles_bearing_to(from, to, &out)` | `cy_angles_bearing_to(from, to, &out)` | — | — |
| `angles.elevation_to` | call | cy_angles_elevation_to | CyAnglesElevationTo args | cy_angles_elevation_to | cy.AnglesElevationTo | cy_angles_elevation_to | angles_elevation_to | (cy-angles-elevation-to ...) | angles().elevationTo() | `CALL "CY-ANGLES-ELEVATION-TO"` | (angles-elevation-to from to) | angles.elevation_to() | Angles.ElevationTo | cy_angles_elevation_to | angles.elevationTo | Clunkyard.angles_elevation_to | clunkyard:angles_elevation_to | cy-angles-elevation-to | cy_angles_elevation_to | Angles.ElevationTo | Angles.ElevationTo() | cyAnglesElevationTo | angles.elevation_to() | `angles().elevationTo(from, to)` | angles.elevationTo | angles.elevation_to | angles().elevationTo() | angles:elevation_to | cy_angles_elevation_to | Planner.core_query("angles.elevation_to", ...) | cy_angles_elevation_to | Angles.elevation_to robot | cy_angles_elevation_to | $robot->angles->elevation_to | angles->elevationTo() | Angles.ElevationTo | angles_elevation_to | `cy.angles.elevation_to(from_, to)` | `angles$elevation_to(from, to)` | angles.elevation_to | angles.elevation_to() | angles().elevationTo() | angles.elevationTo() | angles.elevation_to() | `cy_angles_elevation_to(from, to, &out)` | `cy_angles_elevation_to(from, to, &out)` | — | — |
| `angles.direction` | call | cy_angles_direction | CyAnglesDirection args | cy_angles_direction | cy.AnglesDirection | cy_angles_direction | angles_direction | (cy-angles-direction ...) | angles().direction() | `CALL "CY-ANGLES-DIRECTION"` | (angles-direction heading pitch) | angles.direction() | Angles.Direction | cy_angles_direction | angles.direction | Clunkyard.angles_direction | clunkyard:angles_direction | cy-angles-direction | cy_angles_direction | Angles.Direction | Angles.Direction() | cyAnglesDirection | angles.direction() | `angles().direction(heading, pitch)` | angles.direction | angles.direction | angles().direction() | angles:direction | cy_angles_direction | Planner.core_query("angles.direction", ...) | cy_angles_direction | Angles.direction robot | cy_angles_direction | $robot->angles->direction | angles->direction() | Angles.Direction | angles_direction | `cy.angles.direction(heading, pitch)` | `angles$direction(heading, pitch)` | angles.direction | angles.direction() | angles().direction() | angles.direction() | angles.direction() | `cy_angles_direction(heading, pitch, &out)` | `cy_angles_direction(heading, pitch, &out)` | — | — |
| `angles.distance` | call | cy_angles_distance | CyAnglesDistance args | cy_angles_distance | cy.AnglesDistance | cy_angles_distance | angles_distance | (cy-angles-distance ...) | angles().distance() | `CALL "CY-ANGLES-DISTANCE"` | (angles-distance a b) | angles.distance() | Angles.Distance | cy_angles_distance | angles.distance | Clunkyard.angles_distance | clunkyard:angles_distance | cy-angles-distance | cy_angles_distance | Angles.Distance | Angles.Distance() | cyAnglesDistance | angles.distance() | `angles().distance(a, b)` | angles.distance | angles.distance | angles().distance() | angles:distance | cy_angles_distance | Planner.core_query("angles.distance", ...) | cy_angles_distance | Angles.distance robot | cy_angles_distance | $robot->angles->distance | angles->distance() | Angles.Distance | angles_distance | `cy.angles.distance(a, b)` | `angles$distance(a, b)` | angles.distance | angles.distance() | angles().distance() | angles.distance() | angles.distance() | `cy_angles_distance(a, b, &out)` | `cy_angles_distance(a, b, &out)` | — | — |
| `angles.clamp` | call | cy_angles_clamp | CyAnglesClamp args | cy_angles_clamp | cy.AnglesClamp | cy_angles_clamp | angles_clamp | (cy-angles-clamp ...) | angles().clamp() | `CALL "CY-ANGLES-CLAMP"` | (angles-clamp value low high) | angles.clamp() | Angles.Clamp | cy_angles_clamp | angles.clamp | Clunkyard.angles_clamp | clunkyard:angles_clamp | cy-angles-clamp | cy_angles_clamp | Angles.Clamp | Angles.Clamp() | cyAnglesClamp | angles.clamp() | `angles().clamp(value, low, high)` | angles.clamp | angles.clamp | angles().clamp() | angles:clamp | cy_angles_clamp | Planner.core_query("angles.clamp", ...) | cy_angles_clamp | Angles.clamp robot | cy_angles_clamp | $robot->angles->clamp | angles->clamp() | Angles.Clamp | angles_clamp | `cy.angles.clamp(value, low=-1, high=1)` | `angles$clamp(value, low = -1, high = 1)` | angles.clamp | angles.clamp() | angles().clamp() | angles.clamp() | angles.clamp() | `cy_angles_clamp(value, low, high, &out)` | `cy_angles_clamp(value, low, high, &out)` | — | — |
| `status.set` | control | cy_status_text, cy_status_value | CyStatusSet args | cy_status_text, cy_status_value | cy.StatusSet | cy_status_text, cy_status_value | status_set | (cy-status-set ...) | status().set() | `CALL "CY-STATUS-TEXT"`, `CALL "CY-STATUS-VALUE"` | (status-set robot) | status.set() | Status.Set | cy_status_text, cy_status_value | status.set | Clunkyard.status_set | clunkyard:status_set | cy-status-set-text | cy_status_text, cy_status_value | Status.Set | Status.Set() | cyStatusText, cyStatusValue | status.set() | `status().set(text, value)`, `status().set(Status.value(x))` | status.set | status.set | status().set() | status:set | cy_status_text, cy_status_value | Planner.core_query("status.set", ...) | cy_status_text, cy_status_value | Status.set robot | cy_status_text, cy_status_value | $robot->status->set | status->set() | Status.Set | status_set | `self.status.set(text=None, value=None)` | `bot$status$set(text = NULL, value = NULL)` | status.set | status.set() | status().set() | status.set() | status.set() | `cy_status_text(robot, text)`, `cy_status_value(robot, value)` | `cy_status_text(text)`, `cy_status_value(value)` | `status-text`, `status-value` | `status-text!`, `status-value!` |
| `status.get` | call | cy_status_get_text, cy_status_get_value | CyStatusGet args | cy_status_get_text, cy_status_get_value | cy.StatusGet | cy_status_get_text, cy_status_get_value | status_get | (cy-status-get ...) | status().get() | `CALL "CY-STATUS-GET-TEXT"`, `CALL "CY-STATUS-GET-VALUE"` | (status-get robot) | status.get_<field>() | Status.Get | cy_status_get_text, cy_status_get_value | status.get | Clunkyard.status_get | clunkyard:status_get | cy-status-get | cy_status_get_text, cy_status_get_value | Status.Get | Status.Get<Field>() | cyStatusGetText, cyStatusGetValue | status.get_<field>() | `status().get("text")` | status.get | status.get | status().get() | status:get | cy_status_get_text, cy_status_get_value | Planner.core_query("status.get", ...) | cy_status_get_text, cy_status_get_value | Status.get robot | cy_status_get_text, cy_status_get_value | $robot->status->get | status->get() | Status.Get | status_get | `self.status.get("text")` | `bot$status$get("text")` | status.get | status.get_<field>() | status().get() | status.get() | status.get() | `cy_status_get_text(robot, &buf, &length)`, `cy_status_get_value(robot, &out)` | `cy_status_get_text(&buf, &length)`, `cy_status_get_value(&out)` | — | — |
| `raw.number` | call | cy_raw_number | CyRawNumber args | cy_raw_number | cy.RawNumber | cy_raw_number | raw_number | (cy-raw-number ...) | raw().number() | `CALL "CY-RAW-NUMBER"` | (raw-number robot path) | raw.number() | Raw.Number | cy_raw_number | raw.number | Clunkyard.raw_number | clunkyard:raw_number | cy-raw-number | cy_raw_number | Raw.Number | Raw.Number() | cyRawNumber | raw.number() | `raw().number(path)` | raw.number | raw.number | raw().number() | raw:number | cy_raw_number | Planner.core_query("raw.number", ...) | cy_raw_number | Raw.number robot | cy_raw_number | $robot->raw->number | raw->number() | Raw.Number | raw_number | `self.raw.number(path)` | `bot$raw$number(path)` | raw.number | raw.number() | raw().number() | raw.number() | raw.number() | `cy_raw_number(robot, path, &out)` | `cy_raw_number(path, &out)` | — | — |
| `raw.text` | call | cy_raw_text | CyRawText args | cy_raw_text | cy.RawText | cy_raw_text | raw_text | (cy-raw-text ...) | raw().text() | `CALL "CY-RAW-TEXT"` | (raw-text robot path) | raw.text() | Raw.Text | cy_raw_text | raw.text | Clunkyard.raw_text | clunkyard:raw_text | cy-raw-text | cy_raw_text | Raw.Text | Raw.Text() | cyRawText | raw.text() | `raw().text(path)` | raw.text | raw.text | raw().text() | raw:text | cy_raw_text | Planner.core_query("raw.text", ...) | cy_raw_text | Raw.text robot | cy_raw_text | $robot->raw->text | raw->text() | Raw.Text | raw_text | `self.raw.text(path)` | `bot$raw$text(path)` | raw.text | raw.text() | raw().text() | raw.text() | raw.text() | `cy_raw_text(robot, path, &buf, &length)` | `cy_raw_text(path, &buf, &length)` | — | — |
| `raw.has` | call | cy_raw_has | CyRawHas args | cy_raw_has | cy.RawHas | cy_raw_has | raw_has | (cy-raw-has ...) | raw().has() | `CALL "CY-RAW-HAS"` | (raw-has robot path) | raw.has() | Raw.Has | cy_raw_has | raw.has | Clunkyard.raw_has | clunkyard:raw_has | cy-raw-has | cy_raw_has | Raw.Has | Raw.Has() | cyRawHas | raw.has() | `raw().has(path)` | raw.has | raw.has | raw().has() | raw:has | cy_raw_has | Planner.core_query("raw.has", ...) | cy_raw_has | Raw.has robot | cy_raw_has | $robot->raw->has | raw->has() | Raw.Has | raw_has | `self.raw.has(path)` | `bot$raw$has(path)` | raw.has | raw.has() | raw().has() | raw.has() | raw.has() | `cy_raw_has(robot, path, &out)` | `cy_raw_has(path, &out)` | — | — |
| `raw.flag` | call | cy_raw_flag | CyRawFlag args | cy_raw_flag | cy.RawFlag | cy_raw_flag | raw_flag | (cy-raw-flag ...) | raw().flag() | `CALL "CY-RAW-FLAG"` | (raw-flag robot path) | raw.flag() | Raw.Flag | cy_raw_flag | raw.flag | Clunkyard.raw_flag | clunkyard:raw_flag | cy-raw-flag | cy_raw_flag | Raw.Flag | Raw.Flag() | cyRawFlag | raw.flag() | `raw().flag(path)` | raw.flag | raw.flag | raw().flag() | raw:flag | cy_raw_flag | Planner.core_query("raw.flag", ...) | cy_raw_flag | Raw.flag robot | cy_raw_flag | $robot->raw->flag | raw->flag() | Raw.Flag | raw_flag | `self.raw.flag(path)` | `bot$raw$flag(path)` | raw.flag | raw.flag() | raw().flag() | raw.flag() | raw.flag() | `cy_raw_flag(robot, path, &out)` | `cy_raw_flag(path, &out)` | — | — |
| `raw.count` | call | cy_raw_count | CyRawCount args | cy_raw_count | cy.RawCount | cy_raw_count | raw_count | (cy-raw-count ...) | raw().count() | `CALL "CY-RAW-COUNT"` | (raw-count robot path) | raw.count() | Raw.Count | cy_raw_count | raw.count | Clunkyard.raw_count | clunkyard:raw_count | cy-raw-count | cy_raw_count | Raw.Count | Raw.Count() | cyRawCount | raw.count() | `raw().count(path)` | raw.count | raw.count | raw().count() | raw:count | cy_raw_count | Planner.core_query("raw.count", ...) | cy_raw_count | Raw.count robot | cy_raw_count | $robot->raw->count | raw->count() | Raw.Count | raw_count | `self.raw.count(path)` | `bot$raw$count(path)` | raw.count | raw.count() | raw().count() | raw.count() | raw.count() | `cy_raw_count(robot, path, &out)` | `cy_raw_count(path, &out)` | — | — |
| `raw.line` | call | cy_raw_line | CyRawLine args | cy_raw_line | cy.RawLine | cy_raw_line | raw_line | (cy-raw-line ...) | raw().line() | `CALL "CY-RAW-LINE"` | (raw-line robot) | raw.line() | Raw.Line | cy_raw_line | raw.line | Clunkyard.raw_line | clunkyard:raw_line | cy-raw-line | cy_raw_line | Raw.Line | Raw.Line() | cyRawLine | raw.line() | `raw().line()` | raw.line | raw.line | raw().line() | raw:line | cy_raw_line | Planner.core_query("raw.line", ...) | cy_raw_line | Raw.line robot | cy_raw_line | $robot->raw->line | raw->line() | Raw.Line | raw_line | `self.raw.line()` | `bot$raw$line()` | raw.line | raw.line() | raw().line() | raw.line() | raw.line() | `cy_raw_line(robot, &buf, &length)` | `cy_raw_line(&buf, &length)` | — | — |
| `raw.extra` | call | cy_raw_extra | CyRawExtra args | cy_raw_extra | cy.RawExtra | cy_raw_extra | raw_extra | (cy-raw-extra ...) | raw().extra() | `CALL "CY-RAW-EXTRA"` | (raw-extra robot json) | raw.extra() | Raw.Extra | cy_raw_extra | raw.extra | Clunkyard.raw_extra | clunkyard:raw_extra | cy-raw-extra | cy_raw_extra | Raw.Extra | Raw.Extra() | cyRawExtra | raw.extra() | `raw().extra(json)` | raw.extra | raw.extra | raw().extra() | raw:extra | cy_raw_extra | Planner.core_query("raw.extra", ...) | cy_raw_extra | Raw.extra robot | cy_raw_extra | $robot->raw->extra | raw->extra() | Raw.Extra | raw_extra | `self.raw.extra(json)` | `bot$raw$extra(json)` | raw.extra | raw.extra() | raw().extra() | raw.extra() | raw.extra() | `cy_raw_extra(robot, json)` | `cy_raw_extra(json)` | — | — |
| `session.event` | property | cy_session_event | CySessionEvent args | cy_session_event | cy.SessionEvent | cy_session_event | session_event | (cy-session-event ...) | session().event() | `CY-SESSION-EVENT` | (session-event robot) | session.event() | Session.Event | cy_session_event | session.event | Clunkyard.session_event | clunkyard:session_event | cy-session-event | cy_session_event | Session.Event | Session.Event() | cySessionEvent | session.event() | — | session.event | session.event | session().event() | session:event | cy_session_event | Planner.core_query("session.event", ...) | cy_session_event | Session.event robot | cy_session_event | $robot->session->event | session->event() | Session.Event | session_event | — | — | session.event | session.event() | session().event() | session.event | session.event() | `cy_session_event(robot, &out)` | — | — | — |
| `session.next` | call | cy_session_next | CySessionNext args | cy_session_next | cy.SessionNext | cy_session_next | session_next | (cy-session-next ...) | session().next() | `CALL "CY-SESSION-NEXT"` | (session-next robot) | session.next() | Session.Next | cy_session_next | session.next | Clunkyard.session_next | clunkyard:session_next | cy-session-next | cy_session_next | Session.Next | Session.Next() | cySessionNext | session.next() | `session().next()` | session.next | session.next | session().next() | session:next | cy_session_next | Planner.core_query("session.next", ...) | cy_session_next | Session.next robot | cy_session_next | $robot->session->next | session->next() | Session.Next | session_next | `self.session.next()` | — | session.next | session.next() | session().next() | session.next() | session.next() | `cy_session_next(robot, &out)` | — | — | — |
| `session.send` | call | cy_session_send | CySessionSend args | cy_session_send | cy.SessionSend | cy_session_send | session_send | (cy-session-send ...) | session().send() | `CALL "CY-SESSION-SEND"` | (session-send robot) | session.send() | Session.Send | cy_session_send | session.send | Clunkyard.session_send | clunkyard:session_send | cy-session-send | cy_session_send | Session.Send | Session.Send() | cySessionSend | session.send() | `session().send()` | session.send | session.send | session().send() | session:send | cy_session_send | Planner.core_query("session.send", ...) | cy_session_send | Session.send robot | cy_session_send | $robot->session->send | session->send() | Session.Send | session_send | `self.session.send()` | — | session.send | session.send() | session().send() | session.send() | session.send() | `cy_session_send(robot)` | — | — | — |
| `session.forfeit` | call | cy_session_forfeit | CySessionForfeit args | cy_session_forfeit | cy.SessionForfeit | cy_session_forfeit | session_forfeit | (cy-session-forfeit ...) | session().forfeit() | `CALL "CY-SESSION-FORFEIT"` | (session-forfeit robot code message) | session.forfeit() | Session.Forfeit | cy_session_forfeit | session.forfeit | Clunkyard.session_forfeit | clunkyard:session_forfeit | cy-session-forfeit | cy_session_forfeit | Session.Forfeit | Session.Forfeit() | cySessionForfeit | session.forfeit() | `session().forfeit(code, message)` | session.forfeit | session.forfeit | session().forfeit() | session:forfeit | cy_session_forfeit | Planner.core_query("session.forfeit", ...) | cy_session_forfeit | Session.forfeit robot | cy_session_forfeit | $robot->session->forfeit | session->forfeit() | Session.Forfeit | session_forfeit | `self.session.forfeit(code, message)` | — | session.forfeit | session.forfeit() | session().forfeit() | session.forfeit() | session.forfeit() | `cy_session_forfeit(robot, code, message)` | — | — | — |
| `session.log` | call | cy_session_log | CySessionLog args | cy_session_log | cy.SessionLog | cy_session_log | session_log | (cy-session-log ...) | session().log() | `CALL "CY-SESSION-LOG"` | (session-log robot line) | session.log() | Session.Log | cy_session_log | session.log | Clunkyard.session_log | clunkyard:session_log | cy-session-log | cy_session_log | Session.Log | Session.Log() | cySessionLog | session.log() | `session().log(line)` | session.log | session.log | session().log() | session:log | cy_session_log | Planner.core_query("session.log", ...) | cy_session_log | Session.log robot | cy_session_log | $robot->session->log | session->log() | Session.Log | session_log | `self.session.log(line)` | — | session.log | session.log() | session().log() | session.log() | session.log() | `cy_session_log(robot, line)` | `cy_session_log(line)` | — | — |
| `session.feed` | call | cy_session_feed | CySessionFeed args | cy_session_feed | cy.SessionFeed | cy_session_feed | session_feed | (cy-session-feed ...) | session().feed() | `CALL "CY-SESSION-FEED"` | (session-feed robot line) | session.feed() | Session.Feed | cy_session_feed | session.feed | Clunkyard.session_feed | clunkyard:session_feed | cy-session-feed | cy_session_feed | Session.Feed | Session.Feed() | cySessionFeed | session.feed() | — | session.feed | session.feed | session().feed() | session:feed | cy_session_feed | Planner.core_query("session.feed", ...) | cy_session_feed | Session.feed robot | cy_session_feed | $robot->session->feed | session->feed() | Session.Feed | session_feed | — | — | session.feed | session.feed() | session().feed() | session.feed() | session.feed() | `cy_session_feed(robot, line)` | — | — | — |
| `session.reply` | call | cy_session_reply | CySessionReply args | cy_session_reply | cy.SessionReply | cy_session_reply | session_reply | (cy-session-reply ...) | session().reply() | `CALL "CY-SESSION-REPLY"` | (session-reply robot) | session.reply() | Session.Reply | cy_session_reply | session.reply | Clunkyard.session_reply | clunkyard:session_reply | cy-session-reply | cy_session_reply | Session.Reply | Session.Reply() | cySessionReply | session.reply() | — | session.reply | session.reply | session().reply() | session:reply | cy_session_reply | Planner.core_query("session.reply", ...) | cy_session_reply | Session.reply robot | cy_session_reply | $robot->session->reply | session->reply() | Session.Reply | session_reply | — | — | session.reply | session.reply() | session().reply() | session.reply() | session.reply() | `cy_session_reply(robot, &buf, &length)` | — | — | — |

## DSL words

| Word | Type | Reads | Fact |
| --- | --- | --- | --- |
| `ruleset` | text | `match.ruleset` | The ruleset in play. |
| `physics-mode` | boolean | `match.ruleset` is not `classic` | The ruleset in play. |
| `zero-g` | boolean | `match.ruleset` is `zero-g` | The ruleset in play. |
| `control-model` | text | `match.control` | Whether the drive sets speeds (direct) or forces. |
| `inertial` | boolean | `match.control` is `forces` | Whether the drive sets speeds (direct) or forces. |
| `mode3` | boolean | `match.is_3d` | The match is 3D. |
| `tick` | number | `clock.tick` | This tick, from 0. |
| `time` | number | `clock.seconds` | The match time in seconds. |
| `remaining` | number | `clock.remaining_ticks` | Ticks left: match.max_ticks less this tick. |
| `width` | number | `arena.size`.x | The arena runs from 0 to this on each axis. |
| `height` | number | `arena.size`.y | The arena runs from 0 to this on each axis. |
| `depth` | number | `arena.size`.z | The arena runs from 0 to this on each axis. |
| `gravity-x` | number | `arena.gravity`.x | The acceleration of gravity, units/s². |
| `gravity-y` | number | `arena.gravity`.y | The acceleration of gravity, units/s². |
| `gravity-z` | number | `arena.gravity`.z | The acceleration of gravity, units/s². |
| `terrain-kind` | text | `arena.terrain_kind` | The kind of ground: none, flat or hills. |
| `hills` | boolean | `arena.terrain_kind` is `hills` | The kind of ground: none, flat or hills. |
| `health` | number | `me.health` | Health left. |
| `x` | number | `me.position`.x | Your centre. |
| `y` | number | `me.position`.y | Your centre. |
| `z` | number | `me.position`.z | Your centre. |
| `vx` | number | `me.velocity`.x | Your velocity, units/s. |
| `vy` | number | `me.velocity`.y | Your velocity, units/s. |
| `vz` | number | `me.velocity`.z | Your velocity, units/s. |
| `heading` | number | `me.heading` | Your chassis heading. |
| `pitch` | number | `me.pitch` | Your chassis pitch; 0 in 2D. |
| `yaw-rate` | number | `me.angular_velocity`.yaw | Your rotation rates, degrees/s. |
| `pitch-rate` | number | `me.angular_velocity`.pitch | Your rotation rates, degrees/s. |
| `roll-rate` | number | `me.angular_velocity`.roll | Your rotation rates, degrees/s. |
| `forward-x` | number | `me.attitude`.forward.x | Your chassis axes in world axes. |
| `forward-y` | number | `me.attitude`.forward.y | Your chassis axes in world axes. |
| `forward-z` | number | `me.attitude`.forward.z | Your chassis axes in world axes. |
| `right-x` | number | `me.attitude`.right.x | Your chassis axes in world axes. |
| `right-y` | number | `me.attitude`.right.y | Your chassis axes in world axes. |
| `right-z` | number | `me.attitude`.right.z | Your chassis axes in world axes. |
| `up-x` | number | `me.attitude`.up.x | Your chassis axes in world axes. |
| `up-y` | number | `me.attitude`.up.y | Your chassis axes in world axes. |
| `up-z` | number | `me.attitude`.up.z | Your chassis axes in world axes. |
| `grounded` | boolean | `me.grounded` | You rest on the ground, under gravity. |
| `altitude` | number | `me.altitude` | In 3D, the height of your underside above the ground. |
| `battery` | number | `battery.charge` | Charge now, before this tick's regeneration and driving. |
| `battery-capacity` | number | `battery.capacity` | Charge when full. |
| `aim` | number | `gun.aim_now`.heading | Where the turret points now; a shot leaves along it. |
| `aim-pitch` | number | `gun.aim_now`.pitch | Where the turret points now; a shot leaves along it. |
| `cooldown` | number | `gun.cooldown_ticks` | Ticks until the gun can fire; 0 means it can fire this tick. |
| `scan-heading` | number | `scanner.last`.heading | The scan that produced this tick's contacts. |
| `scan-pitch` | number | `scanner.last`.pitch | The scan that produced this tick's contacts. |
| `scan-arc` | number | `scanner.last`.arc | The scan that produced this tick's contacts. |
| `scan-range` | number | `scanner.last`.range | The scan that produced this tick's contacts. |
| `contact` | boolean | `sensors.nearest` is present | The nearest precise contact this tick. Passive contacts are never returned. |
| `range` | number | `sensors.nearest`.range, or 1000000000000 when absent | The nearest precise contact this tick. Passive contacts are never returned. |
| `bearing` | number | `sensors.nearest`.bearing, or `me.heading` when absent | The nearest precise contact this tick. Passive contacts are never returned. |
| `elevation` | number | `sensors.nearest`.elevation, or 0 when absent | The nearest precise contact this tick. Passive contacts are never returned. |
| `cue-present` | boolean | `tracker.cue` is present | The most accurate passive contact heard in the last cue_ticks (60 by default), or absent. |
| `cue-error` | number | `tracker.cue`.bearing_error, or 0 when absent | The most accurate passive contact heard in the last cue_ticks (60 by default), or absent. |
| `bearing-rate` | number | `tracker.nearest_bearing_rate` | How fast the nearest contact's bearing turns, from two sightings. |
| `zone-active` | boolean | `nav.zone` is present | The sudden-death safe zone, once sudden death starts. |
| `zone-radius` | number | `nav.zone`.radius, or 0 when absent | The sudden-death safe zone, once sudden death starts. |
| `storm-active` | boolean | `nav.storm` is present | The storm, once it enters. |
| `storm-radius` | number | `nav.storm`.radius, or 0 when absent | The storm, once it enters. |
| `hill-active` | boolean | `nav.hill` is present | The hill, once it appears. |
| `hill-radius` | number | `nav.hill`.radius, or 0 when absent | The hill, once it appears. |
| `score` | number | `score.me`, or 0 when absent | Your score; absent when the match does not score. |
| `score-best` | number | `score.best`, or 0 when absent | The best other robot's score; absent when the match does not score. |
| `speed` | number | derived in the core | Your speed: the length of me.velocity. |
| `gravity` | boolean | derived in the core | Gravity is on: arena.gravity.z is not 0. |
| `terrain-height` | number | `state.self.groundHeight`, or 0 | The ground height under you. |
| `battery-fraction` | number | derived in the core | battery.charge over battery.capacity; 0 with no capacity. |
| `aim-error` | number | derived in the core | The nearest contact's bearing less gun.aim_now's heading, -180 to 180; 0 with no contact. |
| `power-min` | number | `hello.gun.power.min`, or 0 | The lowest shot power. |
| `power-max` | number | `hello.gun.power.max`, or 0 | The highest shot power. |
| `shot-speed-base` | number | `hello.gun.shotSpeed.base`, or 0 | Shot speed at power 0. |
| `shot-speed-per-power` | number | `hello.gun.shotSpeed.perPower`, or 0 | Shot speed added per unit of power. |
| `shot-cost-base` | number | `hello.gun.cost.base`, or 0 | Shot cost at power 0. |
| `shot-cost-per-power` | number | `hello.gun.cost.perPower`, or 0 | Shot cost added per unit of power. |
| `zone-distance` | number | derived in the core | The distance from you to the zone's centre; 0 before sudden death. |
| `zone-bearing` | number | derived in the core | The heading from you to the zone's centre; your heading before sudden death. |
| `zone-elevation` | number | derived in the core | The elevation from you to the zone's centre; 0 before sudden death. |
| `storm-distance` | number | derived in the core | The planar distance from you to the storm's edge, negative inside; 1000000000000 with no storm. |
| `storm-bearing` | number | derived in the core | The heading from you to the storm's centre; your heading with no storm. |
| `storm-heading` | number | derived in the core | The heading the storm moves along; 0 at rest or with no storm. |
| `cue-muzzle` | boolean | derived in the core | The cue came from a shot. |
| `cue-bearing` | number | derived in the core | The heading from you to where the cue placed its robot; your heading with no cue. |
| `cue-elevation` | number | derived in the core | The elevation from you to where the cue placed its robot; 0 with no cue. |
| `cue-range` | number | derived in the core | The distance from you to where the cue placed its robot; 1000000000000 with no cue. |
| `cue-age` | number | derived in the core | Ticks since the cue was heard; 0 with no cue. |
| `pickup-present` | boolean | derived in the core | A pickup of any kind is on the field. |
| `pickup-bearing` | number | derived in the core | The heading to the nearest pickup; your heading with none. |
| `pickup-elevation` | number | derived in the core | The elevation to the nearest pickup in 3D without gravity; 0 otherwise. |
| `pickup-range` | number | derived in the core | The field distance to the nearest pickup; 1000000000000 with none. |
| `on-hill` | boolean | derived in the core | You are inside the hill. |
| `hill-held` | boolean | derived in the core | You hold the hill. |
| `hill-bearing` | number | derived in the core | The heading to the hill's centre; your heading with no hill. |
| `hill-elevation` | number | derived in the core | The elevation to the hill's centre in 3D without gravity; 0 otherwise. |
| `hill-range` | number | derived in the core | The distance to the hill's centre; 1000000000000 with no hill. |
| `hill-time` | number | derived in the core | Seconds you have held the hill. |
| `hill-to-win` | number | derived in the core | Seconds of holding still needed to win; 0 when holding never wins. |
| `energy` | as aliased | the same as `battery` | The older name of battery. |
| `max-energy` | as aliased | the same as `battery-capacity` | The older name of battery-capacity. |
| `energy-fraction` | as aliased | the same as `battery-fraction` | The older name of battery-fraction. |
| `fire-base` | as aliased | the same as `shot-cost-base` | The older name of shot-cost-base. |
| `fire-per-power` | as aliased | the same as `shot-cost-per-power` | The older name of shot-cost-per-power. |

## DSL controls

| Keyword | Glyph | Sets | Range |
| --- | --- | --- | --- |
| `drive` | `drive!` | `act.drive.throttle` | -1 to 1 |
| `turn` | `turn!` | `act.drive.turn` | -1 to 1 |
| `pitch` | `pitch-turn!` | `act.drive.pitchTurn` | -1 to 1 |
| `thrust` | `thrust!` | `act.forces.thrust` | -1 to 1 |
| `strafe` | `strafe!` | `act.forces.strafe` | -1 to 1 |
| `lift` | `lift!` | `act.forces.lift` | -1 to 1 |
| `yaw-torque` | `yaw-torque!` | `act.forces.yawTorque` | -1 to 1 |
| `pitch-torque` | `pitch-torque!` | `act.forces.pitchTorque` | -1 to 1 |
| `roll-torque` | `roll-torque!` | `act.forces.rollTorque` | -1 to 1 |
| `brake` | `brake!` | `act.forces.brake` | 0 to 1 |
| `aim-heading` | `aim!` | `act.aim.heading` | — |
| `aim-pitch` | `aim-pitch!` | `act.aim.pitch` | — |
| `fire` | `fire!` | `act.fire` | — |
| `power` | `power!` | `act.fire.power` | — |
| `scan-heading` | `scan-heading!` | `act.scan.heading` | — |
| `scan-arc` | `scan-arc!` | `act.scan.arc` | — |
| `scan-pitch` | `scan-pitch!` | `act.scan.pitch` | — |
| `status-text` | `status-text!` | `act.status.text` | — |
| `status-value` | `status-value!` | `act.status.value` | — |
