# `Monty.Frameworks.Environments.PositioningProcedures.PositioningProcedureResult`
[🔗](https://github.com/d-led/ex.tbp.monty/blob/v0.1.0/packages/ex_tbp_monty_core/lib/monty/frameworks/positioning_procedures/positioning_procedure_result.ex#L1)

What a positioning procedure decided, and why it stopped.

Mirrors
`tbp/monty/frameworks/environments/positioning_procedures.py::PositioningProcedureResult`.
Three endings, and a procedure says which one it reached: `success` the sensor
ended up on the object, `terminated` it is done (which is also how a successful
step ends), and `truncated` it gave up — no attempt left to turn towards the
object, so the episode starts with the sensor where it happens to be.

# `action`

```elixir
@type action() :: Monty.Frameworks.Actions.Action.t()
```

# `t`

```elixir
@type t() ::
  %Monty.Frameworks.Environments.PositioningProcedures.PositioningProcedureResult{
    actions: [action()],
    success: boolean(),
    terminated: boolean(),
    truncated: boolean()
  }
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
