Commit Graph

1152 Commits

Author SHA1 Message Date
monxa e68e0236e9
Improve performance for TreeSearch (#1)
* Improve TreeSearch performance.

Experimental, hence this is on a different branch.

This commit vastly improves performance by not updating the tree
for search mask changes.

Relates to: https://github.com/limbonaut/limboai/pull/229

* Fix SearchTree overdraw after performance optimization

* Manage Performance optimizations: TreeSearch no. 2
- Carefully manage callable_cache
- Only clear filter when previously filtered
- Reintroduce sorting for ordered_tree_items

This commit addresses performance issues in TreeSearch and fixes
a critical bug where ordered_tree_items was not being sorted.
The bug was introduced during a merge with the main feature branch.

* Use queue_redraw as much as possible for Tree updates.

* Fix TreeSearch after performance considerations
2024-09-29 14:50:07 +02:00
Alexander Montag cb163ebc38 Improve readability of TreeSearch 2024-09-29 00:08:24 +00:00
Alexander Montag c909582480 TreeSearch(Panel): Align ordering .h <-> .cpp 2024-09-29 02:01:23 +02:00
Alexander Montag 68514e2e13 Add missing `break` statement - TreeSearch::notification 2024-09-28 20:04:43 +02:00
Alexander Montag acb2bcc901 Use LW_NAME in TreeSearch where appropriate 2024-09-28 17:45:17 +00:00
Alexander Montag a31b8b7520 Follow up: Move BUTTON_SETICON to THEME_CHANGED 2024-09-28 17:31:20 +00:00
Alexander Montag 62460496e4 Address set_text in THEME_CHANGED, address inconsistency 2024-09-28 19:11:59 +02:00
Alexander Montag cd85e6dd30 Initialize controls in constructor, bind emit callbacks without wrapper in TreeSearchPanel 2024-09-28 16:45:11 +00:00
Alexander Montag 3b73f24f33 Make TreeSearchMode member of TreeSearch 2024-09-28 17:58:42 +02:00
Alexander Montag 329e90dfc6 Rename TreeSearch::notify_item_edited
Also: Run clang-format. Remove comment.
2024-09-28 17:46:29 +02:00
Alexander Montag 84b2a60521 Adjust tooltips + misc-menu entry 2024-09-28 17:29:45 +02:00
Alexander Montag cc8f099d82 Improve TreeSearch performance; part1 2024-09-28 12:08:27 +00:00
Alexander Montag 380f80c2b3 Fix Editor scaling for TreeSearch 2024-09-27 18:33:14 +02:00
Alexander Montag ffe344d166 Make TreeSearch independent, remove unnecessary draw bind 2024-09-27 16:07:42 +00:00
Alexander Montag 9a1641e8ab Move TreeSearch::update_tree in TaskTree from update_tree
Catches all cases where the tree is modified. Also those, where for example the tab is switched.
2024-09-27 15:24:14 +00:00
Alexander Montag 47706e9480 Make TreeSearch::search_panel private and fix nulltpr 2024-09-27 17:08:04 +02:00
Alexander Montag 0fc11bf05b Make TreeSearch::_select_item consistent 2024-09-26 15:36:59 +00:00
Alexander Montag af15dde4c8 Simplify signals of TreeSearchPanel 2024-09-26 07:53:02 +02:00
Alexander Montag 1145ce0252 Clean up TreeSearch: Consistent p_params, -Destructor 2024-09-26 05:28:59 +00:00
Alexander Montag 8d29f16963 Fix filtering: Allow matching for root as ancestor 2024-09-25 19:47:28 +02:00
Alexander Montag b8259c6ee7 Address memory leak 2024-09-25 19:47:28 +02:00
Alexander Montag aed8892760 Fix regression from 62f8e: Select next item 2024-09-25 19:47:28 +02:00
Alexander Montag 8c323956e3 Unify highlight and filter, simplify ui 2024-09-25 19:47:28 +02:00
Alexander Montag 18a6bbeae6 Implement filtering for TreeSearch 2024-09-25 19:47:28 +02:00
Alexander Montag b4974bffd2 Run clang-format 2024-09-25 19:47:28 +02:00
Alexander Montag f523af2d13 Make TreeSearchPanel HFlowContainer 2024-09-25 19:47:28 +02:00
Alexander Montag a80b737319 Implement tree search: highlighting 2024-09-25 19:47:28 +02:00
Alexander Montag 7c4a462a69 Add ui for Tree search 2024-09-25 19:47:28 +02:00
Serhii Snitsaruk 134bb3214a
Merge pull request #225 from ydeltastar/remember-last-session
Remember loaded `BehaviorTree`s of last session
2024-09-22 13:32:56 +02:00
yds db7c990f51 Remember loaded BehaviorTrees of last session 2024-09-21 16:23:13 -03:00
Serhii Snitsaruk 08884e6180
Merge pull request #219 from monxa/fix-miscmenu-layout-duplicates
Fix duplicate entries in Misc->Layout
2024-09-17 14:42:01 +02:00
Alexander Montag c2130a7b2f Fix duplicate entries in Misc->layout
Fixes #218
2024-09-17 02:16:47 +02:00
Serhii Snitsaruk 5ddc43fe94
Merge pull request #215 from limbonaut/prefetch-with-base-plan
Prefetch nodes set directly in the BehaviorTree's BlackboardPlan
2024-09-15 17:06:55 +02:00
Serhii Snitsaruk 601aed3684
Merge pull request #216 from limbonaut/gha-debug-builds
GHA: Add an option to create GDExtension debug builds
2024-09-15 16:23:08 +02:00
Serhii Snitsaruk 0e4c06f3b8
Update class docs 2024-09-15 15:47:22 +02:00
Serhii Snitsaruk ac2d734122
Use different prefetch root for the base plan in BTPlayer and BTState 2024-09-15 15:47:11 +02:00
Serhii Snitsaruk 1ca1154cd0
Merge pull request #214 from limbonaut/fix-warnings
Fix loop variables used as copy
2024-09-15 14:36:36 +02:00
Serhii Snitsaruk a8a0f24492
BlackboardPlan: Allow passing different prefetch root for the base plan 2024-09-15 14:16:54 +02:00
Serhii Snitsaruk 50e9e570dd
Fix loop variables used as copy 2024-09-15 13:32:58 +02:00
Serhii Snitsaruk d72c2e0648
Merge pull request #213 from limbonaut/fix-setagentprop-name
Fix `BTSetAgentProperty` name generation
2024-09-14 20:23:58 +02:00
Serhii Snitsaruk da2bc5e3bb
Fix `BTSetAgentProperty` name generation 2024-09-14 19:56:31 +02:00
Serhii Snitsaruk c4481d8bed
Merge pull request #212 from limbonaut/fix-bbnode-getvalue-crash
Fix `BBNode::get_value()` crash with a freed object using GDExtension
2024-09-14 19:49:29 +02:00
Serhii Snitsaruk 689c8fab6f
Fix `BBNode::get_value()` crash with a freed object in GDExtension
It may be a bug in GDExtension. I optimized the code, and, as a workaround, removed casting to Object* from Variant. This fixed the issue. The same code worked well using module.
2024-09-14 19:30:28 +02:00
Serhii Snitsaruk fd0eb34b4e
Merge pull request #211 from limbonaut/fix-bt-for-each
Fix `BTForEach` crash if elements are removed from the array during iteration
2024-09-14 17:00:10 +02:00
Serhii Snitsaruk bfcc2f8e1b
Merge pull request #210 from ydeltastar/multi-select
Implement task multiple selection and drag and drop
2024-09-14 16:54:07 +02:00
Serhii Snitsaruk b8c9db0d44
Fix BTForEach crash if elements are removed from the array during iteration 2024-09-14 16:42:30 +02:00
yds 4df6647a75 Improve multiple drag and drop 2024-09-14 11:22:52 -03:00
Serhii Snitsaruk d78adabf7c
Bump version to 1.3-dev 2024-09-13 14:13:00 +02:00
yds 1742018696 Preserve selection after drop 2024-09-13 09:04:18 -03:00
yds a460c7898b Add drag preview 2024-09-13 09:04:18 -03:00