Compilar o Código-fonte

Esta página foi traduzida automaticamente e pode conter erros. Encontrou um problema? Use o link "Edit this page" para ajudar a corrigir.

Para contribuidores e desenvolvedores que desejam trabalhar na próprio engine.

Requisitos

Ferramenta Versão Notas
Zig 0.16.0 exatamente 0.15 e anteriores não são suportados
Git qualquer
Git LFS qualquer Necessário para assets binários em examples/

Clonar e compilar

git lfs install            # uma vez por máquina
git clone {{< param repo >}}.git
cd turian

zig build          # compila o studio + CLI (Debug)
zig build run      # compila e inicia o Turian Studio
zig build test     # executa todos os testes unitários
zig build ci       # testes + ReleaseFast (idêntico ao CI)

Os binários de saída ficam em zig-out/bin/:

  • turian-studio — o editor GUI
  • turian-cli — a CLI headless

Uso da CLI (a partir do código-fonte)

./zig-out/bin/turian-cli new-project ../my-game "My Game"
./zig-out/bin/turian-cli info        ../my-game
./zig-out/bin/turian-cli build       ../my-game

Adicionando um componente nativo

  1. Crie engine/components/MyComponent.zig:
    pub const MyComponent = struct {
        value: f32 = 1.0,
    };
    
  2. Registre-o em engine/components/root.zig.
  3. Adicione uma tag à union Component em engine/scene/Component.zig.
  4. Atualize BuiltinEntry.zig e scanner.zig (populateBuiltins).

Executando testes

zig build test

Os testes ficam inline nos arquivos de código-fonte usando os blocos test nativos do Zig.

Suporte de plataformas e cross-compiling

O Studio e a CLI compilam e rodam em Linux, Windows e macOS. O Studio usa SDL3-GPU e prefere um dispositivo Vulkan (necessário para a viewport 3D SPIRV), recorrendo ao padrão da plataforma (D3D12 no Windows, Metal no macOS) quando o Vulkan não está disponível — nesse caso, a interface do editor continua funcionando normalmente e apenas a viewport 3D da cena exibe "unavailable".

O Zig faz cross-compiling de todo o Studio a partir do Linux sem precisar de um toolchain do Windows (SDL3, dvui e freetype são todos compilados a partir do código-fonte):

zig build -Dtarget=x86_64-windows-gnu -Dno-test

O turian-studio.exe resultante é autocontido (o SDL3 é vinculado estaticamente) e pode ser testado (smoke-tested) sob o Wine.


← Toda a documentação Editar esta página