# `AshUi.RenderTree.Path`
[🔗](https://github.com/hyperbob-labs/ash_ui/blob/main/lib/ash_ui/render_tree/path.ex#L1)

Render-tree node addressing: keyed nodes use `{:key, key}` segments,
unkeyed nodes match positionally with `{:index, index}` segments. These
paths are the stable addresses the patch ops target and the id scheme the
HTML renderer and binding collector already emit.

# `path`

```elixir
@type path() :: [term()]
```

# `child_path`

```elixir
@spec child_path(path(), term(), non_neg_integer()) :: path()
```

# `node_path_segment`

```elixir
@spec node_path_segment(term(), non_neg_integer()) :: term()
```

# `root_path`

```elixir
@spec root_path(term()) :: path()
```

---

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