Skip to content

v1.2-Pre-Alpha

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 14 Oct 02:12
66d1dc6

Scene actions can now use game.scene.SceneName.ObjectPath:api(...) in Lua/Luau and the corresponding native member syntax in every other gameplay SDK. The path supplies the receiver, so a script attached to Controller can tween Player without passing Player again. Objectless services use game.rustic; Explorer-file operations use game.rustic.files and insert the selected source file into the correct argument position.

Add receiver methods for tweens, movement, effects, cameras, physics, animation, signals, groups/tags, hierarchy, lifetime and components; retain existing API tables for compatibility. Resolve canonical scene targets against the live world, including queued renames in the same callback. Cache Lua/Luau file children so repeated audio selections share their decoded clip. Update generated editor declarations and engine documentation. C uses explicit receiver values because it has no implicit method receiver.

Validation:

  • RUSTIC_REQUIRE_ALL_SDKS=1 cargo test -p engine-scripting -p engine-play --lib: 113 tests pass. The new real-runtime fixture executes all ten scripting types, verifies a renamed target, receiver argument placement, Python/PHP named arguments, a global timer and an Explorer file operation; the script owner remains unchanged.
  • cargo clippy -p engine-scripting -p engine-play --all-targets -- -D warnings and cargo fmt --all -- --check pass.
  • Lua/Luau decoded-audio reuse tests pass; Python, JavaScript and PHP syntax checks pass; native C, C++, C# and Java SDKs compile and execute in the runtime tests.

Windows installer validation remains blocked: the required powershell -ExecutionPolicy Bypass -File ./tools/build-windows-installer.ps1 invocation fails because PowerShell is unavailable in this Linux environment. No fresh setup executable was produced. Keep this PR in draft until the Windows installer build passes.

Companion website documentation PR: Rustic-Game-Engine/docs#41

Conflict resolution: merged current main, preserved SDK parity and canonical path APIs, and removed an automatically duplicated C++ method. Reran all 113 engine-play/engine-scripting tests with every SDK required; Clippy and formatting pass. Windows installer validation remains blocked because PowerShell is unavailable.