# `Snakepit.Error.Shape`
[🔗](https://github.com/nshkrdotcom/snakepit/blob/v0.13.0/lib/snakepit/error/shape.ex#L48)

Shape error creation helpers.

Provides functions for creating detailed shape mismatch errors
with automatic dimension detection and telemetry emission.

# `broadcast_error`

```elixir
@spec broadcast_error([integer()], [integer()], String.t()) ::
  Snakepit.Error.ShapeMismatch.t()
```

Creates a broadcast error.

Use when shapes cannot be broadcast together.

# `dimension_mismatch`

```elixir
@spec dimension_mismatch(non_neg_integer(), integer(), integer(), String.t()) ::
  Snakepit.Error.ShapeMismatch.t()
```

Creates a dimension-specific mismatch error.

Use when you know exactly which dimension has the mismatch.

# `shape_mismatch`

```elixir
@spec shape_mismatch([integer()], [integer()], String.t()) ::
  Snakepit.Error.ShapeMismatch.t()
```

Creates a shape mismatch error.

Automatically detects which dimension differs and emits telemetry.

## Examples

    error = Shape.shape_mismatch([3, 224, 224], [3, 256, 256], "conv2d")

---

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