# Basic Entities

The World Explorer [reserva uma faixa](https://github.com/decentraland/docs/blob/main/contributor/runtime/modules/engine_api/README.md#identifying) de IDs de entidade para uso próprio. Deste intervalo, os identificadores `0`, `1` e `2` são pré-atribuídos a um conjunto de entidades básicas garantidas a existir.

Estas são:

* `0`: `RootEntity`
* `1`: `PlayerEntity`
* `2`: `CameraEntity`

Essas entidades têm um conjunto conhecido de componentes anexados que são gerenciados pelo runtime, ou seja, seu estado é somente leitura para a cena. Obter o estado inicial desses componentes faz parte da [inicialização da cena](https://github.com/decentraland/docs/blob/main/contributor/runtime/execution/README.md#onStart).

{% hint style="info" %}
Componentes adicionais para essas entidades estão em desenvolvimento. O [CRDT synchronization mechanism](https://github.com/decentraland/docs/blob/main/contributor/runtime/modules/engine_api/README.md#synchronization) está se expandindo para fornecer parte da funcionalidade oferecida por diferentes módulos.

Por exemplo, as cenas poderão detectar o estado da janela do Explorer para otimizar seu uso de rede e CPU, ou acessar informações mais ricas sobre o jogador, o sistema de comms e a câmera do jogo.
{% endhint %}

**`RootEntity` (`0`)**

Mantém informações gerais sobre o contexto da cena.

* [`Transform`](https://github.com/decentraland/docs/blob/main/contributor/runtime/components/README.md#Transform): informação posicional do ponto de origem da cena, à qual todos os outros transforms sem um pai explícito são relativos.

O `Transform` componente do `RootEntity` é inicializado com os seguintes valores:

```yml
scale: [1, 1, 1] # XYZ
position: [0, 0, 0] # XYZ
rotation: [0, 0, 0, 1] # XYZW
```

**`PlayerEntity` (`1`)**

Contém dados sobre o jogador, sua identidade, seu avatar e localização.

* [`Transform`](https://github.com/decentraland/docs/blob/main/contributor/runtime/components/README.md#Transform): a informação posicional do avatar do jogador.

**`CameraEntity` (`2`)**

Contém informações sobre a câmera do jogo. Todos os componentes são gerenciados pelo renderer.

* [`Transform`](https://github.com/decentraland/docs/blob/main/contributor/runtime/components/README.md#Transform): a informação posicional da própria câmera.
* [`PointerLocked`](https://github.com/decentraland/docs/blob/main/contributor/runtime/components/README.md#PointerLocked): se o pointer segue a direção da câmera ou se move de forma independente.
