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.
[Unreleased]
[1.77.0] - 2024-05-07
Changed
Fix OGN node generation build when using kit-kernel
[1.76.0] - 2024-01-30
Added
More detailed database tests for better code coverage of generated code
[1.75.0] - 2024-01-26
Added
Function to nicely format attribute and node type names for the user
Pedantic mode for the node generator so that smaller details needing attention can emit warnings
Changed
Modified docs generator to use the nice formatting when an explicit override does not exist
Updated the OGN best practices documentation with more information on execution attributes
[1.74.0] - 2024-01-19
Added
Documentation for best practices in naming and documentation in .ogn files.
Changed
Modified repo tools to share common code and look in the DriveSim relative locations
Changed nodes.json generator to call the script directly in the build rather than going through repo tools
[1.73.0] - 2024-01-16
Added
Extra code coverage and unit tests.
[1.72.0] - 2024-01-15
Changed
Moved nodes.json generation to a post build command
[1.71.0] - 2024-01-16
Added
extras keyword for specifying the addition of generators not normally running
Implementation of Python database generation for cpp nodes when it is added as an extra
[1.70.0] - 2024-01-12
Changed
Ogn scanner now prioritizes package files even with a version mismatch occurs
[1.69.0] - 2024-01-05
Added
Code coverage tests for attribute generation and some utilities
[1.68.0] - 2024-01-04
Changed
Changed test generation to use separate graphs instead of fresh scenes
Threading tests now run multiple test cases at once
[1.67.0] - 2023-12-28
Added
Testing for main_docs and generate_type_name_conversions tools
Changed
Configuration of the tools to allow for easier testing
Removed
Obsolete tool to add node type information to the .toml file - that approach will not be used
[1.66.0] - 2023-12-15
Removed
The unused generated Python databases on C++ nodes
[1.65.0] - 2023-12-08
Changed
Invalid extended types cause ogn parsing to fail
[1.64.0] - 2023-12-05
Changed
Ensured the icon path written as metadata is relative
[1.63.0] - 2023-12-01
Changed
Modified the icon path metadata to point to the build tree
[1.62.1] - 2023-11-27
Added
Handle OSError that may be raised when the test module init.py file cannot be locked for writing.
[1.62.0] - 2023-11-23
Fixed
init_instance and release_instance were not passing the instanceID to the user callback
[1.61.1] - 2023-11-17
Fixed
Fixed exception when the number of node definitions to be imported as background tasks is less than the thread count.
[1.61.0] - 2023-11-17
Changed
Deprecated the generated db.internalState and DB::sInternalState functions, in favor of the sharedState and perInstanceState version
Stack created OGN databsases now have access to (auto)instances
Added
Generates the code in the python OGN database that can invoke init_instance and release_instance if implemented by the node writer
[1.60.0] - 2023-11-09
Added
Coverage filtering for generated node types marked as internal:test
[1.59.0] - 2023-11-09
Changed
Made documentation references consistent through use of substitutions
[1.58.3] - 2023-11-06
Fixed
Import the tests synchronously when running the extension tests.
[1.58.2] - 2023-11-02
Fixed
Leaking file handles from configuration files
[1.58.1] - 2023-10-27
Fixed
Numpy type definitions in the conversions data
[1.58.0] - 2023-10-22
Changed
Rearrangement of docs for AutoNode
Added
Tool for dumping the set of all available types to a .rst file
[1.57.1] - 2023-10-18
Changed
Removed redundant variables generated in the database files, which cause compilation warnings.
[1.57.0] - 2023-10-18
Added
OGN generator now instrument the database to take into account mapped attribute
[1.56.1] - 2023-10-17
Fixed
Premake file filters were not handling update tag and type name conversion file correctly
[1.56.0] - 2023-10-13
Changed
Renamed put_func to register_function to more accurately reflect what it is doing
Added
Methods for deregistering functions
[1.55.0] - 2023-10-11
Removed
Incorrectly identified SDF types for attribute types without an equivalent
Fixed
Incorrect references to node types when it meant node type names
[1.54.1] - 2023-10-06
Added
Dependency on omni.kit.test. Needed because we import nodes’ test modules even when not running tests and they import omni.kit.test.
[1.54.0] - 2023-10-06
Changed
Moved ogn_types.py to an AutoNode specific location
Added
Repo tools command and support for creating file mapping all supported type representations
Module for providing the above mapping data
Removed
Obsolete data_types.py file
[1.53.0] - 2023-09-29
Changed
Reorganized AutoNode documentation to reflect separation of runtime and developer mode
Hid some deprecated code
[1.52.0] - 2023-09-28
Changed
Access the IAttribute interface from an object instead of from Carbonite where it could fail
[1.51.0] - 2023-09-21
Added
Explicit module for type annotations in the .toml file
Changed
Generated compute functions, to simplify the parameters they accept
[1.50.0] - 2023-09-18
Added
Access for the cudaPointers keyword
Added code generation to get cudaPointer value into the metadata
[1.49.0] - 2023-09-13
Changed
Location processing for AutoNode toml definitions
Documentation for AutoNode to add information about the setting
Import location for data type definitions
AutoNode generator tool argument list
compute generation for AutoNode definitions
Added
Implementation of AutoNode generator calls as part of build
Fixed
Syntax of test generated .toml files
[1.48.0] - 2023-09-08
Added
Functionality and test to generate the nodes.json node type definition metadata file programmatically
[1.47.0] - 2023-08-31
Added
Tests for all types with the generator
Changed
Modified the generator to recognize all legal OGN type definitions
Removed
Support for plain Python types, temporarily
[1.46.2] - 2023-08-02
Changed
Fixed config for generating matrix2d types.
Adding matrix2d to matrices union configuration.
[1.46.1] - 2023-08-02
Changed
Fix for a small test generation error when reading test file paths.
[1.46.0] - 2023-07-31
Removed
Obsolete autograph support
[1.45.2] - 2023-07-30
Removed
Long deprecated function that has no body
[1.45.1] - 2023-07-28
Removed
Unnecessary Linux file copy for doc index building
[1.45.0] - 2023-07-26
Added
Ability to utilize external test scenes in .ogn “tests” constructs.
[1.44.0] - 2023-07-25
Changed
Revert output and state bundle name space separator to underscore
[1.43.0] - 2023-07-13
Removed
Obsolete documentation special case for tutorial nodes
[1.42.1] - 2023-07-14
Added
Error handling for when a generated test file is unreadable
[1.42.0] - 2023-07-11
Changed
Moved the post build command project to a common area so that it can be shared by downstream repos
[1.41.1] - 2023-06-28
Changed
Small edit to parsing logic for the “pure” scheduling hint.
[1.41.0] - 2023-06-27
Changed
Modified toc specification to point to an extension-local directory
Changed the ogn file dependencies to not include the table of contents generator files
Modified generation and parsing of per-extension index files to link to local files instead of the node library
Modified format of generated node documentation files to correspond to what is found in the node library
Added
Extension root parameter to the node documentation index generator
veryVerbose flag to the node documentation index generator for extra output
Deprecation support for constant objects
Ability to specify pre and post documentation files for any node
Support for CSV table output in restructuredText and readable directory list for argparse arguments
[1.40.1] - 2023-06-27
Changed
OGN node and test generation is multi threaded
OGN nodes and test modules can be imported in parallel on multiple threads
Python tests are imported on a separate thread
[1.40.0] - 2023-06-22
Added
Parsing logic for new “pure” scheduling hint.
[1.39.0] - 2023-05-31
Fixed
Adjusted the CRLF settings for the generated .md node table of content files
[1.38.0] - 2023-05-29
Fixed
Regeneration of table of contents with new data
Algorithm looking for location of the config dir in downstream repos
[1.37.0] - 2023-05-26
Added
Keyword CREATE_ATTRIBUTES for controller.edit() function
[1.36.2] - 2023-05-23
Changed
Small comment change.
[1.36.1] - 2023-05-11
Added
Warning to generated code for input bundle that is invalid but is required for computation
[1.36.0] - 2023-05-09
Fixed
Refactored deprecation decorators to work in more cases
Added
Beefed up the deprecation tests
[1.35.1] - 2023-05-08
Fixed
Bug with Python code generator for BundleContents
[1.35.0] - 2023-05-08
Deprecated
Removed deprecated locations of Python modules
[1.34.0] - 2023-05-02
Added
Parsing support for the addition of node type forwarding for a node type in the .ogn file
[1.33.0] - 2023-05-02
Changed
Changed the dynamic attribute accessors getDynamicInputs(), getDynamicOutputs(), getDynamicStates() to return gsl::span.
[1.32.0] - 2023-04-19
Deprecated
Removed all references to ContextHelper and OmniGraphHelper
Old .ogn test specification format no longer supported
[1.31.0] - 2023-04-11
Added
Generation of the table of contents documentation for nodes
Changed
Removed
Obsolete unitTest flag from the node generator command
Unnecessary import in generated Python tests
[1.30.0] - 2023-04-07
Added
Generate code for OmniGraphDatabase to cache dynamic input, output and state attributes.
[1.29.0] - 2023-04-06
Added
Ability to use allowedTokens as a top level definition for attributes
Ability to reference an allowedToken by name or value as a default in the .ogn
Tests for the new functionality
Fixed
Stored tokens internally with reference counts to avoid sporadic illegal data accesses
[1.28.0] - 2023-03-31
Changed
target attributes now use relationships with output and state ports
[1.27.3] - 2023-03-28
Changed
Filtered out cpp nodes from using batched reads and writes
[1.27.2] - 2023-03-24
Changed
target python wrapping changed from string to usdrt Sdf.Path
[1.27.1] - 2023-03-22
Fixed
Made all docstrings to publicly visible documentation consistent
[1.27.0] - 2023-03-21
Fixed
Use top level Python module’s name instead of ext_id as module name when generating cached node code
[1.26.0] - 2023-03-17
Added
Implementing target attribute type
[1.25.0] - 2023-03-17
Added
Generate an update file indicating that the tools scripts are up to date
Build support for respect of the update file when deciding whether to regenerate from .ogn files
Updated category_definitions to use Python 3.10 type syntax, mostly as a test for incremental rebuilds
[1.24.0] - 2023-03-14
Changed
Default of cudaPointers on Python nodes is now CPU instead of CUDA as it was before, mainly for Warp
[1.23.0] - 2023-03-09
Added
Change default index for static version of internal state to return the authoring graph
Added wrappers for shared and per-instance versions of internal state functions
[1.22.11] - 2023-02-28
Fixed
Rebuild python Database if input bundles are invalid
[1.22.10] - 2023-02-27
Added
Generation of OGN tests on vectorized data
[1.22.9] - 2023-02-25
Changed
Modifed format of Overview to be consistent with the rest of Kit
[1.22.8] - 2023-02-22
Added
Removed debugging print
[1.22.7] - 2023-02-21
Added
ThreadsafetyTestUtils to public API.
[1.22.6] - 2023-02-19
Changed
Added label to the main doc page so that higher level docs can reference the extension
[1.22.5] - 2023-02-14
Fixed
Made test file pattern account for node files not beginning with Ogn
[1.22.4] - 2023-02-08
Changed
Modified lookup of target extension version to account for the modified path names
[1.22.3] - 2023-02-07
Fixed
Removed an unused import
[1.22.2] - 2023-02-02
Fixed
Lint error that appeared when pylint updated
[1.22.1] - 2023-01-30
Changed
Removed the kit-sdk landing page
Moved all of the documentation into the new omni.graph.docs extension
[1.22.0] - 2023-01-16
Changed
Split functions and added configuration information to make the ogn project builds more flexible
[1.21.1] - 2023-01-11
Changed
Sort the generated Python import statements to ensure a consistent ordering
[1.21.0] - 2023-01-11
Changed
OGN generator for vectorization
[1.20.1] - 2022-12-14
Fixed
Made build level access of config directory account for being inside the SDK as well as in the build
[1.20.0] - 2022-12-13
Changed
Attribute Union Definitions are now loaded from a json configuration file(AttributeUnionConfiguration.json)
[1.19.0] - 2022-12-02
Changed
Modified Python node type code generation process to handle multiple versions on-demand
[1.18.1] - 2022-11-30
Fixed
Output formatting for string and token defaults containing special characters
[1.18.0] - 2022-10-21
Added
Internal utilities for support of testing node type registration
[1.17.0] - 2022-09-30
Fixed
Changed code emission to avoid defining interface that will not be used
[1.16.3] - 2022-09-14
Added
Better documentation for categories
Removed
Testing for obsolete transform data type
[1.16.2] - 2022-08-30
Fixed
Linting errors
[1.16.1] - 2022-08-24
Fixed
AttributeManager has_* generated methods for optional extended attributes.
[1.16.0] - 2022-08-19
Added
Support for new setting that turns deprecations into errors
Tests for deprecation code
Access to deprecation message logs to use for testing
[1.15.3] - 2022-08-16
Changed
Refactored checking for legal extension name as Python import
[1.15.2] - 2022-08-09
Fixed
Applied formatting to all of the Python files
[1.15.1] - 2022-08-05
Fixed
All of the lint errors reported on the Python files in this extension
[1.15.0] - 2022-08-01
Change
m_primHandle
tom_bundleHandle
inBundleAttributeManager
[1.14.1] - 2022-07-25
Added ALLOW_MULTI_INPUTS metadata key
[1.14.0] - 2022-07-13
Added UI_TYPE metadata key, added class method to MetadataKeys to get all the metadata key strings
[1.13.0] - 2022-07-08
Added
Support for ‘deprecation’ attribute keyword in .ogn files.
[1.12.0] - 2022-07-07
Changed
Refactored import of non-public API to emit a deprecation warning
Moved node_generator/ into the _impl section
Added
Support for fully defined Python API at the omni.graph.tools level
Support for fully defined Python API at the omni.graph.tools.ogn level
Support for public API consistency test
[1.11.0] - 2022-06-28
Changed
Merged to USD and import generated tests and added enhanced generated code coverage
[1.10.0] - 2022-06-23
Removed
Support for the deprecated Autograph functionality, now in omni.graph.core.autonode
[1.9.1] - 2022-06-17
Fixed
Corrected bad API documentation formatting
Added
Documentation links for Python API
[1.9.0] - 2022-06-13
Added
Check to see if values are already set before initializing defaults in Python nodes
[1.8.1] - 2022-06-08
Fixed
Add stdint include when constructing node database files.
[1.8.0] - 2022-06-07
Added
Support for generator settings to alter the generated code
Generator setting for Python output optimization
Build flag to modify generator settings
Generator script support for generator settings being passed around
[1.7.0] - 2022-05-27
Added
Ability for the controller to take an attribute description as the first parameter instead of only attributes
[1.6.2] - 2022-05-17
Fixed
Improved node description formatting by using newlines to indicate paragraph breaks
[1.6.1] - 2022-05-11
Added
Category for UI nodes
[1.6.0] - 2022-05-10
Added
Ability to use @deprecated_function with property getters and setters.
[1.5.4] - 2022-05-06
Fixed
Fixed the emission of the CPU to GPU pointer information for output bundles
[1.5.3] - 2022-04-29
Fixed
Fixed incorrect line highlighting in user guide
[1.5.2] - 2022-04-25
Fixed
Stopped generating bundle handle extraction in situations where the handle will not be used
[1.5.1] - 2022-04-05
Fixed
Removed regeneration warning until such time as the regeneration actually happens
[1.5.0] - 2022-03-24
Fixed
Fixed generated contents of tests/init.py to be constant
Refactored generation to use standard import pattern
Ability to create generated directories on the fly rather than insisting they already exist
Added
[1.4.0] - 2022-03-14
Added
ensure_nodes_in_toml.py to add the [[omnigraph]] section to the extension.toml file
[1.3.2] - 2022-03-14
Added
examples category
[1.3.1] - 2022-03-09
Added
Added literalOnly to the list of metadata keys
Added some explanation for the literalOnly metadata key to the OGN reference guide
[1.3.0] - 2022-03-08
Changed
Changed the naming of the generated tests to be shorter for easier use in TestRunner
Changed the generated USD to use the schema prims
Changed the generated test scripts to use the schema prims
Removed unused USD metadata from generated code
[1.2.4] - 2022-03-08
Changed
Modified C++ generated code node registration to match omni.graph.core 2.23.3
[1.2.3] - 2022-02-15
Added
script node category
[1.2.1] - 2022-02-10
Added
Unset the useSchemaPrims setting for tests until they are working
[1.2.0] - 2022-02-09
Changed
Moved autograph to omni.graph.core, retained imports for backward compatibility
[1.1.1] - 2021-08-30
Breaking Changes
Type names have changed.
Float32
is nowFloat
andInt32
is nowInt
.
Improvements and Bugfixes
BUGFIX Fixed type initializers in autograph
PERF IMPROVEMENT Functions using Autofunc now use code generated at read time instead of runtime lookups.
UI IMPROVEMENT Nodes no longer have extra connections with the node name.
[1.1.0] - 2021-08-19
Adds Autograph
Added Autograph tools and types
[1.0.0] - 2021-03-01
Initial Version
Started changelog with initial released version of the OmniGraph core