# `BB.TUI.State.Joints`
[🔗](https://github.com/mcass19/bb_tui/blob/v0.3.0/lib/bb/tui/state/joints.ex#L1)

Joint positions and selection, split out of `BB.TUI.State`.

`entries` maps each joint name to its `%{joint:, position:, target:}` data
(the joints panel renders from it); `selected` is the highlighted row index.
`entries` is seeded when `BB.TUI.App` starts.

# `t`

```elixir
@type t() :: %BB.TUI.State.Joints{
  entries: %{required(atom()) =&gt; %{position: float(), joint: term()}},
  selected: non_neg_integer()
}
```

---

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