No description
  • Zig 70.8%
  • C 21.9%
  • C++ 4.7%
  • Python 1.5%
  • GLSL 1.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
official-markus-maurer 30a7fb409c
Some checks failed
CI / build-and-test (Debug) (push) Has been cancelled
CI / build-and-test (ReleaseFast) (push) Has been cancelled
Wiki / build-and-publish (push) Has been cancelled
feat: Introduce Application Layer and Runtime Modes
- 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.
2026-07-16 14:13:20 +02:00
.forgejo/workflows feat: Introduce Application Layer and Runtime Modes 2026-07-16 14:13:20 +02:00
.vscode Add comprehensive documentation for Cardinal engine and editor 2026-07-15 19:30:32 +02:00
assets feat: Introduce Application Layer and Runtime Modes 2026-07-16 14:13:20 +02:00
build Refactor RenderWorld and EngineServices for improved asset management and incremental extraction 2026-07-16 03:55:10 +02:00
client/src feat: Introduce Application Layer and Runtime Modes 2026-07-16 14:13:20 +02:00
editor feat: Introduce Application Layer and Runtime Modes 2026-07-16 14:13:20 +02:00
engine feat: Introduce Application Layer and Runtime Modes 2026-07-16 14:13:20 +02:00
game Add comprehensive documentation for Cardinal engine and editor 2026-07-15 19:30:32 +02:00
libs Add comprehensive documentation for Cardinal engine and editor 2026-07-15 19:30:32 +02:00
scripts Add comprehensive documentation for Cardinal engine and editor 2026-07-15 19:30:32 +02:00
tools feat: Introduce Application Layer and Runtime Modes 2026-07-16 14:13:20 +02:00
wiki feat: Introduce Application Layer and Runtime Modes 2026-07-16 14:13:20 +02:00
.clang-format Add comprehensive documentation for Cardinal engine and editor 2026-07-15 19:30:32 +02:00
.editorconfig Add comprehensive documentation for Cardinal engine and editor 2026-07-15 19:30:32 +02:00
.gitattributes Add comprehensive documentation for Cardinal engine and editor 2026-07-15 19:30:32 +02:00
.gitignore Add comprehensive documentation for Cardinal engine and editor 2026-07-15 19:30:32 +02:00
.gitmodules Add comprehensive documentation for Cardinal engine and editor 2026-07-15 19:30:32 +02:00
build.zig feat: Introduce Application Layer and Runtime Modes 2026-07-16 14:13:20 +02:00
build.zig.zon Add comprehensive documentation for Cardinal engine and editor 2026-07-15 19:30:32 +02:00
cardinal_config.json Add comprehensive documentation for Cardinal engine and editor 2026-07-15 19:30:32 +02:00
imgui.ini Add comprehensive documentation for Cardinal engine and editor 2026-07-15 19:30:32 +02:00
LICENSE docs: add Cardinal Engine License v1.3 2026-01-07 22:05:56 +01:00
README.md Add comprehensive documentation for Cardinal engine and editor 2026-07-15 19:30:32 +02:00

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.