Skip to content

Commit 1792196

Browse files
facontidavideclaude
andcommitted
Add Doxygen welcome page with organized navigation
Creates a main landing page for the API documentation with: - Quick links to core classes (BehaviorTreeFactory, Blackboard, TreeNode) - Node Types overview table - Complete list of built-in Control Nodes (Sequences, Fallbacks, Parallels, Conditional) - Complete list of built-in Decorators (Repetition, Timing, Result Modification, etc.) - Complete list of built-in Actions (Status, Blackboard, Utility, Scripting, Queue) - Core Concepts, Logging & Tools, and external Resources Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 parent 2fb34b5 commit 1792196

File tree

2 files changed

+109
-3
lines changed

2 files changed

+109
-3
lines changed

Doxyfile

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -781,7 +781,8 @@ WARN_LOGFILE =
781781
# spaces. See also FILE_PATTERNS and EXTENSION_MAPPING
782782
# Note: If this tag is empty the current directory is searched.
783783

784-
INPUT = ./include
784+
INPUT = ./include \
785+
./docs/mainpage.md
785786

786787
# This tag can be used to specify the character encoding of the source files
787788
# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
@@ -974,7 +975,7 @@ FILTER_SOURCE_PATTERNS =
974975
# (index.html). This can be useful if you have a project on for instance GitHub
975976
# and want to reuse the introduction page also for the doxygen output.
976977

977-
USE_MDFILE_AS_MAINPAGE =
978+
USE_MDFILE_AS_MAINPAGE = docs/mainpage.md
978979

979980
#---------------------------------------------------------------------------
980981
# Configuration options related to source browsing
@@ -1184,7 +1185,8 @@ HTML_STYLESHEET =
11841185
# list). For an example see the documentation.
11851186
# This tag requires that the tag GENERATE_HTML is set to YES.
11861187

1187-
HTML_EXTRA_STYLESHEET =
1188+
HTML_EXTRA_STYLESHEET = 3rdparty/doxygen-awesome-css/doxygen-awesome.css \
1189+
3rdparty/doxygen-awesome-css/doxygen-awesome-sidebar-only.css
11881190

11891191
# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or
11901192
# other source files which should be copied to the HTML output directory. Note

docs/mainpage.md

Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
# BehaviorTree.CPP {#mainpage}
2+
3+
C++ library for behavior tree execution.
4+
5+
## Quick Start
6+
- @ref BT::BehaviorTreeFactory - Create and register nodes
7+
- @ref BT::Blackboard - Shared data storage
8+
- @ref BT::TreeNode - Base class for all nodes
9+
10+
## Node Types
11+
12+
| Category | Description | Key Classes |
13+
|----------|-------------|-------------|
14+
| **Actions** | Execute tasks | @ref BT::SyncActionNode, @ref BT::StatefulActionNode |
15+
| **Conditions** | Check state | @ref BT::ConditionNode |
16+
| **Control** | Flow control | @ref BT::SequenceNode, @ref BT::FallbackNode, @ref BT::ParallelNode |
17+
| **Decorators** | Modify behavior | @ref BT::RetryNode, @ref BT::TimeoutNode, @ref BT::InverterNode |
18+
19+
## Built-in Control Nodes
20+
21+
### Sequences
22+
- @ref BT::SequenceNode
23+
- @ref BT::ReactiveSequence
24+
- @ref BT::SequenceWithMemory
25+
26+
### Fallbacks
27+
- @ref BT::FallbackNode
28+
- @ref BT::ReactiveFallback
29+
30+
### Parallels
31+
- @ref BT::ParallelNode
32+
- @ref BT::ParallelAllNode
33+
34+
### Conditional
35+
- @ref BT::IfThenElseNode
36+
- @ref BT::WhileDoElseNode
37+
- @ref BT::SwitchNode
38+
- @ref BT::ManualSelectorNode
39+
40+
## Built-in Decorators
41+
42+
### Repetition
43+
- @ref BT::RetryNode
44+
- @ref BT::RepeatNode
45+
- @ref BT::LoopNode
46+
47+
### Timing
48+
- @ref BT::TimeoutNode
49+
- @ref BT::DelayNode
50+
51+
### Result Modification
52+
- @ref BT::InverterNode
53+
- @ref BT::ForceSuccessNode
54+
- @ref BT::ForceFailureNode
55+
56+
### Execution Control
57+
- @ref BT::RunOnceNode
58+
- @ref BT::KeepRunningUntilFailureNode
59+
60+
### Subtrees
61+
- @ref BT::SubTreeNode
62+
63+
### Preconditions
64+
- @ref BT::PreconditionNode
65+
- @ref BT::EntryUpdatedDecorator
66+
67+
## Built-in Actions
68+
69+
### Status
70+
- @ref BT::AlwaysSuccessNode
71+
- @ref BT::AlwaysFailureNode
72+
73+
### Blackboard
74+
- @ref BT::SetBlackboardNode
75+
- @ref BT::UnsetBlackboardNode
76+
77+
### Utility
78+
- @ref BT::SleepNode
79+
- @ref BT::TestNode
80+
81+
### Scripting
82+
- @ref BT::ScriptNode
83+
- @ref BT::ScriptCondition
84+
85+
### Entry Updated
86+
- @ref BT::EntryUpdatedAction
87+
88+
### Queue
89+
- @ref BT::PopFromQueue
90+
- @ref BT::QueueSize
91+
92+
## Core Concepts
93+
- @ref BT::PortInfo - Type-safe port system
94+
- @ref BT::Expected - Result type for error handling
95+
- @ref BT::NodeStatus - Node execution states
96+
97+
## Logging & Tools
98+
- @ref BT::FileLogger2 - File logging
99+
- @ref BT::StdCoutLogger - Console output
100+
- @ref BT::Groot2Publisher - Groot2 editor integration
101+
102+
## Resources
103+
- [GitHub Repository](https://github.com/BehaviorTree/BehaviorTree.CPP)
104+
- [Groot2 Editor](https://www.behaviortree.dev/)

0 commit comments

Comments
 (0)