Skip to content
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

Re-implement debugger in C++ #289

Open
bitbrain opened this issue Jan 6, 2024 · 1 comment
Open

Re-implement debugger in C++ #289

bitbrain opened this issue Jan 6, 2024 · 1 comment
Labels
🔨 debugger Issues related to the debugger. 🐝 v3 Relates to work for Beehave V3
Milestone

Comments

@bitbrain
Copy link
Owner

bitbrain commented Jan 6, 2024

read #285 for the announcement for Beehave 3.0

The current debugger in C++ is not super reliable. Re-implement its functionality in C++ and make use of C++ specific language features, as well as accessing more low-level Godot APIs for a cleaner integration.

Problems with the old design

The old design combined all concepts together as the following:

  • debugger - responsible for hooking into Godot's Debug API
  • graph_edit/graph_node/tree_node UI components with dependencies into debugger
  • frames/debugger_messages - responsible for messaging

While the design worked on the surface, it was difficult to test and to extend. The new design aims to solve this with a more modular architecture

New Design

  • BeehaveServer is a new component that allows to query status about Beehave trees and their nodes
  • BeehaveDebugControl is a new native control that can be connected to a particular behaviour tree and it is able to display the behaviour tree information in realtime. It is built in a way to allow for various visualisations of the data:
    • BeehaveDebugTree visualises the behaviour tree with its statuses
    • BeehaveDebugStats visualises statistics of the behaviour tree
    • BeehaveDebugTreeHistory displays a list of states of the behaviour tree, e.g. what status the tree was in within the past 100 frames. See Debug tree history #311 for details.
  • BeehaveEditorDebugger is the component that integrates the BeehaveDebugControl into the Godot editor itself.
@bitbrain bitbrain added the 🐝 v3 Relates to work for Beehave V3 label Jan 6, 2024
@bitbrain bitbrain added this to the 3.0.0 milestone Jan 6, 2024
@bitbrain
Copy link
Owner Author

bitbrain commented Jan 6, 2024

Use this branch as a base: https://github.com/bitbrain/beehave/tree/v3

@bitbrain bitbrain added the 🔨 debugger Issues related to the debugger. label May 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🔨 debugger Issues related to the debugger. 🐝 v3 Relates to work for Beehave V3
Projects
None yet
Development

No branches or pull requests

1 participant