From 7e55f311a2ea0b5ef8504014c7c5bea25c3a7a24 Mon Sep 17 00:00:00 2001 From: Eric Su Date: Mon, 7 Jul 2025 16:56:57 +0800 Subject: [PATCH 1/4] Update SequenceWithMemory.svg --- docs/nodes-library/SequenceNode.md | 2 +- docs/nodes-library/images/SequenceStar.svg | 1 - docs/nodes-library/images/SequenceWithMemory.svg | 4 ++++ .../version-3.8/nodes-library/images/SequenceStar.svg | 5 ++++- versioned_docs/version-4.0.2/nodes-library/SequenceNode.md | 2 +- .../version-4.0.2/nodes-library/images/SequenceStar.svg | 1 - .../nodes-library/images/SequenceWithMemory.svg | 4 ++++ 7 files changed, 14 insertions(+), 5 deletions(-) delete mode 100644 docs/nodes-library/images/SequenceStar.svg create mode 100644 docs/nodes-library/images/SequenceWithMemory.svg delete mode 100644 versioned_docs/version-4.0.2/nodes-library/images/SequenceStar.svg create mode 100644 versioned_docs/version-4.0.2/nodes-library/images/SequenceWithMemory.svg diff --git a/docs/nodes-library/SequenceNode.md b/docs/nodes-library/SequenceNode.md index db21e1f..16f6bf8 100644 --- a/docs/nodes-library/SequenceNode.md +++ b/docs/nodes-library/SequenceNode.md @@ -72,4 +72,4 @@ If the action __GoTo(B)__ fails, __GoTo(A)__ will not be ticked again. On the other hand, __isBatteryOK__ must be checked at every tick, for this reason its parent must be a `ReactiveSequence`. -![SequenceWithMemory](images/SequenceStar.svg) +![SequenceWithMemory](images/SequenceWithMemory.svg) diff --git a/docs/nodes-library/images/SequenceStar.svg b/docs/nodes-library/images/SequenceStar.svg deleted file mode 100644 index 335116f..0000000 --- a/docs/nodes-library/images/SequenceStar.svg +++ /dev/null @@ -1 +0,0 @@ -SequenceWithMemorySequenceWithMemoryGoTo(C)GoTo(C)RetryUntilSuccessfulRetryUntilSuccessfulGoTo(A)GoTo(A)GoTo(B)GoTo(B) \ No newline at end of file diff --git a/docs/nodes-library/images/SequenceWithMemory.svg b/docs/nodes-library/images/SequenceWithMemory.svg new file mode 100644 index 0000000..932d4bb --- /dev/null +++ b/docs/nodes-library/images/SequenceWithMemory.svg @@ -0,0 +1,4 @@ + + + +
RetryUntilSuccessful
RetryUntilSuccessful
ReactiveSequence
ReactiveSequence
isBatteryOK
isBatteryOK
SequenceWithMemory
SequenceWithMemory
GoTo(A)
GoTo(A)
GoTo(B)
GoTo(B)
GoTo(C)
GoTo(C)
Text is not SVG - cannot display
diff --git a/versioned_docs/version-3.8/nodes-library/images/SequenceStar.svg b/versioned_docs/version-3.8/nodes-library/images/SequenceStar.svg index 335116f..932d4bb 100644 --- a/versioned_docs/version-3.8/nodes-library/images/SequenceStar.svg +++ b/versioned_docs/version-3.8/nodes-library/images/SequenceStar.svg @@ -1 +1,4 @@ -SequenceWithMemorySequenceWithMemoryGoTo(C)GoTo(C)RetryUntilSuccessfulRetryUntilSuccessfulGoTo(A)GoTo(A)GoTo(B)GoTo(B) \ No newline at end of file + + + +
RetryUntilSuccessful
RetryUntilSuccessful
ReactiveSequence
ReactiveSequence
isBatteryOK
isBatteryOK
SequenceWithMemory
SequenceWithMemory
GoTo(A)
GoTo(A)
GoTo(B)
GoTo(B)
GoTo(C)
GoTo(C)
Text is not SVG - cannot display
diff --git a/versioned_docs/version-4.0.2/nodes-library/SequenceNode.md b/versioned_docs/version-4.0.2/nodes-library/SequenceNode.md index 7abb714..2bc73fe 100644 --- a/versioned_docs/version-4.0.2/nodes-library/SequenceNode.md +++ b/versioned_docs/version-4.0.2/nodes-library/SequenceNode.md @@ -71,7 +71,7 @@ If the action __GoTo(B)__ fails, __GoTo(A)__ will not be ticked again. On the other hand, __isBatteryOK__ must be checked at every tick, for this reason its parent must be a `ReactiveSequence`. -![SequenceWithMemory](images/SequenceStar.svg) +![SequenceWithMemory](images/SequenceWithMemory.svg) diff --git a/versioned_docs/version-4.0.2/nodes-library/images/SequenceStar.svg b/versioned_docs/version-4.0.2/nodes-library/images/SequenceStar.svg deleted file mode 100644 index 335116f..0000000 --- a/versioned_docs/version-4.0.2/nodes-library/images/SequenceStar.svg +++ /dev/null @@ -1 +0,0 @@ -SequenceWithMemorySequenceWithMemoryGoTo(C)GoTo(C)RetryUntilSuccessfulRetryUntilSuccessfulGoTo(A)GoTo(A)GoTo(B)GoTo(B) \ No newline at end of file diff --git a/versioned_docs/version-4.0.2/nodes-library/images/SequenceWithMemory.svg b/versioned_docs/version-4.0.2/nodes-library/images/SequenceWithMemory.svg new file mode 100644 index 0000000..932d4bb --- /dev/null +++ b/versioned_docs/version-4.0.2/nodes-library/images/SequenceWithMemory.svg @@ -0,0 +1,4 @@ + + + +
RetryUntilSuccessful
RetryUntilSuccessful
ReactiveSequence
ReactiveSequence
isBatteryOK
isBatteryOK
SequenceWithMemory
SequenceWithMemory
GoTo(A)
GoTo(A)
GoTo(B)
GoTo(B)
GoTo(C)
GoTo(C)
Text is not SVG - cannot display
From 4e687dd6f53c294f3bfc21fff9fb7663fea00940 Mon Sep 17 00:00:00 2001 From: Eric-SHENNONGSHI Date: Mon, 7 Jul 2025 17:20:36 +0800 Subject: [PATCH 2/4] Fix FetchBeer --- corrected_behavior_tree.svg | 1 + docs/learn-the-basics/images/FetchBeer.svg | 184 +++++++++++++++++- .../learn-the-basics/images/FetchBeer.svg | 184 +++++++++++++++++- .../learn-the-basics/images/FetchBeer.svg | 184 +++++++++++++++++- 4 files changed, 550 insertions(+), 3 deletions(-) create mode 100644 corrected_behavior_tree.svg diff --git a/corrected_behavior_tree.svg b/corrected_behavior_tree.svg new file mode 100644 index 0000000..0519ecb --- /dev/null +++ b/corrected_behavior_tree.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/learn-the-basics/images/FetchBeer.svg b/docs/learn-the-basics/images/FetchBeer.svg index 880a142..e530a7b 100644 --- a/docs/learn-the-basics/images/FetchBeer.svg +++ b/docs/learn-the-basics/images/FetchBeer.svg @@ -1 +1,183 @@ -SequenceSequenceOpenFridgeOpenFridgeGrabBeerGrabBeerCloseFridgeCloseFridgeForceSuccessForceSuccessSequenceSequenceOpenFridgeOpenFridgeGrabBeerGrabBeerCloseFridgeCloseFridgeFallbackFallbackForceFailureForceFailureCloseFridgeCloseFridge \ No newline at end of file + + + + + + + + + + + + + + + + Sequence + + + + Sequence + + + + + + + + + OpenFridge + + + + OpenFridge + + + + + + + + + GrabBeer + + + + GrabBeer + + + + + + + + + CloseFridge + + + + CloseFridge + + + + + + + + + + + ForceSuccess + + + + ForceSuccess + + + + + + + + + + + + + + + Sequence + + + + Sequence + + + + + + + + + OpenFridge + + + + OpenFridge + + + + + + + + + GrabBeer + + + + GrabBeer + + + + + + + + + CloseFridge + + + + CloseFridge + + + + + + + + + + + + + Fallback + + + + Fallback + + + + + + + + + + + ForceFailure + + + + ForceFailure + + + + + + + + + CloseFridge + + + + CloseFridge + + + + diff --git a/versioned_docs/version-3.8/learn-the-basics/images/FetchBeer.svg b/versioned_docs/version-3.8/learn-the-basics/images/FetchBeer.svg index 880a142..e530a7b 100644 --- a/versioned_docs/version-3.8/learn-the-basics/images/FetchBeer.svg +++ b/versioned_docs/version-3.8/learn-the-basics/images/FetchBeer.svg @@ -1 +1,183 @@ -SequenceSequenceOpenFridgeOpenFridgeGrabBeerGrabBeerCloseFridgeCloseFridgeForceSuccessForceSuccessSequenceSequenceOpenFridgeOpenFridgeGrabBeerGrabBeerCloseFridgeCloseFridgeFallbackFallbackForceFailureForceFailureCloseFridgeCloseFridge \ No newline at end of file + + + + + + + + + + + + + + + + Sequence + + + + Sequence + + + + + + + + + OpenFridge + + + + OpenFridge + + + + + + + + + GrabBeer + + + + GrabBeer + + + + + + + + + CloseFridge + + + + CloseFridge + + + + + + + + + + + ForceSuccess + + + + ForceSuccess + + + + + + + + + + + + + + + Sequence + + + + Sequence + + + + + + + + + OpenFridge + + + + OpenFridge + + + + + + + + + GrabBeer + + + + GrabBeer + + + + + + + + + CloseFridge + + + + CloseFridge + + + + + + + + + + + + + Fallback + + + + Fallback + + + + + + + + + + + ForceFailure + + + + ForceFailure + + + + + + + + + CloseFridge + + + + CloseFridge + + + + diff --git a/versioned_docs/version-4.0.2/learn-the-basics/images/FetchBeer.svg b/versioned_docs/version-4.0.2/learn-the-basics/images/FetchBeer.svg index 880a142..e530a7b 100644 --- a/versioned_docs/version-4.0.2/learn-the-basics/images/FetchBeer.svg +++ b/versioned_docs/version-4.0.2/learn-the-basics/images/FetchBeer.svg @@ -1 +1,183 @@ -SequenceSequenceOpenFridgeOpenFridgeGrabBeerGrabBeerCloseFridgeCloseFridgeForceSuccessForceSuccessSequenceSequenceOpenFridgeOpenFridgeGrabBeerGrabBeerCloseFridgeCloseFridgeFallbackFallbackForceFailureForceFailureCloseFridgeCloseFridge \ No newline at end of file + + + + + + + + + + + + + + + + Sequence + + + + Sequence + + + + + + + + + OpenFridge + + + + OpenFridge + + + + + + + + + GrabBeer + + + + GrabBeer + + + + + + + + + CloseFridge + + + + CloseFridge + + + + + + + + + + + ForceSuccess + + + + ForceSuccess + + + + + + + + + + + + + + + Sequence + + + + Sequence + + + + + + + + + OpenFridge + + + + OpenFridge + + + + + + + + + GrabBeer + + + + GrabBeer + + + + + + + + + CloseFridge + + + + CloseFridge + + + + + + + + + + + + + Fallback + + + + Fallback + + + + + + + + + + + ForceFailure + + + + ForceFailure + + + + + + + + + CloseFridge + + + + CloseFridge + + + + From 064e58496539a0086a05ff522adf42d0e58b6900 Mon Sep 17 00:00:00 2001 From: Eric-SHENNONGSHI Date: Mon, 7 Jul 2025 18:01:22 +0800 Subject: [PATCH 3/4] Temporary solutions for incomplete docs. --- docs/nodes-library/DecoratorNode.md | 2 ++ docs/nodes-library/FallbackNode.md | 4 +++- docs/nodes-library/SequenceNode.md | 2 ++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/docs/nodes-library/DecoratorNode.md b/docs/nodes-library/DecoratorNode.md index 940ae57..a77e94c 100644 --- a/docs/nodes-library/DecoratorNode.md +++ b/docs/nodes-library/DecoratorNode.md @@ -5,6 +5,8 @@ A decorator is a node that must have a single child. It is up to the Decorator to decide if, when and how many times the child should be ticked. +> Some nodes are not listed yet. See [decorators](https://github.com/BehaviorTree/BehaviorTree.CPP/tree/master/include/behaviortree_cpp/decorators) on Github for complete definitions. + ## Inverter Tick the child once and return SUCCESS if the child failed or FAILURE if diff --git a/docs/nodes-library/FallbackNode.md b/docs/nodes-library/FallbackNode.md index 85639f7..54639ed 100644 --- a/docs/nodes-library/FallbackNode.md +++ b/docs/nodes-library/FallbackNode.md @@ -1,4 +1,4 @@ -# Fallbacks +# Fallbacks (Controls) This family of nodes are known as "Selector" or "Priority" in other frameworks. @@ -36,6 +36,8 @@ To understand how the two ControlNodes differ, refer to the following table: same child is ticked again. Previous siblings, which returned FAILURE already, are not ticked again. +> Some nodes are not listed yet. See [controls](https://github.com/BehaviorTree/BehaviorTree.CPP/tree/master/include/behaviortree_cpp/controls) on Github for complete definitions. + ## Fallback In this example, we try different strategies to open the door. diff --git a/docs/nodes-library/SequenceNode.md b/docs/nodes-library/SequenceNode.md index 16f6bf8..0430154 100644 --- a/docs/nodes-library/SequenceNode.md +++ b/docs/nodes-library/SequenceNode.md @@ -34,6 +34,8 @@ To understand how the three ControlNodes differ, refer to the following table: same child is ticked again. Previous siblings, which returned SUCCESS already, are not ticked again. +> Some nodes are not listed yet. See [controls](https://github.com/BehaviorTree/BehaviorTree.CPP/tree/master/include/behaviortree_cpp/controls) on Github for complete definitions. + ## Sequence This tree represents the behavior of a sniper in a computer game. From b389ed4995f97d98a1086ae28c7b26213330844b Mon Sep 17 00:00:00 2001 From: Eric-SHENNONGSHI Date: Wed, 9 Jul 2025 17:46:29 +0800 Subject: [PATCH 4/4] fixup! Fix typo in SequenceNode.md (#53) --- docs/nodes-library/SequenceNode.md | 2 +- versioned_docs/version-3.8/nodes-library/SequenceNode.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/nodes-library/SequenceNode.md b/docs/nodes-library/SequenceNode.md index 0430154..73e8fc5 100644 --- a/docs/nodes-library/SequenceNode.md +++ b/docs/nodes-library/SequenceNode.md @@ -47,7 +47,7 @@ This tree represents the behavior of a sniper in a computer game. This node is particularly useful to continuously check Conditions; but the user should also be careful when using asynchronous children, to be -sure that they are not ticked more often that expected. +sure that they are not ticked more often than expected. Let's take a look at another example: diff --git a/versioned_docs/version-3.8/nodes-library/SequenceNode.md b/versioned_docs/version-3.8/nodes-library/SequenceNode.md index 7abb714..133db9b 100644 --- a/versioned_docs/version-3.8/nodes-library/SequenceNode.md +++ b/versioned_docs/version-3.8/nodes-library/SequenceNode.md @@ -45,7 +45,7 @@ This tree represents the behavior of a sniper in a computer game. This node is particularly useful to continuously check Conditions; but the user should also be careful when using asynchronous children, to be -sure that they are not ticked more often that expected. +sure that they are not ticked more often than expected. Let's take a look at another example: