Skip to content

datatype reworks. vector and tree.#1733

Open
Azaezel wants to merge 18 commits into
TorqueGameEngines:developmentfrom
Azaezel:TreeWork
Open

datatype reworks. vector and tree.#1733
Azaezel wants to merge 18 commits into
TorqueGameEngines:developmentfrom
Azaezel:TreeWork

Conversation

@Azaezel
Copy link
Copy Markdown
Contributor

@Azaezel Azaezel commented May 11, 2026

For the core vector class: Adds the capacity to set a fixed size to a given vector at compile time. Adds the capacity to redirect the standard allocator to a custom one.

New fundamental datatype: TreeNode. structured as a Vector of Vectors of a given type, contains leaf/node logic helpers, as well as a holder example class, TreeObject, which demonstrates serializing to and from the console for any given console-aware data struct.

Intended usage is for a new generalized backbone for scenegraphs, armatures, nodegraphs, FSM states, ect.

Azaezel added 13 commits January 8, 2026 11:53
variation on vector
tree->treenode for clarity, foreshorted a few method names, added a few inline utility methods
extended template to use a compiletime nullClears (defaults to true) to clear nodes if they would be set to NULL entries
cleanups and refactors
yet more utility methods
added new methods
inline void nullChild(U32 i)
   static void safeDetachFromParent(TreeNode<T, nullClears>* node)
   inline void forEachLeafAs(Func callback)
…andling, more utility methods, mostly focused on extracting vectors, plugging in callback enabled functions, and the ability to add safety checks like circular dependency detection (also tree stitching)
@Azaezel Azaezel added the 4.2 label May 11, 2026

#endif

void test_Vector_dynamic() {
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

do ya want this broken out to a unit test ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants