Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
216 commits
Select commit Hold shift + click to select a range
08dc947
refactor: improve engine architecture and fix alignment conflicts
IOleg-crypto Apr 21, 2026
052bcda
Refactor: Integrated ServiceLocator, improved debug collision visuali…
IOleg-crypto Apr 22, 2026
abe6cd9
feat : make ui factory
IOleg-crypto Apr 24, 2026
728619a
fix: resolve Runtime crash, C# ABI segfault, and implement dynamic ca…
IOleg-crypto Apr 25, 2026
6d0bfd9
feat: implement smooth asymmetric interpolation for camera shake
IOleg-crypto Apr 25, 2026
4aaab57
Implemented robust Prefab system, redesigned Script UI, and fixed aud…
IOleg-crypto Apr 25, 2026
f1a0ae9
Automated ScriptEngine InternalCall registration system
IOleg-crypto Apr 25, 2026
1a0112d
fix : incorrect name of struct in class(ScriptEngine)
IOleg-crypto Apr 25, 2026
0c0eae8
feat : added prefabs
IOleg-crypto Apr 25, 2026
f26f9cf
Fix Runtime Blackout and Mesh Z-Buffer depth sorting
IOleg-crypto Apr 26, 2026
858bd65
fix : wireframe mode not working , fix audio(test) , added new class…
IOleg-crypto Apr 26, 2026
f7bdb8e
Physics: Sequential Impulse Solver, BVH AABB optimizations, and Fall …
IOleg-crypto Apr 27, 2026
28c6d85
engine : clear code
IOleg-crypto May 10, 2026
7aca290
repo : save stable version on github
IOleg-crypto May 10, 2026
f1fcf35
feat : try to do animation graph
IOleg-crypto May 12, 2026
c9fed76
feat : added new python scripts(dotnet) and improving code
IOleg-crypto May 14, 2026
1d6402c
feat : added new function to register modules and restore old project…
IOleg-crypto May 15, 2026
0c901b3
feat: transition scene loading to native C++ SceneTransitionSystem
IOleg-crypto May 15, 2026
0fb9c46
Fix: Resolve Content Browser crash and UI phantom click bug
IOleg-crypto May 15, 2026
fd16520
save stable build
IOleg-crypto May 22, 2026
5e31dbc
Consolidate scene resource systems into SceneResourceManager
IOleg-crypto May 24, 2026
47dadd6
refactor(engine): core opengl architecture and editor updates
IOleg-crypto Jun 11, 2026
bf2c1d9
changed architecture structure and greater modularity
IOleg-crypto Jun 12, 2026
39e41bb
TODO : make scripting with reflection
IOleg-crypto Jun 13, 2026
45ae383
refactoring architecture and make service locator
IOleg-crypto Jun 19, 2026
a786a5b
update .gitmodules
IOleg-crypto Jun 20, 2026
54e0835
TODO : fix Coral init
IOleg-crypto Jun 20, 2026
a2eb4ec
Refactor: Unified Camera architecture
IOleg-crypto Jun 21, 2026
17819d0
mirgate modules to Service Locator
IOleg-crypto Jun 21, 2026
aac5352
repo : save current code
IOleg-crypto Jun 25, 2026
96fdc83
TODO : fix problems with not working renderer
IOleg-crypto Jun 26, 2026
5b4b018
Fix scene rendering and component deserialization
IOleg-crypto Jun 27, 2026
5c0d603
TODO : fix renderer code
IOleg-crypto Jun 27, 2026
d85537a
TODO : fix crash with loading assets
IOleg-crypto Jun 28, 2026
8c069f2
fixed some Linux problems
IOleg-crypto Jun 28, 2026
134b5f3
TODO : fix asset loaders and compile errors
IOleg-crypto Jun 28, 2026
fb6ee39
TODO : fix Linux performance and serialization problems
IOleg-crypto Jun 29, 2026
adb7141
simplify asset loaders
IOleg-crypto Jun 30, 2026
d98bca4
TODO : fix versioning of chasset and rework all tests
IOleg-crypto Jul 1, 2026
cc7cda1
feat : add shader config yaml for Renderer
IOleg-crypto Jul 2, 2026
0568368
TODO : make stress test on the engine
IOleg-crypto Jul 5, 2026
c8ba6bf
TODO : refactor code in editor
IOleg-crypto Jul 6, 2026
5a41e5b
Fixed code with simulation physics
IOleg-crypto Jul 6, 2026
a9fb1ca
Fixed scriptengine scripts and rebuild scriptengine architecture
IOleg-crypto Jul 7, 2026
6536c12
TODO : delete tests for scripts and make game menu
IOleg-crypto Jul 8, 2026
2f1c33b
fix: remove managed C# tests, fix CI, and add engine documentation
IOleg-crypto Jul 9, 2026
c44682a
fix: resolve MSVC CRT mismatch and zstd unity build errors
IOleg-crypto Jul 9, 2026
e9ca393
added new tests(unit + integration) for engine
IOleg-crypto Jul 10, 2026
e3d811d
fix : physics not calculate player velocity , while player failing
IOleg-crypto Jul 11, 2026
8c9b308
feat : deleted gcc support
IOleg-crypto Jul 11, 2026
eb7eb07
test coral on c++20
IOleg-crypto Jul 11, 2026
16d9d99
TODO : refactor ui renderer
IOleg-crypto Jul 11, 2026
272bc6d
TODO : fix run scene in the window
IOleg-crypto Jul 12, 2026
55f84ee
Fix shadows, gizmo picking, script context leaks, and broken unit tests
IOleg-crypto Jul 12, 2026
ac0a772
feat: add 'Export Project...' build pipeline to editor Project menu
IOleg-crypto Jul 12, 2026
73f1430
fix: exclude Coral.Native from unity build and fix NuGet cache path i…
IOleg-crypto Jul 12, 2026
8993c23
fix(ci): isolate Coral.Native from engine C++20 unity PCH - use C++17…
IOleg-crypto Jul 12, 2026
6c72179
ci: remove windows-msvc from build matrix
IOleg-crypto Jul 12, 2026
afc7070
fix(ci): enable RTTI for JoltPhysics to fix Linux linking issues
IOleg-crypto Jul 12, 2026
2d44290
fix(ci): restore coral PCH for windows-clang to fix CoTaskMemAlloc
IOleg-crypto Jul 12, 2026
fe71403
fix(ci): use macro shim to force include combaseapi.h for Coral CoTas…
IOleg-crypto Jul 12, 2026
ecd60c9
ci: update deploy SDK workflow to use Clang across platforms and setu…
IOleg-crypto Jul 12, 2026
bcf929d
CI/CD : fix node module problem
IOleg-crypto Jul 12, 2026
daf0b70
CI/CD : delete nuget cache
IOleg-crypto Jul 12, 2026
f5bff02
ci: add windows-msvc to CI matrix and clang-format gate; expand seria…
IOleg-crypto Jul 13, 2026
8d3bd1f
refactor: simplify script glue, normalize asset paths, automate .csproj
IOleg-crypto Jul 13, 2026
098d4a3
update gpak settings and added hack
IOleg-crypto Jul 13, 2026
b813817
fix: move zstd:: alias creation before pak_archive to fix find_packag…
IOleg-crypto Jul 13, 2026
db3897c
CI/CD : test new pipeline
IOleg-crypto Jul 13, 2026
2754fea
fix: metalness shader bug, material overrides in ModelComponent, zstd…
IOleg-crypto Jul 14, 2026
1b0815c
feat : update workflow , fix zstd problem in pak archive(test)
IOleg-crypto Jul 14, 2026
8eccaf2
Replace pak_archive submodule with vendored copy
IOleg-crypto Jul 14, 2026
8143fb1
Fix pak_archive lib/ excluded by .gitignore
IOleg-crypto Jul 14, 2026
77836ba
Remove pak_archive (libgpak) entirely
IOleg-crypto Jul 14, 2026
b871ff1
feat : added metadata to assets
IOleg-crypto Jul 14, 2026
65f9af1
update code for ci/cd
IOleg-crypto Jul 14, 2026
1d205f3
feat : added new format for materials
IOleg-crypto Jul 15, 2026
f116f2f
fix(test) : disable cmake unity build to fix compile errors in CI/CD
IOleg-crypto Jul 15, 2026
25ef281
fix(test): disable pch for build in ci/cd
IOleg-crypto Jul 15, 2026
5d4bd44
fix(test): added fixes for ci/cd
IOleg-crypto Jul 15, 2026
581f1e9
fix(test) : enable unity build for Windows
IOleg-crypto Jul 15, 2026
6a4a78e
fix(build): resolve MinGW/MSVC CI link and memory failures
IOleg-crypto Jul 16, 2026
9b972ba
feat: added new tests
IOleg-crypto Jul 16, 2026
6bb7fb8
fix : bug that changing scene without any event
IOleg-crypto Jul 16, 2026
bc3959d
fix : bug that changing scene without any event
IOleg-crypto Jul 16, 2026
52dd23b
fix(test) : fix problem with Wayland scanner on Linux
IOleg-crypto Jul 16, 2026
c3b3e68
fix(test) : ci: fix linux X11/glfw deps
IOleg-crypto Jul 16, 2026
09d2edc
fixed runtime_layer crash
IOleg-crypto Jul 17, 2026
7377f7c
Fix CI: format project_exporter, make test discovery MinGW-safe
IOleg-crypto Jul 17, 2026
1f741a5
Fix use-after-free in ServiceLocator shutdown tests
IOleg-crypto Jul 17, 2026
c2e64db
update repo
IOleg-crypto Jul 17, 2026
73e0384
Fix player jump and rooted ABI and physics state synchronization
IOleg-crypto Jul 17, 2026
6e1280e
Fix CI: install .NET 9 runtime alongside .NET 10
IOleg-crypto Jul 18, 2026
0ae1770
TODO : fix shapes creation
IOleg-crypto Jul 18, 2026
f0fa18b
fix: remove -gsplit-dwarf from MinGW debug config causing test crash
IOleg-crypto Jul 18, 2026
72ac300
fix: add -mstackrealign to MinGW Debug to fix CoreCLR access violation
IOleg-crypto Jul 18, 2026
915c36a
chore: enable COREHOST_TRACE to diagnose MinGW CI crash
IOleg-crypto Jul 18, 2026
c5f1a15
fix: build Coral/scripting bridge with -Og on MinGW Debug
IOleg-crypto Jul 18, 2026
e5c26d0
test : disable scriptengine_tests
IOleg-crypto Jul 19, 2026
1e32e2a
ci: disable PCH on CI and use -g1 for GCC Debug to speed up builds
IOleg-crypto Jul 19, 2026
fbe17b2
ci: disable PCH for sccache, -g1 for CI Debug, gdb backtrace step for…
IOleg-crypto Jul 19, 2026
df063fe
test: run integration suite as one process without CoreCLR
IOleg-crypto Jul 19, 2026
437b072
fix: replace std::format in log callback sink, use MSYS2 toolchain on CI
IOleg-crypto Jul 19, 2026
49cd6bc
Fix WASD component lookup and shutdown segfault; correct scripting docs
IOleg-crypto Jul 21, 2026
6c79552
opengl branch: in-progress engine, editor, scripting, and physics work
IOleg-crypto Jul 21, 2026
1240b5c
build: force-include <cstdint> for yaml-cpp on GCC/Clang
IOleg-crypto Jul 21, 2026
9d74688
ci: fix Windows Clang builds, remove job pool bottleneck
IOleg-crypto Jul 21, 2026
dd54f64
ci: enable per-test discovery for CTest (130 tests instead of 2)
IOleg-crypto Jul 21, 2026
23b91a0
fix: /OPT:REF /OPT:ICF linker flags not forwarded to lld-link
IOleg-crypto Jul 21, 2026
ae6f500
fix(test) : stb undefined reference in Windows Clang build
IOleg-crypto Jul 22, 2026
b7297be
ci(windows): fix LNK1104 uwapi.lib, speed up MSVC builds with lld-link
IOleg-crypto Jul 22, 2026
8519f88
build(msvc): add dummy cpp to engine target to ensure static lib gene…
IOleg-crypto Jul 22, 2026
cd10902
fix(scene): add missing control_component.h include + fix MinGW stati…
IOleg-crypto Jul 22, 2026
b073add
build(cmake): extract engine_scene_core to break circular dependency …
IOleg-crypto Jul 22, 2026
983bf00
build(cmake): fix missing scene_scripting_manager.h include by keepin…
IOleg-crypto Jul 22, 2026
fc9156a
fix(windows/test) : undefined reference in windows-clang-debug
IOleg-crypto Jul 22, 2026
15a9ae2
fix: extract UIControlComponent registration to separate TU to reduce…
IOleg-crypto Jul 22, 2026
aec1e6d
style: run clang-format on editor/gui.cpp to fix CI violations
IOleg-crypto Jul 22, 2026
5d0f9df
refactor: split component registry into per-category TUs to further f…
IOleg-crypto Jul 22, 2026
3f181ad
Fix UI font loading and atlas rebuilds
IOleg-crypto Jul 22, 2026
9bee8c7
feat : added new font , delete corrupted
IOleg-crypto Jul 23, 2026
ca2c777
Add 2D Mode and UI Scene Type support
IOleg-crypto Jul 23, 2026
f0a346c
Fix formatting
IOleg-crypto Jul 23, 2026
054fe42
Fix ImGuizmo include order: imgui.h must come before ImGuizmo.h
IOleg-crypto Jul 23, 2026
f5ad7e9
Rename repo references from Chained-Decos to ChainedEngine
IOleg-crypto Jul 23, 2026
d81cd57
ci/cd: fix formatting
IOleg-crypto Jul 23, 2026
047ecd8
Remove broken 'Run Scene in New Window' button from viewport toolbar
IOleg-crypto Jul 23, 2026
eee28c0
Integrate cfnptr/pack with shared zstd — prevent double build
IOleg-crypto Jul 23, 2026
275a564
remove GNS/protobuf deps, add asset pack pipeline, update README
IOleg-crypto Jul 23, 2026
08ba90c
stage remaining deleted files
IOleg-crypto Jul 23, 2026
6c23bfd
refactor: CMake source lists, parallel physics, bad_alloc protection
IOleg-crypto Jul 24, 2026
55cf4d7
refactor editor code
IOleg-crypto Jul 24, 2026
714336f
Fixed crash with scene reload
IOleg-crypto Jul 25, 2026
f761017
Editor: code quality, null safety, cursor lock, error handling
IOleg-crypto Jul 26, 2026
5be2345
feat : replace flags with assimp preset , TODO : rebuild primitive bu…
IOleg-crypto Jul 26, 2026
80a4bbb
refactor: editor scene manager rewrite, project manager cleanup, cont…
IOleg-crypto Jul 27, 2026
a18c4c6
fix : material panel added non-exist material , which is not affect o…
IOleg-crypto Jul 27, 2026
590fb97
fix: remove duplicate zstd targets — let pack provide libzstd_static
IOleg-crypto Jul 27, 2026
dbface0
fix: suppress mpio GCC 14+ error and disable pack tests on CI
IOleg-crypto Jul 27, 2026
1221a0d
fix: guard mpio warning flag to GCC/Clang only
IOleg-crypto Jul 27, 2026
65048b7
Update README.md
IOleg-crypto Jul 27, 2026
99de9aa
refactor: simplify engine core — AssetManager, ShaderStorage, Rendere…
IOleg-crypto Jul 27, 2026
5c41fa8
code : rename variables in Camera2D/3D for convenient reading
IOleg-crypto Jul 27, 2026
ed9ccc0
fix: return variable name in camera.cpp
IOleg-crypto Jul 27, 2026
42f71a1
ci/cd : fix clang-format error
IOleg-crypto Jul 27, 2026
87f6f38
update README.md
IOleg-crypto Jul 27, 2026
f54b922
readme: add Linux and Windows CI badges
IOleg-crypto Jul 27, 2026
f5fd966
refactor: Scene module decomposition + ServiceLocator TryGet safety a…
IOleg-crypto Jul 28, 2026
2b85042
fix: add AnimationSystem and AudioSystem updates to OnUpdateEditor
IOleg-crypto Jul 28, 2026
bf08cf3
fix: correct listener up vector in AudioSystem
IOleg-crypto Jul 28, 2026
63dd9e3
fix(audio): fix PlayOnStart/IsPlaying logic and add editor icon picking
IOleg-crypto Jul 28, 2026
6c8c2c5
test : link badge with github workflow in readme
IOleg-crypto Jul 28, 2026
a8bc98a
test : link badge with github workflow in readme
IOleg-crypto Jul 28, 2026
69ac64b
fix: rewrite AudioSystem::Update for reliable audio playback
IOleg-crypto Jul 29, 2026
bd7f29d
feat: add pack mode selection dialog for project export
IOleg-crypto Jul 29, 2026
02c33ae
refactor(input, editor): Input class, Script OnGUI overlay, menu bar …
IOleg-crypto Jul 29, 2026
3a0dfde
style: add git pre-commit format hook and format C++ files
IOleg-crypto Jul 29, 2026
30df744
refactor(editor): replace static locals with member variables
IOleg-crypto Jul 29, 2026
0de1564
fix(editor): always save imgui.ini on shutdown; fix preset override bug
IOleg-crypto Jul 29, 2026
c8ae007
refactor: replace AudioHandle with AssetHandle, simplify RuntimeLayer…
IOleg-crypto Jul 30, 2026
f209b6e
Add ForceSetVelocity API to bypass Dynamic body Y-velocity override
IOleg-crypto Jul 30, 2026
6697271
Add ForceSetVelocity API to bypass Dynamic body Y-velocity override
IOleg-crypto Jul 30, 2026
255b071
Fix SpawnZone respawn + split build automation into 3 scripts
IOleg-crypto Jul 30, 2026
fd2c459
refactor: rename EngineModule → Service, cleanup ServiceLocator
IOleg-crypto Aug 1, 2026
00e53b7
feat : added Animation Graph and update documentation
IOleg-crypto Aug 1, 2026
90f951d
Enhance README with images and example structure
IOleg-crypto Aug 1, 2026
55f9609
fix: change engine_reflection to INTERFACE library for MSVC compatibi…
IOleg-crypto Aug 1, 2026
079915f
feat : update export project menu and deleted section with exportfrom…
IOleg-crypto Aug 2, 2026
c5545e4
docs: restructure documentation for public use
IOleg-crypto Aug 2, 2026
ca27a87
feat: export pack caching, anim graph sync, runtime config, and code …
IOleg-crypto Aug 3, 2026
28411ca
refactor: API cleanup — remove dead code, fix mutable getters, simpli…
IOleg-crypto Aug 4, 2026
8541e30
feat : first implementation of networking using enet
IOleg-crypto Aug 4, 2026
d0336c3
feat: implement multiplayer lobby, entity replication, and UPnP port …
IOleg-crypto Aug 6, 2026
5a7d931
feat: implement multiplayer lobby, entity replication, and UPnP port …
IOleg-crypto Aug 6, 2026
5f53d1b
refactor: remove SceneEventBus, fix scene API mismatches, add nametag…
IOleg-crypto Aug 12, 2026
89d2587
refactor: reorganize components into subdirectories, LFS migration, r…
IOleg-crypto Aug 12, 2026
2c2120b
refactor: migrate networking to ENet + libsodium, refactor resource p…
IOleg-crypto Aug 13, 2026
3ec3c3c
refactor: decouple reflection headers (rfl/non-rfl split)
IOleg-crypto Aug 13, 2026
f70ad5d
fix: editor bugs and remove dead code; regenerate game assets
IOleg-crypto Aug 13, 2026
5869811
refactor: editor code quality pass and simplify layout persistence
IOleg-crypto Aug 14, 2026
43b01e9
fix(scripting): ABI safety — bool->uint8_t across glue, runtime self-…
IOleg-crypto Aug 14, 2026
d56f011
feat(scripting): implement Roslyn source generator & move scripting u…
IOleg-crypto Aug 14, 2026
82ef1ab
refactor: Simplify CMake build, add game scaffolding and runtime notes
IOleg-crypto Aug 15, 2026
659ad8b
fix(scene): designated initializer order and update scene/rendering s…
IOleg-crypto Aug 15, 2026
a079d45
ci(windows): switch CI MSVC jobs to Visual Studio 2026 preset
IOleg-crypto Aug 15, 2026
97fd005
delete some shit from repo
IOleg-crypto Aug 15, 2026
9d8971f
fix(core): remove inline from ServiceLocator::GetRegistry definition
IOleg-crypto Aug 15, 2026
106b482
feat(multiplayer): nametags, in-game chat, Cyrillic support, and mult…
IOleg-crypto Aug 17, 2026
05e8db4
refactor(nametag): move to engine_graphics, remove Renderer* parameter
IOleg-crypto Aug 18, 2026
2d8390c
Wait for physics colliders before runtime
IOleg-crypto Aug 19, 2026
030ef2a
Improve editor UI and map selection
IOleg-crypto Aug 19, 2026
8dfe384
(Todo)Fix primitive materials and depth state
IOleg-crypto Aug 19, 2026
64fb927
refactor: split Network god class + CameraAutoSelect + UI module extr…
IOleg-crypto Aug 19, 2026
be0d5d9
style: apply clang-format-18 across codebase and remove stale graphic…
IOleg-crypto Aug 19, 2026
ee27665
fix: physics startup loop, mesh merger perf, editor dialog fixes, exp…
IOleg-crypto Aug 20, 2026
bffa705
feat: auto-add firewall rule when hosting multiplayer
IOleg-crypto Aug 20, 2026
fd25539
fix: firewall via CreateProcess, IsFullyConnected flag, ConnectButton…
IOleg-crypto Aug 20, 2026
a81afae
fix: flaky network loopback tests
IOleg-crypto Aug 20, 2026
2ff7ecc
fix: skip UPnP/firewall in test mode to fix flaky CI
IOleg-crypto Aug 20, 2026
31a021a
feat: show Radmin VPN hint when UPnP unavailable
IOleg-crypto Aug 20, 2026
7a6c574
ci: disable flaky network loopback tests in CI (CH_CI guard)
IOleg-crypto Aug 20, 2026
959f386
feat: add deploy_sdk.yml CI workflow
IOleg-crypto Aug 20, 2026
44d7b0a
ci: fix Deploy SDK workflow configuration and packaging
IOleg-crypto Aug 20, 2026
f2ce3e4
Fix custom split size in project exporter + various fixes
IOleg-crypto Aug 20, 2026
8ffb2d2
Merge opengl: rewrite engine with OpenGL renderer
IOleg-crypto Aug 21, 2026
b156128
ci: split release into SDK + Game + Editor archives, remove ChainedRu…
IOleg-crypto Aug 21, 2026
8d9c620
ci: change tag format from v* to release/*
IOleg-crypto Aug 21, 2026
cca30b1
Fix primitive serialization, hemisphere geometry, material override p…
IOleg-crypto Aug 21, 2026
cfe50d4
Implement thread-safe deferred GPU resource deletion and extensible d…
IOleg-crypto Aug 21, 2026
af05dd7
Integrate entt::dispatcher into Scene for zero-allocation scene event…
IOleg-crypto Aug 21, 2026
d5d0488
Update deploy-sdk and network module test
IOleg-crypto Aug 23, 2026
260a413
Merge branch 'main' into opengl (keep opengl tree)
IOleg-crypto Aug 23, 2026
7627c51
Refactor shaders to .vert/.frag, consolidate GLSL modules, and add Sk…
IOleg-crypto Aug 23, 2026
7f249f9
feat(ci, packaging): integrate cpack and improve pull request workflows
IOleg-crypto Aug 24, 2026
dbe2877
ci: include CPack packages in GitHub Release assets
IOleg-crypto Aug 25, 2026
db84a02
ci: allow creating releases manually via workflow_dispatch with custo…
IOleg-crypto Aug 25, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 4 additions & 2 deletions .clang-format
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
BasedOnStyle: LLVM
IndentWidth: 4
ColumnLimit: 120
UseTab: Never
UseTab: Always
TabWidth: 4

# Disallow single-line statements
AllowShortIfStatementsOnASingleLine: false
Expand Down Expand Up @@ -31,4 +32,5 @@ PointerAlignment: Left
AccessModifierOffset: -4
PackConstructorInitializers: Never
FixNamespaceComments: true
SortIncludes: true
SortIncludes: false
NamespaceIndentation: All
9 changes: 5 additions & 4 deletions .clangd
Original file line number Diff line number Diff line change
@@ -1,17 +1,18 @@
CompileFlags:
CompilationDatabase: build/ninja-debug
CompilationDatabase: build/windows-clang
Add:
- -Wall
- -Wextra
- -Wextras
Remove:
- -fmodules-ts
- -fmodule-mapper=*
- -fdeps-format=*
- -Winvalid-pch
- -Winvalid-offsetof

Index:
Background: Skip
Diagnostics:
UnusedIncludes: None

Index:
Background: Skip

27 changes: 12 additions & 15 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1,28 +1,25 @@
*.glb filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.bin -text
*.gltf -text
*.obj -text
*.fbx -text
*.png -text
*.jpg -text
*.hdr -text
*.hdr filter=lfs diff=lfs merge=lfs -text
*.fbx filter=lfs diff=lfs merge=lfs -text
*.gltf filter=lfs diff=lfs merge=lfs -text
*.fbx filter=lfs diff=lfs merge=lfs -text
*.obj filter=lfs diff=lfs merge=lfs -text
*.hdr filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.jpg filter=lfs diff=lfs merge=lfs -text
*.wav filter=lfs diff=lfs merge=lfs -text
*.mp3 filter=lfs diff=lfs merge=lfs -text
*.ogg filter=lfs diff=lfs merge=lfs -text
*.pack filter=lfs diff=lfs merge=lfs -text
*.bin filter=lfs diff=lfs merge=lfs -text
*.jpeg filter=lfs diff=lfs merge=lfs -text
*.tga filter=lfs diff=lfs merge=lfs -text
*.bmp filter=lfs diff=lfs merge=lfs -text
*.psd filter=lfs diff=lfs merge=lfs -text
*.tif filter=lfs diff=lfs merge=lfs -text
*.tiff filter=lfs diff=lfs merge=lfs -text
*.exr filter=lfs diff=lfs merge=lfs -text
*.dds filter=lfs diff=lfs merge=lfs -text
*.ktx filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.7z filter=lfs diff=lfs merge=lfs -text
*.rar filter=lfs diff=lfs merge=lfs -text
*.wav filter=lfs diff=lfs merge=lfs -text
*.mp3 filter=lfs diff=lfs merge=lfs -text
*.ogg filter=lfs diff=lfs merge=lfs -text
*.flac filter=lfs diff=lfs merge=lfs -text
*.pack filter=lfs diff=lfs merge=lfs -text
*.bin filter=lfs diff=lfs merge=lfs -text
13 changes: 13 additions & 0 deletions .githooks/pre-commit
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#!/bin/sh
# Git pre-commit hook: Auto-format staged C++ files using clang-format (excluding thirdparty/)

set -e

# Find staged C++ files excluding thirdparty/
FILES=$(git diff --cached --name-only --diff-filter=ACMR | grep -E '\.(cpp|h|hpp|cc|cxx)$' | grep -v '^thirdparty/' || true)

if [ -n "$FILES" ]; then
echo "[pre-commit] Formatting staged C++ files with clang-format..."
echo "$FILES" | xargs clang-format -i --style=file
echo "$FILES" | xargs git add
fi
62 changes: 46 additions & 16 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,31 +2,46 @@ name: CI

on:
push:
branches: [main, develop]
branches: [main, develop, opengl]
paths:
- "**/*.cpp"
- "**/*.h"
- "**/*.hpp"
- "**/*.c"
- "**/*.inl"
- "**/*.cs"
- "**/*.csproj"
- "**/*.props"
- "**/*.py"
- "tools/**"
- "resources/shaders/**"
- "**/CMakeLists.txt"
- "**/CMakePresets.json"
- "cmake/*.cmake"
- ".github/workflows/*.yml"
- "cmake/**"
- ".github/**"
pull_request:
branches: [main, develop, chained-gui, refactor-branch]
branches: [main, develop, opengl]
types: [opened, synchronize, reopened, ready_for_review]
paths:
- "**/*.cpp"
- "**/*.h"
- "**/*.hpp"
- "**/*.c"
- "**/*.inl"
- "**/*.cs"
- "**/*.csproj"
- "**/*.props"
- "**/*.py"
- "tools/**"
- "resources/shaders/**"
- "**/CMakeLists.txt"
- "**/CMakePresets.json"
- "cmake/*.cmake"
- ".github/workflows/*.yml"
- "cmake/**"
- ".github/**"
workflow_dispatch:

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true

