AI-1118: Update Falkor Dependencies to Latest Versions - Rebase to GTSAM 4.3a1 with OpenSpace Compatibility Patches#6
Merged
ali-younis-openspace merged 4004 commits intoFeb 24, 2026
Conversation
Remove outdated brew tap (was required for boost versions)
Update README.md: fix minimum cmake version
…aphiclib Remove metis and geographiclib ports from vcpkg ci
# Conflicts: # examples/NavStateImuExample.cpp
Fix CI on merge
Add Gal3 wrapping
NavState + IMU EKF
Fix building of python wheels
…re/more_translated_python_examples
Include /permissive- notice and fix up a few other things
…ated_python_examples 6 More Python Examples + Standardized Notebook Format
…ompliance Enable and propagate /permissive- on MSVC
This reverts commit 0c00fc0.
Add back eigen3 to vcpkg
Remove temporary eigen3
Remove cephes dllexport.h from cmake
Fix timing with TBB and a minor GCC bug
This commit reapplies only the OpenSpace-specific behavior and wrapper compatibility changes on top of upstream 4.3a1, while keeping upstream implementations where functionality already exists. Essential matrix behavior: - Port custom EssentialMatrixConstraint::evaluateError residual and Jacobian logic (rotation local-coordinates + translation basis projection). - Add non-zero-error derivative regression test for EssentialMatrixConstraint. Similarity2 compatibility: - Add Jacobian-capable Similarity2::transformFrom(Point2, Hpose, Hpoint). - Add Similarity2::transformFrom(Matrix) for 2xN batch point transforms. - Expose Similarity2.transformFrom(Matrix) and Similarity2.AdjointMap() in geometry.i for Python wrapping. ReferenceFrameFactor wrapper/API compatibility: - Update slam.i bindings to expose generic ReferenceFrameFactor template. - Preserve OpenSpace symbol aliases: PointReferenceFrameFactorPose2 and PointReferenceFrameFactorSim2. - Preserve upstream symbol alias: ReferenceFrameFactorPoint3Pose3. - Add Sim2 reference-frame regression test (testReferenceFrameFactorSim). Serialization compatibility: - Add Similarity2/Similarity3 PriorFactor exports in gtsam_unstable serialization.cpp while retaining 4.3 additions (e.g., SL4). Wrapper build fix: - Make ReferenceFrameFactor default constructor public for serialization/__setstate__ paths generated by pybind wrappers.
…onflict resolution)
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 5 potential issues.
Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.
Comment @cursor review or bugbot run to trigger another review on this PR
… with bias priors
RachitB11
approved these changes
Feb 24, 2026
RachitB11
left a comment
There was a problem hiding this comment.
LGTM! I just had questions regarding the LegacyBiasInitCovand the assertNoCombinedImuLegacyBiasInitPriorConflicts. The rest look good to me. Excellent job getting this to work. It built fine on my machine.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What this PR does
4.3a1line.os-updates.os-updatesintocodex/rebase-4.3a1-os-compatto resolve prior merge conflicts and provide a clean merge path.Why this change
Scope of compatibility carry-forward (high-level)
codex/rebase-4.3a1-os-compatAPI shape (not legacyos-updatessignatures).Validation
os-updatesinto the rebased branch.testSimilarity2testEssentialMatrixConstrainttestReferenceFrameFactorSimNote
Medium Risk
Broad changes to build configuration, dependency discovery, and CI/packaging across all platforms could cause build or release regressions despite limited impact on core library runtime behavior.
Overview
Updates the project baseline to
4.3a1and modernizes CMake: raises minimum CMake/C++ standard, introduces new build options (e.g. Boost features vs. serialization toggles, GeographicLib enablement, shared/static forcing, sanitizer flags), adds bundledcepheshandling, and adjusts exported config to onlyfind_dependency(Boost)/TBBwhen enabled.Overhauls CI and build scripts to prefer Ninja +
cmake --build, adds new workflows forcibuildwheelwheel builds (develop + release), cache cleanup, GitHub Pages deploy, and a cross-platformvcpkgbuild, while updating Linux/macOS/Windows matrices, concurrency, and conditional Boost/GeographicLib coverage.Reduces Boost reliance in
CppUnitLite(dropsboost::lexical_castusage) and refreshes developer/docs guidance (INSTALL.md,DEVELOP.md, README badges/requirements) to match the new build and wrapper conventions.Written by Cursor Bugbot for commit 8ff5ca7. Configure here.