Compilar o Código-fonte
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 GUIturian-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
- Crie
engine/components/MyComponent.zig:pub const MyComponent = struct { value: f32 = 1.0, }; - Registre-o em
engine/components/root.zig. - Adicione uma tag à union
Componentemengine/scene/Component.zig. - Atualize
BuiltinEntry.zigescanner.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.