- 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
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>
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>
- 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.
- 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.
- 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.