Alexander Montag
6776319472
Implement Tree Search Functionality with Highlighting and Filtering
...
This commit introduces a comprehensive Tree Search feature, including:
- Tree highlighting: Highlights items that match the search query.
- Tree filtering: Filters items so only matches and descendants are
shown.
- Counting descendants: Shows the number of matching items within collapsed branches.
- Jump to next match: on enter.
- (Limbo-)Shortcut: Default CTRL-F.
- Menu entry: Misc->Search Tree.
- Remember separate SearchInfo for each tab.
Key implementation details:
- Optimized performance for large trees
- Implemented recursive filtering for efficiency
- Added UI elements including next/previous match buttons
Development History:
- Initial implementation of highlighting and filtering
- Multiple rounds of performance optimization
- Bug fixes and refactoring for correctness
- UI enhancements and polish
- Code cleanup and style improvements
2024-10-06 06:57:11 +02:00
yds
db7c990f51
Remember loaded BehaviorTrees of last session
2024-09-21 16:23:13 -03:00
yds
a460c7898b
Add drag preview
2024-09-13 09:04:18 -03:00
yds
8ee3688da2
Implement task multiple selection and drag and drop
2024-09-13 09:04:18 -03:00
Alexander Montag
ad11f401b1
Generalize EDITOR_DEF macro to fix potential editor setting issues
...
This commit provides a generalized solution to ensure editor settings are
properly initialized and available in both module and GDExtension versions.
While #204 fixed the specific issue with 'limbo_ai/editor/layout', this change
aims to prevent similar problems for all editor settings.
In particular, `limbo_ai/editor/prefer_online_documentation` was also not
available.
Changes:
- Updated EDITOR_DEF macro to handle both module and GDExtension cases
- Remove special case for `limbo_ai/editor/layout` in
LimboAiEditorPlugin from earlier fix.
2024-09-03 16:37:54 +02:00
Serhii Snitsaruk
9da16a1e0f
Clean up unused string names
2024-08-21 20:04:35 +02:00
Serhii Snitsaruk
472f360cf9
Switch to contextual behavior tree upon undo action
2024-08-21 17:30:30 +02:00
Serhii Snitsaruk
f550ddd23f
Better error message when failed to read editor setting
2024-08-18 12:41:16 +02:00
Serhii Snitsaruk
5a4893fc53
Editor setting to prefer online docs, and open builtin docs by default
2024-08-05 15:46:02 +02:00
Serhii Snitsaruk
fc26f51ff2
Implement BTInstance - runtime instance of BehaviorTree
2024-08-03 11:07:06 +02:00
Serhii Snitsaruk
bed04dbf87
Hide update_mode for non-root HSMs
2024-07-31 14:50:04 +02:00
Serhii Snitsaruk
cd0bc8e796
Register and call virtual methods on scripts in GDExtension
2024-06-30 12:34:06 +02:00
Wilson E. Alvarez
fe597a5a46
Fix GCC warning for unhandled 'PACKED_VECTOR4_ARRAY' in switch
...
Due to upstream change:
f9b488508c
2024-06-29 14:52:05 -04:00
Wilson E. Alvarez
8f294ac5ea
Migrate to Tree::set_custom_draw_callback
...
Due to upstream change:
a32a2eaedc
2024-06-29 14:52:05 -04:00
Serhii Snitsaruk
7c0c81d141
Hide .0 patch version for builds with pre-release version status only
2024-06-03 22:35:51 +02:00
Serhii Snitsaruk
a04d4aaca4
Show version info in the editor
...
- Version is set in `limboai_version.py` file and hash is taken from GIT on build.
- Click to copy version info into clipboard.
2024-05-30 16:03:05 +02:00
Serhii Snitsaruk
990438db55
Handle built-in resources in "Jump to owner" tab action
2024-05-29 18:27:55 +02:00
Serhii Snitsaruk
a0cd983927
Editor: Fix "jump to owner" from subtree and refactor
2024-05-29 10:53:54 +02:00
Serhii Snitsaruk
c6b1a40627
BlackboardPlan: Update inspector upon mapping editing finished
2024-05-15 12:52:50 +02:00
Serhii Snitsaruk
e43bc25d82
BlackboardPlan: Provide editor hints for mappings
2024-05-14 13:29:04 +02:00
Serhii Snitsaruk
e55611a1a9
Bump doc version
2024-05-12 17:34:12 +02:00
Serhii Snitsaruk
5dff2e537b
Add `agent` parameter to `BTPlayer` to propagate upon `BehaviorTree` initialization, and add `scene_root` property to `BTTask`
...
`scene_root` is useful to resolve exported NodePath properties in `BTTask` instances (and for BBNode parameters).
2024-05-01 23:20:17 +02:00
Serhii Snitsaruk
3918272227
BehaviorTree: New signal for when BB plan changes
...
Utilize `plan_changed` signal in `BTPlayer` and `BTState`.
2024-04-01 16:34:36 +02:00
Serhii Snitsaruk
302de87e32
Prevent using external resources for derived blackboard plans in `BTPlayer` and `BTState`
2024-04-01 15:25:54 +02:00
Serhii Snitsaruk
ebc2ce310f
Bump doc version to v1.0
2024-03-21 21:42:54 +01:00
Serhii Snitsaruk
12fd9d00d6
Update file headers and fix whitespace
2024-03-21 21:38:57 +01:00
Serhii Snitsaruk
06ea008105
Expose checks and operations in `LimboUtility`
2024-03-20 12:13:32 +01:00
Serhii Snitsaruk
193743e782
Provide the previous state in the state_changed signal
...
- Also provide `get_previous_active_state()` method.
- Rename state_changed -> active_state_changed.
2024-03-05 12:58:55 +01:00
Serhii Snitsaruk
4c26583007
Remove "p_" from the argument names in the `ClassDB` bindings
2024-03-04 21:36:16 +01:00
Serhii Snitsaruk
88df78c4a2
Refactor HSM to use StringName for events
2024-03-04 16:19:35 +01:00
Serhii Snitsaruk
5b478b6229
Fix scripted task icons in demo with module version
2024-02-18 14:16:23 +01:00
Serhii Snitsaruk
0ea8b9932c
Debugger: Implement selective tree update in BehaviorTreeView
...
Flame graph showed performance bottleneck with recreating and redrawing the whole tree each frame.
This commit should improve debugger performance by a good margin.
2024-02-17 11:43:31 +01:00
Serhii Snitsaruk
899335d1fe
Util: Function to decorate output variable
2024-02-10 12:34:29 +01:00
Serhii Snitsaruk
d38e6f97f1
Editor: Implement Cut-Copy-Paste
...
Resolves #14
2024-02-08 17:16:26 +01:00
Serhii Snitsaruk
6713ea1590
Fix: Debugger crashes when detached in GDExtension
...
Resolves #25 .
2024-02-06 16:30:02 +01:00
Serhii Snitsaruk
c5b92aa676
Expose BehaviorTreeView for tools and in-game use
2024-02-03 16:59:51 +01:00
Serhii Snitsaruk
656bc169b0
Editor: Scroll to focus when adding a var in Blackboard Plan editor
2024-01-28 22:25:31 +01:00
Serhii Snitsaruk
011040e46f
Editor: Distinguish private variables in the inspector
2024-01-28 21:58:18 +01:00
Serhii Snitsaruk
73f51f23ef
Implement BB variable property editor
2024-01-28 17:49:38 +01:00
Serhii Snitsaruk
c81c1ec872
Blackboard: Add variable-to-property binding interface
2024-01-27 21:44:58 +01:00
Serhii Snitsaruk
a6717ec76d
Editor: Show only relevant hints for the chosen variant type in the Blackboard Plan editor
2024-01-26 16:47:45 +01:00
Serhii Snitsaruk
f912f0acc4
Usability improvements
2024-01-25 22:58:21 +01:00
Serhii Snitsaruk
5fee89b00b
Make blackboard improvements compatible with GDExtension
2024-01-25 19:46:27 +01:00
Serhii Snitsaruk
15e0323919
Implement BlackboardPlan editor
2024-01-24 23:11:09 +01:00
Serhii Snitsaruk
8c67886b52
Parsing BlackboardSource properties
2024-01-23 15:31:56 +01:00
Serhii Snitsaruk
a3f8c09766
Use the new virtual workaround and rework LimboState and HSM
2024-01-18 11:33:24 +01:00
Serhii Snitsaruk
390d4a9385
New and improved workaround for the missing ClassDB::add_virtual_method
2024-01-17 22:46:48 +01:00
Serhii Snitsaruk
c5be3a725f
Editor: Links to "Creating custom tasks" doc page in the editor
2024-01-17 15:51:24 +01:00
Serhii Snitsaruk
dc8dcf9d71
Add action banner if native method override warning is set to Error
2024-01-17 14:49:43 +01:00
Serhii Snitsaruk
242c1f03d7
Fix: Introduction points to a wrong page
2024-01-17 14:16:35 +01:00