Download Prebuilt Module
Quote for Source Code
Introduction
The v15.3.0 update is a maintenance and platform-expansion release. Alongside a new API for querying scene geometry, this version focuses on strengthening the codebase’s foundations — a cleaner Cython architecture, broader platform/CI support, and tighter licensing reliability.
What’s New?
🧭 Query Your Scene at Any Moment
A new get_scene_state function makes it easy to inspect where everything is at a given point in time:
- One Call, Full Picture: Retrieve target meshes plus transmitter and receiver channel locations and the radar’s boresight direction, all from a single function.
- C+±Accelerated: Position and orientation math runs through the native engine, so querying many timestamps at once stays fast.
- Flexible Timing: Pass a single timestamp or an array of them — works for both static and time-varying radar motion.
🧱 Cleaner Codebase Under the Hood
We split the large cp_radarsimc.pyx Cython module into focused files (helpers, mesh, points, and radar), and improved how time-varying motion parameters are expanded internally. No behavior changes for users — just a more maintainable foundation for future features.
🖥️ Expanded Platform Support
Build and test coverage keeps growing:
- Ubuntu 26.04: Now supported with GCC-15 across CI and release builds.
- CUDA 13.3.1: Updated toolkit support for GPU acceleration.
- macOS on Clang: CI now builds with Clang on macOS 26 instead of GCC for better alignment with Apple’s toolchain.
🔐 Licensing & Build Reliability
Under the core radarsimcpp engine, we fixed a licensing initialization edge case, corrected an MSVC linker flag placement that could trigger spurious warnings in license-enabled Windows builds, and upgraded mbedTLS to 4.2.0.
Changelog Summary
Added
- API:
get_scene_statefor computing target meshes, Tx/Rx locations, and radar boresight at query timestamps. - Platforms: Ubuntu 26.04 (GCC-15) and CUDA 13.3.1 support in CI/release workflows.
Changed & Optimized
- Architecture: Split
cp_radarsimc.pyxinto dedicated helper, mesh, points, and radar modules. - Kinematics: Improved broadcasting of time-varying location/speed/rotation parameters.
- CI/CD: Centralized build/test matrices and refactored artifact packaging across workflows; macOS CI moved to Clang.
- Docs: Refreshed CUDA GPU requirements, supported Python versions, build flag names, and platform support notes.
Fixed
- Licensing: Corrected conditional initialization of the license flag in
LicenseManager. - Windows Builds: Fixed MSVC
/NODEFAULTLIBlinker flag placement to avoid compiler warnings in license-enabled builds.