Commit Graph
25 Commits
Author SHA1 Message Date
西风逍遥游 61df9a1e07 feat(ui): integrate world-space GUI anchors 2026-08-31 20:51:13 +08:00
西风逍遥游 7163fb1ea2 feat(ui): add desktop drag and drop 2026-08-31 00:50:47 +08:00
西风逍遥游 63246b8c68 fix: complete architecture consolidation contracts 2026-08-28 00:01:55 +08:00
西风逍遥游 293be41d66 Merge remote-tracking branch 'origin/dev' into codex/architecture-consolidation
# Conflicts:
#	cmake/module_manifest.cmake
#	docs/usr/modules/procgen.md
#	src/engine/CMakeLists.txt
#	src/engine/cmdline/Run.cpp
#	src/engine/common/ScriptModule.h
#	src/modules/animation/Animation.cpp
#	src/modules/physics/World.cpp
#	src/modules/physics/World3D.cpp
#	src/modules/procgen/Procgen.cpp
#	src/modules/procgen/Procgen.h
#	src/modules/scene/SceneCapabilities.cpp
#	src/modules/schema/Schema.cpp
#	src/modules/schema/Schema.h
2026-08-27 14:52:28 +08:00
西风逍遥游 a8b8e83128 refactor: consolidate engine architecture contracts 2026-08-27 12:54:48 +08:00
西风逍遥游 9a485b045b Merge branch 'dev' into codex/runtime-profiler 2026-08-26 14:30:50 +08:00
西风逍遥游 04b2ebcf0e Merge pull request #256 from EVEngine/codex/ui-framework-overhaul
Unify UI presentation and component framework
2026-08-26 08:28:55 +08:00
西风逍遥游 1a58e4d809 feat(ui): unify presentation and component framework 2026-08-26 02:35:29 +08:00
西风逍遥游 3ac1411d85 feat(profiler): add built-in engine-wide profiler
Introduce a Tracy/UE-Insights-style scoped-zone profiler that instruments the
engine's core per-frame systems and reports per-module/per-zone self vs total
time plus GPU frame timing.

- common/Profile.* : core zone collector (eve::prof). EV_PROFILE_* RAII macros
  push {name,module,thread,parent,depth,start,end} into per-thread buffers;
  frameMark() aggregates the frame into a call tree with self/total per module
  and zone, sorted by self time. Cheap single-branch no-op when disabled.
  Lives in common/ so any module can instrument without layering violations.
- profiler module (SLOT profiler): script API setEnabled()/beginFrame()/
  endFrame()/begin()/end()/capture()/textReport()/frameMs()/gpuFrameMs().
  Installs itself as the IRenderTracer so render passes become graphics zones.
- Instrument core hot systems: physics (World/World3D), animation, particles,
  audio pump, ui render, scene transforms, map tiles, crowd, event pump.
- GPU timing: Vulkan timestamp queries around the present command buffer
  (whole-frame), exposed via common/GpuTimer.h IGpuTimer capability provided by
  graphics; read after the synchronous submit waits the in-flight fence.
- load.nut drives frameBegin()/endFrame() + section markers, no-op when absent.
- Tests: C++ unit (core aggregation self<total, render-pass zones) + script API.

Verified: all changed TUs compile against real VKBuilder/ECS/zeroerr headers;
module_depgraph.py --check / --check-layers pass. Full-link build blocked in
this env by a prebuilt third-party Squirrel version mismatch (unrelated).
2026-08-26 00:44:26 +08:00
西风逍遥游 08614ed194 feat: add playable galgame demo 2026-08-25 22:45:53 +08:00
西风逍遥游 25f59bcb5f Merge remote-tracking branch 'origin/dev' into codex/unity-editor
# Conflicts:
#	docs/usr/modules/ui.md
2026-08-25 12:45:31 +08:00
西风逍遥游 b8b653b9e5 fix(ui): center tool icons and reserve flex flow space 2026-08-25 11:47:57 +08:00
西风逍遥游 346ee1fd3e feat(ui): add theme-driven responsive editor layout 2026-08-25 11:40:20 +08:00
西风逍遥游 9b19879e5e fix(ui): polish editor toolbar rendering 2026-08-25 06:20:08 +08:00
西风逍遥游 4bc6cc1ba6 feat(ui): modernize editor shell workspace layout 2026-08-25 06:12:16 +08:00
西风逍遥游 8daf841af2 feat(ui): composite engine textures in declarative widgets 2026-08-25 06:09:09 +08:00
西风逍遥游 56d8dc6873 feat(ui): add reusable desktop editor layout components 2026-08-25 06:07:47 +08:00
西风逍遥游 f0cbcbea5c feat(ui): add modern editor widget primitives 2026-08-25 06:02:24 +08:00
西风逍遥游 812662d723 feat(ui): add bundled semantic editor icons 2026-08-25 05:53:56 +08:00
西风逍遥游 73a04432b1 feat(ui): modernize theme and sharpen Windows rendering 2026-08-25 05:43:43 +08:00
西风逍遥游 a2dd8d7fb1 feat(ui): two-pass layout, images, events, virtualization, viewport
Gap-closing work for the declarative UI module vs UE/Unity/Godot:

- Layout: real measure pass (measureTree) + pure flexArrange with
  margin/padding/min-max/percent/anchor/absolute placement; window size,
  anchors and percentage sizing; script layout props.
- Widgets: Image/ImageButton (engine textures + nine-patch + tint/uv),
  Combo, text wrapping + CJK font candidates/ranges, InputText 1024B,
  virtualized ScrollList/virtualList.
- Events: script onClick/onChange callbacks with structured payloads
  (keeps the poll queues for compatibility).
- Tooling: UI JSON save/load (saveTreeJson/loadTreeJson), host pos tween
  animation, gamepad nav, per-frame UI stats.
- Viewport: embedded offscreen render target widget with input routing;
  RenderSystem3D::renderToCanvas preview pass + Graphics::renderScene3DToCanvas;
  editor.newHeightmapMesh/updateHeightmapMesh for heightmap terrain;
  examples/terrain-editor demonstrating orbit camera + raise/lower brush.
- Tests: 32 UI tests including real-window Vulkan smoke for the viewport.
2026-08-19 09:07:55 +08:00
西风逍遥游andCursor Agent 488cf0c9ef feat(ui): add Flex/Row/Column elastic layout for UI containers (#34)
Introduce Flex containers with gap, flexGrow, align, and justify so
toolbars and panels can lay out without manual SameLine, including
Spacer and script builder APIs.

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
2026-08-11 20:41:20 +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
sunxfancyandCursor 097cc3835b feat: add demo module and enhance asset synchronization for Android
- Introduced a new optional demo module that includes procedural sound effects and planet texture generation.
- Updated the build system to support the demo module with the `EVENGINE_BUILD_DEMO` option.
- Enhanced the Makefile to synchronize game assets into the APK during the build process.
- Modified the AndroidManifest to set the screen orientation to portrait for better compatibility.
- Improved documentation to reflect the new demo features and asset synchronization process.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-06 17:38:56 +08:00
sunxfancyandCursor 73c779f87f feat: implement file watching functionality in the filesystem module
- Added methods for file watching, including `watch`, `unwatch`, `unwatchAll`, `getWatchCount`, `pollWatch`, `getLastWatchPath`, and `getLastWatchRealPath`.
- Enhanced the `Filesystem` class to support monitoring file changes, allowing for real-time updates.
- Updated the `physfs` implementation to handle file watch targets and events.
- Improved documentation and added unit tests to validate the new file watching features.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-06 14:51:07 +08:00