Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 99b3dd5

Browse files
committed
Deployed dd98ecc with MkDocs version: 1.0.4
1 parent 068d591 commit 99b3dd5

File tree

3 files changed

+18
-17
lines changed

3 files changed

+18
-17
lines changed

MigrationGuide/index.html

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -699,15 +699,15 @@ <h1 id="migration-guide-from-v2-to-v3">Migration Guide from V2 to V3</h1>
699699
<p>In practice, this means that:</p>
700700
<ul>
701701
<li>
702-
<p>Custom Actions (or, in general, custom TreeNodes) must be reusable building
702+
<p>Custom Actions (or, in general, custom TreeNodes) must be <strong>reusable</strong> building
703703
blocks. Implement them once, reuse them many times.</p>
704704
</li>
705705
<li>
706-
<p>To build a Behavior Tree out of TreeNodes, the Behavior Designer must
707-
not need to read nor modify the source code of the a given TreeNode.</p>
706+
<p>To build a Behavior Tree out of TreeNodes, the Behavior Designer <strong>must
707+
not need to read nor modify the source code</strong> of the a given TreeNode.</p>
708708
</li>
709709
</ul>
710-
<p>There is a <strong>major design flaw</strong> that undermines this goal in version <code>2.x</code>:
710+
<p>There was a major design flaw that undermined these goals in version <code>2.x</code>:
711711
the way the BlackBoard was used to implement DataFlow between nodes.</p>
712712
<p>As described in <a href="https://github.com/BehaviorTree/BehaviorTree.CPP/issues/18">issue #18</a>
713713
there are several potential problems with the Blackboard approach:</p>
@@ -762,14 +762,15 @@ <h2 id="blackboard-nodeparameters-an-dataports">Blackboard, NodeParameters an Da
762762
shared <strong>key/value</strong> table, i.e. a glorified bunch of global variables.</p>
763763
<p>The key is a <code>string</code>, whilst the value is
764764
stored in a type-safe container similar to <code>std::any</code> or <code>std::variant</code>.</p>
765-
<p>The problem is that writing/reading in an entry of the BB is done <strong>implicitly</strong>
766-
in the source code and it is usually hard-coded. This makes the TreeNode
765+
<p>The problem is that writing/reading in an entry of the BB was done <strong>implicitly</strong>
766+
in the source code and it was usually hard-coded. This made the TreeNode
767767
not reusable.</p>
768768
<p>To fix this, we still use the Blackboard under the hood, but it can not be
769-
accessed directly anymore. Entries are read/written using respectively <code>InputPorts</code>
770-
and <code>OutputPorts</code>.</p>
771-
<p>These ports <strong>must be modelled</strong> to allow remapping at run-time.</p>
772-
<p>Let's take a look to an example at the old code:</p>
769+
accessed directly anymore. </p>
770+
<p>In version <code>3.x</code>Blackboard entries can be read/written using respectively
771+
<code>InputPorts</code> and <code>OutputPorts</code>.</p>
772+
<p>These ports <strong>must be defined explicitly</strong> to allow remapping at run-time.</p>
773+
<p>Let's take a look to an example writte using the <strong>old</strong> code:</p>
773774
<div class="codehilite"><pre><span></span><span class="nt">&lt;root&gt;</span>
774775
<span class="nt">&lt;BehaviorTree&gt;</span>
775776
<span class="nt">&lt;SequenceStar&gt;</span>
@@ -825,7 +826,7 @@ <h2 id="blackboard-nodeparameters-an-dataports">Blackboard, NodeParameters an Da
825826
and modify it.</p>
826827
<p>In other words, <code>NodeParameter</code> is already a reasonably good implementation
827828
of an <code>InputPort</code>, but we need to introduce a consistent <code>OutputPort</code> too.</p>
828-
<p>This is the new code:</p>
829+
<p>This is the <strong>new</strong> code:</p>
829830
<div class="codehilite"><pre><span></span><span class="nt">&lt;root&gt;</span>
830831
<span class="nt">&lt;BehaviorTree&gt;</span>
831832
<span class="nt">&lt;SequenceStar&gt;</span>
@@ -922,7 +923,7 @@ <h2 id="subtrees-remapping-and-isolated-blackboards">SubTrees, remapping and iso
922923
remapping in the XML definition. No C++ code need to be modified.</p>
923924
<p>From the point of view of the XML, remapped ports of a SubTree looks exactly
924925
like the ports of a single node.</p>
925-
<p>For more details, refer to the example __t06_subtree_port_remapping.cpp_.</p>
926+
<p>For more details, refer to the example <strong>t06_subtree_port_remapping.cpp</strong>.</p>
926927
<h2 id="controlnodes-renamedrefactored">ControlNodes renamed/refactored</h2>
927928
<p>The <a href="https://en.wikipedia.org/wiki/Principle_of_least_astonishment">principle of least astonishment</a>
928929
applies to user interface and software design. A typical formulation of the principle, from 1984, is: </p>
@@ -945,13 +946,13 @@ <h2 id="controlnodes-renamedrefactored">ControlNodes renamed/refactored</h2>
945946
</li>
946947
</ul>
947948
<p>The main concern of the original author of this library was to build reactive
948-
Behavior Trees (see for reference this <a href="0https://arxiv.org/abs/1709.00084">publication</a>.</p>
949+
Behavior Trees (see for reference this <a href="0https://arxiv.org/abs/1709.00084">publication</a>).</p>
949950
<p>I share this goal, but I prefer to have more explicit names, because reactive
950951
ControlNodes are useful but hard to reason about sometimes.</p>
951-
<p>I don't think reactive Controlnodes should be the mindlessly by default. </p>
952+
<p>I don't think reactive ControlNodes should be used mindlessly by default. </p>
952953
<p>For instance, most of the time users I talked with should have used <code>SequenceStar</code>
953954
instead of <code>Sequence</code> in many cases.</p>
954-
<p>I renamed the ControlNodes to reflect this reality:</p>
955+
<p>I renamed the ControlNodes as follows to reflect this reality:</p>
955956
<table>
956957
<thead>
957958
<tr>
@@ -999,7 +1000,7 @@ <h2 id="controlnodes-renamedrefactored">ControlNodes renamed/refactored</h2>
9991000
more than a single asynchronous child. </p>
10001001
<p>The new recommendation is: </p>
10011002
<blockquote>
1002-
<p><strong>Reactive nodes shouldn't have more than a single asynchronous child</strong>.</p>
1003+
<p><strong>Reactive nodes should NOT have more than a single asynchronous child</strong>.</p>
10031004
</blockquote>
10041005
<p>This is a very opinionated decision and for this reason it is documented but
10051006
not enforced by the implementation.</p>

search/search_index.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

sitemap.xml.gz

0 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)