Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .bazelrc
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ test --test_output=errors
test:no-gpu --test_env=NCORE_NO_GPU_TESTS=1

# Wheel versioning
build --embed_label=19.5.1
build --embed_label=19.6.0

# ty type checker aspect
build --aspects //bazel/lint:linters.bzl%ty
Expand Down
36 changes: 36 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,42 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).

- - -

### Highlights

- Model construction moves from closed dispatch tables to open, module-level factories. Each of the
camera, lidar and external distortion hierarchies gains a free
`<kind>_model_from_parameters()` that dispatches on the parameter type, together with a
`register_<kind>_model` hook so models defined outside NCore can participate. These replace the
`from_parameters` / `maybe_from_parameters` static methods, which held an if/elif table over every
concrete subclass, had to be edited to add a model, could not build an out-of-tree model, and were
inherited by every subclass. The static methods remain as deprecated forwarders.
- The three model base classes are now generic in their parameter type and declare
`get_parameters()`, so a `CameraModel`, `LidarModel` or `ExternalDistortionModel` stays useful
without narrowing to a concrete model first. The parameter type is covariant; plain
unparameterized annotations and isinstance checks are unaffected.
- The abstract parameter bases carry the JSON (de)serialization interface, so parameters can be
serialized through the abstract type. `ExternalDistortionParameters` is new: that hierarchy
previously had an abstract model base but no abstract parameters base at all.
- `CameraModelParameters.transform` returns `Self` consistently across the hierarchy. Two concrete
overrides previously returned their own class with an unannotated `self`, which made them
non-substitutable and collapsed the return type to the declaring class for generic callers.

## [v19.6.0](https://github.com/NVIDIA/ncore/compare/7cf76e519c171637bde342f48151d71a7474a6fe..v19.6.0) - 2026-09-09
#### ➕ Added
- (**sensors**) add free external_distortion_model_from_parameters factory with open registry - ([e0ac9ed](https://github.com/NVIDIA/ncore/commit/e0ac9edae2023c044afcf1f17317632f286defbe)) - Janick Martinez Esturo
- (**sensors**) add free lidar_model_from_parameters factory with open registry - ([b2afc10](https://github.com/NVIDIA/ncore/commit/b2afc10c14301434dbeee6e203cb85bdde184be5)) - Janick Martinez Esturo
- (**sensors**) add free camera_model_from_parameters factory with open registry - ([3e0f6b2](https://github.com/NVIDIA/ncore/commit/3e0f6b2b1c6abbaca81da2ae2d2197bdb3c2a338)) - Janick Martinez Esturo
#### 🪲 Fixed
- (**data**) search and compare closest_index_sorted exactly - ([45602dc](https://github.com/NVIDIA/ncore/commit/45602dc9ebbe473b29ff9dc292021b0b57ef4179)) - Janick Martinez Esturo
- (**sensors**) floor the angles-to-columns map index in integer arithmetic - ([59c698d](https://github.com/NVIDIA/ncore/commit/59c698d206da92b406a4f72619fce3b3a2c64bfd)) - Janick Martinez Esturo
#### 🔄 Changed
- (**data**) return Self from every CameraModelParameters.transform override - ([f2bfbba](https://github.com/NVIDIA/ncore/commit/f2bfbbade56b35a0b86ec1393e70e0cef53e524d)) - Janick Martinez Esturo
- (**data**) declare serialization interface on CameraModelParameters base - ([1b0dc1d](https://github.com/NVIDIA/ncore/commit/1b0dc1d6892f72f81fe43a77ed7a521406c6017e)) - Janick Martinez Esturo
- (**data**) pin relative_angle to the angles' float dtype - ([7cf76e5](https://github.com/NVIDIA/ncore/commit/7cf76e519c171637bde342f48151d71a7474a6fe)) - Janick Martinez Esturo

- - -


### Highlights

- This is a patch release resolving a few public facing API issues, as well as some documentation and build / typing improvements.
Expand Down
Loading