# `Monty.Frameworks.Models.Salience.Telemetry.DetailedSalienceSMTelemetry`
[🔗](https://github.com/d-led/ex.tbp.monty/blob/v0.1.0/packages/ex_tbp_monty_core/lib/monty/frameworks/models/salience/telemetry/detailed_salience_sm_telemetry.ex#L1)

A recorder that keeps every step of a salience module's reasoning.

Mirrors
`tbp/monty/frameworks/models/salience/telemetry.py::DetailedSalienceSMTelemetry`:
the raw observation and the sensor's pose, the salience map the strategy
scored, the segmentation mask and the region it proposed, and the goals.

Monty appends to lists; this holds them newest first, which is how a list is
cheapest to grow, and `state_dict/1` hands them back in the order they were
taken.

# `pose`

```elixir
@type pose() :: %{sm_rotation: [float()], sm_location: [float()]}
```

# `t`

```elixir
@type t() :: %Monty.Frameworks.Models.Salience.Telemetry.DetailedSalienceSMTelemetry{
  attention_regions: [Monty.Cmp.AttentionRegion.t()],
  goals: [[Monty.Cmp.Goal.t()]],
  poses: [pose()],
  raw_observations: [map()],
  salience_maps: [[[float()]]],
  segmentation_maps: [[[number()]]]
}
```

# `new`

```elixir
@spec new() :: t()
```

---

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