Changelog#
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[0.9.4] - 2024-02-02#
Changed#
Fix a deadlock that can occur during combined parallel-recursive on-demand execution that’s invoked via ExecutionController::executeDefinition.
Fixed some comment formatting.
[0.9.3] - 2024-01-31#
Added#
An IScheduleFunction interface implementation to the ScheduleFunction.h header to help reduce code duplication (the interface was being implemented in multiple different spots using the same code).
Changed#
Inlined IExecutor method to use the new ScheduleFunction implementation.
[0.9.2] - 2024-01-17#
Changed#
Logging level for TestProfiling to reduce the amount of unnecessary console output when running the unit tests.
[0.9.1] - 2023-12-08#
Added#
Disambiguation logic for accessing the getUseCount method from objects that implement multiple different interfaces that derive from omni::graph::exec::unstable::IBase.
Unit test to validate that the method is now accessible for such objects.
[0.9.0] - 2023-11-30#
Added#
Extra code coverage for EF.
Changed#
Miscellaneous refactorings and clean-up in the EF core.
[0.8.1] - 2023-11-15#
Changed#
ExecutionContext::applyOnEach can now be applied to the top-level execution graph’s NodeGraphDef.
[0.8.0] - 2023-11-09#
Changed#
ExecutionContext now returns an eSuccess status if executeNode is called on a node without an associated definition.
The templated Executor implementation of IExecutor that comes with EF will return early with an eSuccess status if the root task that’s being processed in the top-level/”main” execute() method has no children.
Added#
A specialized ExecutorSingleNode that’s used exclusively by ExecutionContext::executeNode to ensure that the temporary executor doesn’t needlessly continue traversing the graph, scheduling work, etc. once the targeted node has been evaluated.
Unit tests to validate the aforementioned changes.
[0.7.1] - 2023-10-16#
Changed#
Updated documentation for ExecutionContext::isExecutingThread.
[0.7.0] - 2023-10-09#
Changed#
Modified ExecutionContext to store an unordered_map of context-kickstarting thread IDs rather than just a single thread ID. This helps allow for multiple threads to kickstart execution from a single context.
Added new unit tests for ExecutionContext.
[0.6.0] - 2023-09-27#
Changed#
Exposed the unique id for pass objects in the public, ABI-safe PassTypeRegistryEntry struct, which allows passes registered in one .dll to be de-registered from an entirely different .dll.
Small documentation updates (mostly grammatical).
Updates to the GraphUtils to better handle duplicate node names and to provide an option for creating simplified+deterministic versions of GraphViz files for use in automated unit tests.
[0.5.0] - 2023-08-17#
Added#
Added constructor for ExecutionPath taking a span of nodes.
[0.4.0] - 2023-07-21#
Updated#
Renamed Node::createForDef to Node::create.
Removed#
Duplicate code patterns for Node::create methods; API refactoring.
[0.3.0] - 2023-07-17#
Updated#
Renamed IPassPipeline::execute_abi to IPassPipeline::run_abi.
[0.2.8] - 2023-07-17#
Fixed#
Replaced nonexistant FallbackExecutor documentation references to the correct ExecutorFallback.
[0.2.7] - 2023-04-17#
Updated#
Split graph traversal documentation into 2 separate sections; basic traversal code examples are now in the “Guides” section, while the more expansive background information, definitions, animations, advanced code examples, etc. remain in the original “Advanced” article.
[0.2.6] - 2023-04-11#
Updated#
Revisions for graph traversal documentation (with new images, animations, examples, edited sections, etc.).
[0.2.5] - 2023-04-03#
Added#
Graph traversal documentation (minus a couple WIP images).
[0.2.4] - 2023-03-26#
Updated#
A new
disconnect
method for removing edges between EF nodes.
Changed#
remove
method to not perform any automatic reconnections between nodes after removing the target node from the IR.
[0.2.3] - 2023-03-23#
Added#
Support for single-node cycles.
Updated#
A couple unit tests to exercise single-node cyclical behavior.
[0.2.2] - 2023-03-22#
Fixed#
Small alterations to Tarjan’s algorithm implementation + VisitLast + VisitAll strategies to work correctly in cyclical graphs where the children of the root node(s) are members of siad cycles.
Added#
A few new unit tests to exercise EF in situations where children nodes of roots are involved in cycles.
Changed#
Some refactoring of a couple already-existing unit tests/unit test utilities.
[0.2.1] - 2023-02-22#
Changed#
Renamed omni.kit.exec references to omni.kit.exec.core
[0.2.0] - 2023-02-10#
Breaking: Pass registration methods now use
ConstName
rather than a hash when specifying the name of nodes/defs to match.
[0.1.1] - 2023-01-30#
Added link at the top of the changelog for docs
[0.1.0] - 2022-11-14#
Initial version