30 Commits
Author SHA1 Message Date
西风逍遥游 c16064bb95 chore(deps): update zeroerr to merged warning hygiene fixes 2026-09-09 10:20:02 +08:00
西风逍遥游 51283a5f3f build(deps): update zeroerr to merged dev 2026-09-03 16:39:35 +08:00
西风逍遥游 bdb01ced63 build(deps): track published zeroerr diagnostic fix 2026-09-03 16:37:23 +08:00
西风逍遥游 543aa55434 refactor(ci): classify failures and pin webgpu inputs 2026-09-03 16:29:23 +08:00
西风逍遥游 8e878458ce chore: update VKBuilder VMA dependency 2026-09-02 11:27:07 +08:00
西风逍遥游 73c94812c9 feat(graphics): add optional VMA buffer allocation 2026-09-02 01:57:09 +08:00
西风逍遥游 cdec261825 chore(third-party): bump zeroerr to upstream arg-parsing fix, drop vendored patch
zeroerr's --testcase-exclude=/--file=/--file-exclude= parsing had off-by-one
prefix checks; the fix was carried as a build-time vendored patch
(cmake/patches/zeroerr-file-filter.patch). The change is now upstream on
zeroerr master (43c31f6), so bump the submodule pin and delete the
redundant patch + its configure-time application.
2026-08-22 17:22:35 +08:00
西风逍遥游 453d33387f Merge remote-tracking branch 'origin/dev' into codex/gpu-driven-rendering
# Conflicts:
#	AGENTS.md
#	external/VKBuilder
#	src/modules/graphics/Graphics.h
#	src/modules/graphics/RenderControl.cpp
#	src/modules/graphics/RenderSystem3D.cpp
#	src/modules/graphics/vulkan/Graphics.cpp
#	src/modules/graphics/vulkan/Graphics.h
2026-08-21 20:45:42 +08:00
西风逍遥游 df64daacd8 deps: bump VKBuilder to per-image present-wait semaphores
Submodule commit 3486940e (on top of 4b266bf): present-wait semaphores are
now indexed by the acquired swapchain image instead of the frame slot, fixing
VUID-vkQueueSubmit-pSignalSemaphores-00067 (a classic driver-TDR source when
frames_in_flight < image_count). Verified: validation-layer report for this
VUID is gone in GpuDriven.* and RenderSystem3D.* runs.
2026-08-21 16:31:13 +08:00
西风逍遥游 95b869cbbd merge: integrate origin/main (TU split, #129 perf, module decoupling) into codex/framegraph-mt-render
Port the deferred FrameGraph integration onto main's split Vulkan backend:
- Graphics3D.cpp owns buildDeferredFrameGraphs / recordDeferredFrameGraph /
  recordShadowCascadePass / recordGBufferPassDraws (parallel JobSystem
  recording, one command pool per frame-slot per pass).
- begin3DFrame / beginSwapchainRenderPass / flushToSwapchain 2D-only path
  call recordDeferredFrameGraph() instead of the serial pending passes.
- Drop the superseded serial recordPendingShadowPasses/GBufferPass and the
  duplicate culling implementation (main's RenderSystem3D already carries
  the per-camera / per-cascade frustum culling).
- VKBuilder submodule -> 51514d9 (master; our spec-safe pool/lifecycle PR
  was merged upstream as sunxfancy/VKBuilder#2).
2026-08-21 12:48:49 +08:00
西风逍遥游 0ca17b9a57 feat(render): enforce spec-safe parallel recording via per-pass command pools and RecordCycle lifecycle 2026-08-21 09:35:25 +08:00
西风逍遥游 9cca4fbedf deps: sync external/VKBuilder to upstream tip (4b266bf) 2026-08-20 00:16:27 +08:00
西风逍遥游 278593ec34 deps: bump VKBuilder (FrameGraph) 2026-08-19 22:49:32 +08:00
西风逍遥游 48a150b9b2 chore(external): remove submodules for box3d and DungeonTemplateLibrary 2026-08-16 23:42:36 +08:00
西风逍遥游 92442e380f feat(ci): add WebGPU (Emscripten/WASM) build job to CI workflow
- Introduced a new CI job for building WebGPU using Emscripten and WASM.
- Configured steps for checking out the repository, installing necessary system packages, and setting up the Emscripten SDK.
- Added build and verification steps for WebGPU artifacts.
2026-08-16 21:47:38 +08:00
西风逍遥游 5686c7be90 chore(external): remove unused submodules for box3d and DungeonTemplateLibrary 2026-08-16 21:41:08 +08:00
西风逍遥游 2e547952bb refactor(ci): restructure CI jobs for clarity and add separate Android and iOS builds
- Updated job names for Windows, macOS, Android, and iOS for better clarity.
- Added dedicated Android and iOS build steps, including installation of necessary tools and Vulkan SDK.
- Removed redundant steps from Windows and macOS jobs to streamline the CI process.
2026-08-16 21:23:38 +08:00
西风逍遥游 0dfc18c08f deps: own libraries in external/, third-party deps in third-party/
Move the user-maintained VKBuilder from the third-party aggregate into external/ (git submodule), and relocate the third-party DungeonTemplateLibrary and Box3D from external/ into the third-party aggregate (previously pushed to EVEngine/third-party). Update .gitmodules, include paths, DTL/box3d build wiring, and docs.
2026-08-16 13:34:12 +08:00
西风逍遥游andCursor Agent c26a077cb5 feat(physics): integrate Box3D for 3D rigid-body simulation (#31)
Add Erin Catto's Box3D (v0.1.0) as external/box3d and expose World3D,
Body3D, and Shape3D through Physics.newWorld3D, mirroring the existing
Box2D script API with meter-space coordinates, queries, and contact events.

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
2026-08-11 17:01:13 +08:00
西风逍遥游andCursor Agent 6f290b2a1d feat(procgen): 程序化生成模块 Phase A/B(地图 + 贴图) (#5)
* docs(procgen): add procedural generation module design

Capture confirmed product direction (runtime map-first, textures
second, pixel/low-poly RPG) plus API sketch, algorithm registry,
configurable outputs, and Phase A checklist.

Co-authored-by: 西风逍遥游 <sunxfancy@gmail.com>

* docs(procgen): list procgen in module summary table

Co-authored-by: 西风逍遥游 <sunxfancy@gmail.com>

* feat(procgen): Phase A runtime map generation with DTL

Add eve.Procgen module: semantic Grid2D, algorithm registry, palettes,
and TileLayer/JSON outputs. Built-ins use Dungeon Template Library
(BSP, cellular cave, maze, perlin terrain) plus local drunkard walk.
Includes tests and examples/procgen demo.

Co-authored-by: 西风逍遥游 <sunxfancy@gmail.com>

* feat(procgen): Phase B runtime pixel texture recipes

Add seamless value-noise texture generation with banded color ramps
for soil/stone/marble/water/sky_cloud, ImageData/Texture/normal outputs,
and script bindings for gfx.newTexture / drawTexturedRect.

Co-authored-by: 西风逍遥游 <sunxfancy@gmail.com>

* fix(test): qualify eve::image::ImageData in procgen tests

Bare image:: failed to resolve under `using namespace eve::procgen`,
breaking unit_test builds on Linux/Windows/macOS CI.

Co-authored-by: 西风逍遥游 <sunxfancy@gmail.com>

* fix(procgen): link EVProcgen in tests and fix Apple Clang DTL build

unit_test was missing EVProcgen, causing undefined references on Linux/Windows.
Avoid the DTL umbrella header (broken Voronoi CRTP on Apple Clang) and provide
DrawJagged* compat shims that define the missing drawOperatorArray.
Verified locally: linux-debug build, unit_test link, and all 13 procgen ctests.

Co-authored-by: 西风逍遥游 <sunxfancy@gmail.com>

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
2026-08-09 08:47:27 +08:00
Cursor Agentand西风逍遥游 b08b9bf7e6 feat: integrate ik.hpp as independent IK module with Squirrel API
Add sunxfancy/ik.hpp as a git submodule and wrap FABRIK solving in
eve.IK (Skeleton2D/3D, Solver2D/3D) for scripted inverse kinematics.

Co-authored-by: 西风逍遥游 <sunxfancy@gmail.com>
2026-08-08 12:04:45 +00:00
sunxfancyandCursor 51cde77399 fix(ci): scope Windows Debug third-party build; bump zeroerr
Keep macOS/Linux/iOS deps as Release to avoid physfsd rename, and only
build Windows third-party as Debug with md/mdd postfixes. Point zeroerr
at the GCC-safe is_array fix for incomplete Vulkan/SDL handles.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-08 19:29:05 +08:00
sunxfancy cf6ef05cb2 feat: enhance Vulkan integration for iOS and add scene module
- Improved CMake configuration for Vulkan on iOS, allowing for dynamic and static linking of MoltenVK based on availability.
- Updated the script for resolving Vulkan SDK paths to prioritize dynamic frameworks and provide warnings for missing components.
- Introduced a new scene module, enabling a declarative scene tree structure that mirrors the UI system, enhancing the engine's capabilities for scene management.
- Updated documentation to reflect the new scene module and its integration with existing systems.
- Enhanced test coverage by including new tests for the scene module.

These changes significantly improve Vulkan support on iOS and expand the engine's modular architecture.
2026-08-08 19:11:22 +08:00
西风逍遥游 f0b0527f9f feat: enhance map module with multi-layer support and object management
- Implemented multi-layer tilemap functionality, allowing for the reading and saving of Tiled JSON formats.
- Added support for various tile projections (orthogonal, isometric, staggered, hexagonal) and depth calculations.
- Introduced object layer parsing and caching for improved map object management.
- Updated the rendering system to unify 2D depth queues and enhance sprite handling.
- Added new methods for accessing object properties, including position and dimensions.

This update significantly improves the map module's capabilities and integration with the rendering system.
2026-08-08 00:26:58 +08:00
西风逍遥游 e614406baf chore: update submodule and enhance CMake configurations
- Updated the zeroerr submodule to the latest commit for improved functionality.
- Modified CMakeLists.txt to include additional system libraries for better compatibility across UNIX platforms.
- Added <cstdint> includes in multiple header files to ensure proper type definitions.
- Introduced a new hotReload variable in the demo script to support dynamic updates.
2026-08-07 17:21:44 +08:00
sunxfancyandCursor e64166e676 chore: bump ECS.hpp for View null registry fix
Point submodule at the ECS.hpp commits that create the registry before
View::ensure_space and sync the fixed zeroerr header for tests.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-06 15:11:37 +08:00
西风逍遥游 25c0aa96c9 update 2026-08-05 21:04:24 +08:00
西风逍遥游 0daa1071bd feat: screen getPixel readback and 3D texture/lighting pixel verify
Add optional swapchain capture for getPixel, UV cube pixel tests, Ninja/MSVC tooling, and bump ECS.hpp/zeroerr submodules.
2026-08-05 16:10:32 +08:00
西风逍遥游 c804116d41 feat: migrate tests from GoogleTest to zeroerr with CTest discovery
Embed zeroerr as a submodule with ZEROERR_NO_MAIN, migrate all unit tests, and register each case with CTest via ZeroErrDiscoverTests.
2026-08-04 22:53:04 +08:00
西风逍遥游 10093e0417 feat: declarative 2D render path with PNG texture loading
Integrate ECS.hpp, Vulkan Batcher/RenderSystem, multi-texture sprites, and Graphics::newTextureFromFile with ImageData PNG encode/decode fixes.
2026-08-04 21:16:55 +08:00