env:
Expand All @@ -36,6 +51,10 @@ env:
DOTNET_NOLOGO: true

jobs:
format:
name: Format Check
uses: ./.github/workflows/format.yml

linux:
name: Linux Builds
uses: ./.github/workflows/linux.yml
Expand All @@ -46,14 +65,25 @@ jobs:
uses: ./.github/workflows/windows.yml
secrets: inherit

managed:
name: Managed Tests
uses: ./.github/workflows/managed.yml
secrets: inherit

quality-gate:
name: PR Gate
ci-success:
name: CI Passed
runs-on: ubuntu-latest
needs: [linux, windows, managed]
needs: [format, linux, windows]
if: always()
steps:
- run: echo "Native builds and managed tests passed."
- name: Evaluate CI status
run: |
echo "Format Check: ${{ needs.format.result }}"
echo "Linux Builds: ${{ needs.linux.result }}"
echo "Windows Builds: ${{ needs.windows.result }}"

if [[ "${{ needs.format.result }}" != "success" ]] || \
[[ "${{ needs.linux.result }}" != "success" ]] || \
[[ "${{ needs.windows.result }}" != "success" ]]; then
echo "CI failed: One or more required workflow jobs did not succeed."
exit 1
fi

echo "All CI workflow jobs passed successfully!"


Loading
Loading