- Zig 70.8%
- C 21.9%
- C++ 4.7%
- Python 1.5%
- GLSL 1.1%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
- Added a new `application.zig` file that implements a deterministic application host for the CardinalEngine, managing simulation ticks, frame limits, and lifecycle callbacks. - Introduced `RuntimeMode` enum in `engine.zig` to differentiate between game, editor, and headless modes. - Enhanced `CardinalEngine` to support creation with options for different runtime modes. - Updated `EngineServices` to include resource lifecycle management through `asset_services`. - Added tests for the new fixed-step clock and run configuration validation. - Documented modernization acceptance criteria in a new `Modernization-Acceptance.md` file. - Updated development workflow documentation to include modernization gates. |
||
| .forgejo/workflows | ||
| .vscode | ||
| assets | ||
| build | ||
| client/src | ||
| editor | ||
| engine | ||
| game | ||
| libs | ||
| scripts | ||
| tools | ||
| wiki | ||
| .clang-format | ||
| .editorconfig | ||
| .gitattributes | ||
| .gitignore | ||
| .gitmodules | ||
| build.zig | ||
| build.zig.zon | ||
| cardinal_config.json | ||
| imgui.ini | ||
| LICENSE | ||
| README.md | ||
Cardinal Engine
Cardinal is an experimental 3D engine and editor written in Zig. It uses Vulkan for rendering, GLFW for platform integration, and Dear ImGui for editor UI.
The repository targets Zig 0.17.0-dev.1398+cb5635714. See
Getting Started for platform prerequisites and setup details.
Quick start
git clone --recurse-submodules https://gitty.ryuum3gum1n.de/Ryuu/Cardinal.git
cd Cardinal
zig build
zig build run-editor
Common commands
| Command | Purpose |
|---|---|
zig build |
Build and install applications and runtime assets |
zig build check |
Check architecture and compile all targets |
zig build test |
Run the engine test suite |
zig build run-editor |
Build assets and run the editor |
zig build run-client |
Build assets and run the client |
The Build System page lists every target and option.
Repository layout
assets/ Engine runtime resources and shader sources
client/ Standalone runtime application
editor/ Editor application and ImGui bridge
engine/ Engine modules and tests
libs/ Pinned third-party dependencies
scripts/ Optional developer utilities
build/ Native dependency and runtime build helpers
build.zig Canonical build orchestration
build.zig.zon Package metadata and minimum Zig version
The editor creates games under the user's Documents/Cardinal/<game-name> folder by default.
The projects location and game subfolder name are both selected in the workspace manager.
Documentation
Long-form documentation lives in the Cardinal Forgejo wiki.
Its canonical Markdown source is kept in wiki/ and published by Forgejo Actions after
changes reach main. Start with the engine architecture,
renderer architecture, or documentation guidelines.