-
Notifications
You must be signed in to change notification settings - Fork 0
feature: using Coral instead #18
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
@coderabbitai summary |
✅ Actions performedSummary regeneration triggered. |
WalkthroughThis update replaces the previous Mono-based scripting integration in StarEngine with the Coral managed runtime. It introduces new math and vector types, refactors the scripting engine and glue code to use Coral, overhauls script metadata and field storage, and adds support for script asset importing. Numerous build scripts and project files are updated to reference Coral. The entity/component system and serialization logic are enhanced for script field handling and editor integration. Changes
Sequence Diagram(s)sequenceDiagram
participant Editor as EditorLayer
participant Project
participant ScriptEngine
participant CoralHost as Coral Host
participant Scene
participant ScriptStorage
Editor->>Project: ReloadScriptEngine()
Project->>ScriptEngine: Shutdown()
Project->>ScriptEngine: Initialize(project)
ScriptEngine->>CoralHost: InitializeHost()
ScriptEngine->>CoralHost: LoadProjectAssembly()
ScriptEngine->>ScriptEngine: BuildAssemblyCache()
ScriptEngine->>Scene: SetCurrentScene()
ScriptEngine->>ScriptStorage: SynchronizeStorage()
sequenceDiagram
participant Entity
participant ScriptStorage
participant ScriptEngine
participant CoralHost
Entity->>ScriptStorage: InitializeEntityStorage(scriptID, entityID)
ScriptStorage->>ScriptEngine: GetScriptMetadata(scriptID)
ScriptEngine->>CoralHost: GetTypeByName()
ScriptStorage->>ScriptStorage: InitializeFieldStorage(fieldID, metadata)
Note over ScriptStorage: Field buffers allocated and default values set
Poem
✨ Finishing Touches
🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
Docstrings generation was requested by @sheazywi. * #18 (comment) The following files were modified: * `StarEditor/src/EditorLayer.cpp` * `StarEditor/src/EditorLayer.h` * `StarEditor/src/Panels/SceneHierarchyPanel.cpp` * `StarEngine-ScriptCore/Source/StarEngine/FrameTime.cs` * `StarEngine-ScriptCore/Source/StarEngine/Input.cs` * `StarEngine-ScriptCore/Source/StarEngine/Math/Interpolate.cs` * `StarEngine-ScriptCore/Source/StarEngine/Math/Mathf.cs` * `StarEngine-ScriptCore/Source/StarEngine/Math/Matrix4.cs` * `StarEngine-ScriptCore/Source/StarEngine/Math/Random.cs` * `StarEngine-ScriptCore/Source/StarEngine/Math/Vector2.cs` * `StarEngine-ScriptCore/Source/StarEngine/Math/Vector3.cs` * `StarEngine-ScriptCore/Source/StarEngine/Math/Vector4.cs` * `StarEngine-ScriptCore/Source/StarEngine/Scene/AssetHandle.cs` * `StarEngine-ScriptCore/Source/StarEngine/Scene/Components.cs` * `StarEngine-ScriptCore/Source/StarEngine/Scene/ConsoleLog.cs` * `StarEngine-ScriptCore/Source/StarEngine/Scene/Entity.cs` * `StarEngine-ScriptCore/Source/StarEngine/Scene/Scene.cs` * `StarEngine/src/StarEngine/Asset/Asset.cpp` * `StarEngine/src/StarEngine/Asset/Asset.h` * `StarEngine/src/StarEngine/Asset/AssetImporter.cpp` * `StarEngine/src/StarEngine/Asset/AssetImporter.h` * `StarEngine/src/StarEngine/Asset/EditorAssetManager.cpp` * `StarEngine/src/StarEngine/Asset/SceneImporter.cpp` * `StarEngine/src/StarEngine/Asset/SceneImporter.h` * `StarEngine/src/StarEngine/Core/Application.cpp` * `StarEngine/src/StarEngine/Core/Base.h` * `StarEngine/src/StarEngine/Core/Buffer.h` * `StarEngine/src/StarEngine/Core/UUID.h` * `StarEngine/src/StarEngine/Physics/ContactListener2D.cpp` * `StarEngine/src/StarEngine/Project/Project.cpp` * `StarEngine/src/StarEngine/Project/Project.h` * `StarEngine/src/StarEngine/Scene/Entity.h` * `StarEngine/src/StarEngine/Scene/Scene.cpp` * `StarEngine/src/StarEngine/Scene/Scene.h` * `StarEngine/src/StarEngine/Scene/SceneSerializer.cpp` * `StarEngine/src/StarEngine/Scripting/CSharpObject.h` * `StarEngine/src/StarEngine/Scripting/ScriptEngine.cpp` * `StarEngine/src/StarEngine/Scripting/ScriptEngine.h` * `StarEngine/src/StarEngine/Scripting/ScriptEntityStorage.cpp` * `StarEngine/src/StarEngine/Scripting/ScriptEntityStorage.h` * `StarEngine/src/StarEngine/Scripting/ScriptFile.h` * `StarEngine/src/StarEngine/Scripting/ScriptGlue.cpp` * `StarEngine/src/StarEngine/Scripting/ScriptGlue.h` * `StarEngine/src/StarEngine/Utils/Hash.h` * `StarEngine/src/StarEngine/Utils/TypeInfo.h`
Note Generated docstrings for this pull request at #20 |
For the moment what I'll do is that I will put everything already added and put more if I want to sometime.
Summary by CodeRabbit
New Features
Improvements
Bug Fixes
Chores
Documentation
This update brings significant improvements to scripting, scene management, editor usability, and engine extensibility.