doc: clarify scoping for BTState

This commit is contained in:
Laurent Senta 2025-01-10 09:22:19 +01:00 committed by GitHub
parent e3be34670e
commit 7b5b7c00c2
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 9 additions and 4 deletions

View File

@ -122,10 +122,15 @@ This creates a "blackboard scope chain," where each :ref:`Blackboard<class_Black
and there is no limit to how many blackboards can be in this chain.
It's important to note that the :ref:`Blackboard<class_Blackboard>` doesn't modify values in the parent scopes.
Some scopes are created automatically. For instance, when using the :ref:`BTNewScope<class_BTNewScope>`
and :ref:`BTSubtree<class_BTSubtree>` decorators, or when a :ref:`LimboState<class_LimboState>`
has non-empty blackboard plan defined, or when a root-level :ref:`LimboHSM<class_LimboHSM>`
node is used. Such scopes prevent naming collisions between contextually separate environments.
Scopes are created automatically to prevent naming collisions between contextually separate environments:
- Within :ref:`BTNewScope<class_BTNewScope>`.
- Under :ref:`BTSubtree<class_BTSubtree>` decorators.
- With :ref:`LimboState<class_LimboState>` that have a non-empty blackboard plan defined.
- Under :ref:LimboHSM<class_LimboHSM> nodes: A new scope is created at the root level,
and each :ref:BTState<class_BTState> child also receives its own separate scope.
Such scopes
Sharing data between several agents
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~