Introdução

Por onde começar

Um mesmo conteúdo em três profundidades: abra a que responde à pergunta de agora.

Esta é a versão de consulta. O conteúdo está aqui inteiro, quebrado em páginas curtas e pesquisáveis. Serve a quem chegou com uma dúvida pontual e quer sair com ela resolvida, e também a quem prefere ler tudo em ordem.

Você chegou com pressa ou com tempo? A resposta muda o que abrir primeiro. Quem tem uma dúvida cirúrgica ganha tempo indo direto ao capítulo do assunto pela barra lateral. Quem está começando do zero faz melhor lendo na ordem em que os capítulos aparecem. Eles se apoiam uns nos outros, e a ordem não é decorativa.

Três níveis de profundidade

O texto longo é a versão completa: teoria, derivação, código comentado e as armadilhas de cada tema. É o que se lê quando o assunto é novo e a intenção é entender, não relembrar.

A versão reduzida cobre o mesmo terreno em uma fração do tamanho. Ela existe para a segunda passagem, quando você já viu o assunto e quer o essencial de volta na cabeça. Repare que ela corta a discussão, não o conteúdo: o que aparece ali é fiel ao texto longo.

Já o resumo é menor ainda, e serve a um único momento — a revisão de véspera, com o código na tela ao lado. Claro que ninguém aprende por ele. Todo mundo se salva com ele.

Ao fim de cada capítulo há três exercícios, do básico ao desafiador, sem resposta publicada. E há um banco de questões de resposta curta, que serve para descobrir rápido o que você acha que entendeu e não entendeu.

O que se constrói pelo caminho

O projeto que acompanha estas páginas é uma oficina de montagem servida em três regimes pelo mesmo endereço: janela no computador, visor na cabeça e câmera apontada para uma superfície de verdade. Peças 3D, um suporte com encaixes, e uma ordem correta de montagem.

flowchart LR
    U["Um endereco unico"] --> S{"O que este<br/>aparelho declara?"}
    S -->|"nenhuma sessao"| D["Janela no desktop:<br/>camera em orbita,<br/>ponteiro do cursor"]
    S -->|"sessao imersiva"| V["Visor:<br/>escala real,<br/>raio do controle"]
    S -->|"sessao sobre o real"| A["Camera:<br/>objeto pousado<br/>na superficie fisica"]
    D --> M["A mesma logica<br/>de montagem"]
    V --> M
    A --> M

Veja o que o desenho esconde de mais importante. A lógica de montagem é uma só, e ela não sabe em que regime está rodando. Mouse, controle e dedo são plugues diferentes na mesma tomada — a lógica de montagem só enxerga a tomada.

Isso tem uma consequência prática para quem lê fora de ordem. O ambiente cresce por camadas, e cada capítulo entrega a camada que o próximo pressupõe. Pular um deixa um buraco que não some: ele reaparece adiante, disfarçado de bug difícil.

Uma rotina que se sustenta

São 14 capítulos, e cada um pede mais ou menos o mesmo de você: metade do esforço em leitura, metade em teclado. Duas sessões, portanto — pois é assim que o assunto assenta. Na primeira, leia o capítulo inteiro sem parar para implementar. Na segunda, abra o editor e reconstrua o que leu, no seu próprio ambiente.

Por que essa ordem, e não implementar enquanto lê? Porque parar a cada bloco de código transforma a leitura em transcrição. O que fixa o conteúdo é reconstruir depois, com o texto fechado, descobrindo onde a memória falhou.

Duas dependências merecem cuidado especial, e vale saber delas desde já. A camada de entrada precisa estar escrita como abstração antes de o ambiente imersivo entrar em cena. E o custo de cada quadro precisa estar medido antes disso também — o que passa despercebido numa janela vira mal-estar físico quando o mundo está a poucos centímetros dos olhos.

Uma última recomendação, e ela é de hardware. Boa parte do que está aqui roda no computador comum, sem equipamento nenhum. Comece por aí. O visor confirma o que você construiu; ele não constrói nada por você.