Skip to content

Fix issues#1528

Open
Ozaq wants to merge 10 commits intoPedestrianDynamics:masterfrom
Ozaq:fix-issues
Open

Fix issues#1528
Ozaq wants to merge 10 commits intoPedestrianDynamics:masterfrom
Ozaq:fix-issues

Conversation

@Ozaq
Copy link
Contributor

@Ozaq Ozaq commented Feb 13, 2026

@Ozaq Ozaq requested a review from schroedtert February 13, 2026 15:38
github-actions bot added a commit that referenced this pull request Feb 13, 2026
github-actions bot added a commit that referenced this pull request Feb 13, 2026
@Ozaq Ozaq force-pushed the fix-issues branch 2 times, most recently from 68d3a70 to 26c5336 Compare February 13, 2026 18:42
github-actions bot added a commit that referenced this pull request Feb 13, 2026
github-actions bot added a commit that referenced this pull request Feb 13, 2026
github-actions bot added a commit that referenced this pull request Feb 13, 2026
github-actions bot added a commit that referenced this pull request Feb 13, 2026
github-actions bot added a commit that referenced this pull request Feb 13, 2026
github-actions bot added a commit that referenced this pull request Feb 14, 2026
Copy link
Contributor

@schroedtert schroedtert left a comment

Choose a reason for hiding this comment

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

First quick review, need to check the visitor change for the model formatting and pipeline changes in more detail.

F_rep.x,
F_rep.y,
K_ij);
throw std::runtime_error(
Copy link
Contributor

Choose a reason for hiding this comment

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

Do we really want to stop the simulation in that case? Different behavior than before. We had that discussion in the past already iirc

@@ -179,12 +179,12 @@ def desired_direction(self, desired_direction):
@deprecated("deprecated, use 'desired_direction' instead.")
Copy link
Contributor

Choose a reason for hiding this comment

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

Shouldn't this then also state desired_orientation?

return self._obj.desired_orientation

@e0.setter
@deprecated("deprecated, use 'desired_direction' instead.")
Copy link
Contributor

Choose a reason for hiding this comment

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

Shouldn't this then also state desired_orientation?

strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-14, macos-14, macos-15, macos-26]
os: [ubuntu-latest, windows-latest, macos-14, macos-15]
Copy link
Contributor

@schroedtert schroedtert Feb 17, 2026

Choose a reason for hiding this comment

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

From that I can see macos-26 is a valid image, although it is still in beta state. We could already use it here. (edit 26-02-28 no longer beta)
From https://github.com/actions/runner-images?tab=readme-ov-file#available-images:

Image

Ozaq and others added 10 commits March 10, 2026 21:45
The holes() lambda builds the result vector but never returns it,
causing Python callers to always receive None. This breaks
Geometry.as_wkt() and any code relying on hole extraction.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The overloaded visitor only handles 3 of 5 variant types, and the
SocialForceModelData handler is placed outside the overloaded{}
braces. Replace with a generic lambda that covers all variant types
uniformly, since the format string is identical for each.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
*kwargs unpacks the dict keys as positional arguments instead of
forwarding keyword arguments. Use **kwargs so that excluded_areas
reaches build_geometry() as intended.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
pybind11 converts Python None to nullptr for raw pointer args.
The lambda dereferences model without checking, causing a segfault.
Add a null check and throw std::invalid_argument instead.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
ForceRepPed can produce NaN from division by zero when
maxNeighborInteractionDistance equals maxNeighborInterpolationDistance,
making dist_intpol_right zero. The same applies to geometry
parameters in ForceInterpolation.

Add parameter validation in the builder to reject degenerate
combinations (interaction distance must exceed interpolation
distance). Replace the silent NaN log-and-return with a throw
to catch regressions.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
setup.py checked for CMake >= 3.19 but CMakeLists.txt requires
>= 3.22. Users with CMake 3.19-3.21 passed the Python check but
hit a confusing FATAL_ERROR from cmake_minimum_required.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The deprecated e0 getter/setter on GeneralizedCentrifugalForceModelState
incorrectly accessed desired_speed instead of desired_orientation,
returning a float where a direction tuple was expected and silently
overwriting the wrong field on set.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The tests job used system-default compilers which drift
silently as runner images update. Pin to explicit versions
(gcc-14 via ubuntu-toolchain-r PPA, clang-21 via
apt.llvm.org) so warnings from new compiler releases
surface immediately.

Fix the checks job LLVM repo from jammy to noble to match
ubuntu-latest. Fix the test-wheels OS matrix which had a
duplicate macos-14 entry and an invalid macos-26.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The existing BUILD_WITH_ASAN option only covered Clang and
only enabled AddressSanitizer. Replace it with
BUILD_WITH_SANITIZERS which enables both ASAN and UBSAN
for Clang and GCC.

Add a dedicated CI job that builds with sanitizers and runs
both C++ unit tests and Python system tests. The Python
tests need LD_PRELOAD of the shared ASAN runtime,
PYTHONMALLOC=malloc to bypass pymalloc, and detect_leaks=0
to suppress CPython allocator noise.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
github-actions bot added a commit that referenced this pull request Mar 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants