Commit Graph

1165 Commits

Author SHA1 Message Date
Alexander Montag 540bb585a8
Refactor tree filtering logic for correctness and efficiency 2024-10-01 17:09:18 +02:00
Alexander Montag 4f7996b1ea
Fix new filtering approach for TreeSearch 2024-10-01 01:44:16 +02:00
Alexander Montag 74cf9855a7
Fix tree filtering with new approach 2024-10-01 00:13:08 +02:00
Alexander Montag e6e1addbcb
Optimize TreeSearch::_filter_tree for performance 2024-09-30 19:23:49 +02:00
Alexander Montag 8d781da1a6
Replace c-strings with LW_NAME for signals in TreeSearch(Panel) 2024-09-30 19:08:25 +02:00
Alexander Montag 683834f58e
Drop `TreeSearchPanel::set_text`. 2024-09-30 14:22:23 +00:00
Alexander Montag 10c8f58ca9
Remember SearchInfo for each tab. Focus tree when *user* closes SearchPanel 2024-09-30 16:13:36 +02:00
Alexander Montag 20be87904a
Focus tree when search panel is closed 2024-09-29 21:47:38 +02:00
Alexander Montag e8de3adc50
Improve formatting of TreeSearch 2024-09-29 16:43:48 +00:00
Alexander Montag f7d546fc3c
Add one method-const qualifier to TreeSearchPanel 2024-09-29 16:26:18 +00:00
Alexander Montag 585d9663d6
Fix optimization through which the parent count is not drawn 2024-09-29 18:12:18 +02:00
Alexander Montag 5a66160bce
Add `const` qualifiers where possible 2024-09-29 15:57:13 +00:00
Alexander Montag 6200f61162
Fix descendent counter in TreeSearch 2024-09-29 16:48:57 +02:00
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