# `Cauldron3D.Hull.Trace`
[🔗](https://github.com/jaman/cauldron/blob/v0.2.2/cauldron_3d/lib/cauldron_3d/hull.ex#L20)

What a traced move ran into.

  * `fraction` — how much of the move was made, 1.0 when nothing was hit
  * `end_pos` — where it stopped
  * `normal`, `distance` — the plane hit, facing back along the move
  * `all_solid` — the whole move was inside solid
  * `start_solid` — it started inside solid
  * `in_open`, `in_water` — whether it passed through empty or liquid space
  * `hit` — what was hit, for the caller to fill in; `nil` from a hull

# `t`

```elixir
@type t() :: %Cauldron3D.Hull.Trace{
  all_solid: boolean(),
  distance: float(),
  end_pos: Cauldron3D.Vec.t(),
  fraction: float(),
  hit: term(),
  in_open: boolean(),
  in_water: boolean(),
  normal: Cauldron3D.Vec.t(),
  start_solid: boolean()
}
```

---

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