18 Commits
Author SHA1 Message Date
github-actions[bot] baa4b936b2 release: 0.5.2 2026-09-19 02:00:09 +00:00
github-actions[bot] b0029b156e release: 0.5.1 2026-09-15 10:02:14 +00:00
github-actions[bot] 69477a4246 release: 0.5.0 2026-09-13 16:16:52 +00:00
github-actions[bot] 9da251b7b1 release: 0.4.0 2026-08-31 17:06:49 +00:00
西风逍遥游 f3decec832 Enhance module configuration and instantiation in EveScript. Updated documentation to clarify the behavior of modules and optionalModules, ensuring only specified slots are instantiated during startup. Improved runtime checks and added support for deferred module binding. Removed deprecated compute shaders and example maps to streamline the project structure. 2026-09-01 00:56:50 +08:00
西风逍遥游 112ace39c2 feat: integrate EveScript across engine tooling 2026-08-26 21:56:34 +08:00
西风逍遥游 1a58e4d809 feat(ui): unify presentation and component framework 2026-08-26 02:35:29 +08:00
github-actions[bot] 4864c3e28b release: 0.3.0 2026-08-25 06:07:47 +00:00
github-actions[bot] 81adf2fbbc release: 0.2.1 2026-08-23 08:23:43 +00:00
github-actions[bot] a136e1b865 release: 0.2.0 2026-08-22 12:09:26 +00:00
西风逍遥游 f7962f43fe feat(examples): developer-experience and AI-native showcase examples
- devlab: flagship --debug example (console/snapshot/AI panel/pause/hot
  reload/error slice), make devlab target with RUN_ARGS support
- ai-game: agent-drivable live game + agent_demo.py (pause/read/mutate/
  verify/snapshot/restore/screenshot loop)
- ai-editor: headless eve mcp editor host demo (JSON View + ViewModel MVVM)
- examples: fill all missing READMEs + config.nut, add examples/ index
- load.nut: add key_just_pressed/clampf/persist helpers; dedupe 19 examples
- rpg/cardgame: move JSON definitions to data files
- fix eve mcp crash: ModuleManager::requireAll() instantiates modules in
  the headless host (IEditorHost etc. were null)
- graphics: actionable screenshot error when readback was just enabled
- CI: smoke all examples (devlab with --debug) + DevLab hot-reload test

Fixes surfaced by the new CI smoke (examples had never been smoke-tested):
- scene_director kit: camera slot doubled as function + instance and was
  nulled by reset(); move the live Camera3D into cameraObj
- readTextFile used non-existent readn()/len(); use file.read()
  (rpg/cardgame/hex-levels)
- daynight used non-existent keyboard.wasPressed() -> key_just_pressed
- outline passed ints to float-only drawSolidRect; linear-structures
  slider passed an int value
- scene-ecs beginNode() requires (id, name); ai-stage guarded compilestring
- smoke_examples.sh: timeout -k 3 so SIGTERM-ignoring hosts cannot hang CI
2026-08-21 19:18:52 +08:00
西风逍遥游 d71b126636 feat(particles): particle system feature set (P0-P2)
Rendering: rotation render fix, additive/opaque blend modes, flipbook animation, gradients and lifetime curves, unified DrawItem2D render path (Vulkan + WebGPU).

Simulation: timed bursts, prewarm, line/ring shapes, gravity, damping, velocity limits/curves, inherit velocity, local/world space, collision (bounds + resolver), CPU noise, sub-emitters, stretched trails, overflow policies, dt caps, offscreen sim skip.

Advanced: radial force fields, custom particle shaders, pooled Light2D particle lights, opt-in GPU-accelerated simulation with automatic CPU fallback.

Fixes: Vulkan pipeline builder lifetime bug (crash on window init), emitter-life emission timing, emit() syncs attachment position.

Tests: new coverage incl. scale regression (128 emitters).
2026-08-17 15:27:43 +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
西风逍遥游andCursor Agent e99641f088 feat(ui): unified theme tokens with named dark/light switching (#23)
Expand Theme into a full design-token set (palette, rounding, borders,
spacing, font scale) shared by dark/light presets. Add setTheme/getTheme
script APIs and apply tokens with DPI scale so geometry stays consistent
across theme switches.

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
2026-08-11 14:48:04 +08:00
西风逍遥游andCursor Agent 5210135fff feat(gpgpu): bridge ECS systems to compute shaders (#20)
Add ShaderSystem so ECS batch updates can run as GLSL compute kernels:
pack float component fields into SSBOs, dispatch, and write back.

Script: eve.ShaderSystem extends eve.System with bindFields/update.
C++: gpgpu::ShaderSystem + EcsGpu.h View pack/unpack helpers.

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
2026-08-10 21:20:44 +08:00
sunxfancy d15bd1d519 feat(ecs): add ECS demo and update Makefile for new game example
- Introduced a new ECS demo in `examples/ecs/main.nut`, showcasing the implementation of Component, Entity, and System classes.
- Updated the Makefile to include a new target for running the ECS example, enhancing the available game scenarios.

These changes provide a foundational example for using the ECS architecture within the engine.
2026-08-08 21:14:46 +08:00
sunxfancy a0c2cd8871 feat(ik): integrate inverse kinematics module and enhance animation capabilities
- Added a new submodule for inverse kinematics (`external/ik.hpp`) to support 2D/3D skeletons and solvers.
- Introduced the `IK` module with factories for `Skeleton2D`, `Skeleton3D`, `Solver2D`, and `Solver3D`.
- Enhanced the animation system with a new `Animation` module that supports property tweening and frame updates.
- Updated CMake configuration to include the new modules and their dependencies.
- Revised documentation to reflect the new features and usage examples for both IK and animation systems.

These additions significantly expand the engine's capabilities for character animation and movement control.
2026-08-08 21:14:36 +08:00
sunxfancy 018f3cd525 feat(makefile): update game directory configuration and enhance run commands
- Changed the default game directory setting to empty, allowing for running the embedded demo without arguments.
- Updated run commands to conditionally change directories based on the GAME variable, improving flexibility for game execution.
- Enhanced documentation in the Makefile to clarify the behavior of the GAME variable and its impact on running the game.

These changes streamline the game execution process and improve user experience when running different game scenarios.
2026-08-08 21:04:16 +08:00