fix: track full-motion scene bounds and ignore runtime files

Accumulate scene bounds from actual geometry and marker samples across the full trajectory instead of seeding Range3D with sentinel extrema and only joining against the first sample.

Why this loader change is necessary:

- Viewer camera framing and reference sizing derive from scene.initialBounds.

- The old code only incorporated sample==0 geometry and marker positions, so motions that travel away from the initial pose could be framed incorrectly.

- The old sentinel initialization depended on joining with artificial min/max values instead of real bounds.

What changed:

- Use first-real-bound initialization in scaledBounds(), transformBounds(), and buildCpuMesh().

- Accumulate scene.initialBounds across all trajectory samples in src/OpenSimLoader.cpp.

- Ignore generated runtime files imgui.ini and opensim.log in .gitignore.

Validation:

- Rebuilt successfully with: cmake --build build -j
This commit is contained in:
2026-03-11 11:56:25 +08:00
parent ab728c7e9a
commit 0bfcfe5901
2 changed files with 31 additions and 18 deletions
+4
View File
@@ -45,3 +45,7 @@ compile_commands.json
Makefile
cmake_install.cmake
Testing/
# runtime files
imgui.ini
opensim.log