# `Emerge.Engine.VNode`
[🔗](https://github.com/emerge-elixir/emerge/blob/v0.2.1/lib/emerge/engine/vnode.ex#L1)

Internal virtual node that keeps identity and keys for reconciliation.

# `t`

```elixir
@type t() :: %Emerge.Engine.VNode{
  attrs: map(),
  children: [t()],
  id: term(),
  key: term() | nil,
  kind: atom(),
  nearby: [{atom(), t()}]
}
```

---

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