Skip to content

DSFE GUI Multi-object and workspace handling (Partial fixes, more push to main) - #105

Merged
SaltyJoss merged 111 commits into
Devfrom
dsfe_gui_multi_object_and_workspace_handling
Oct 7, 2026
Merged

SaltyJoss merged 111 commits into
Devfrom
dsfe_gui_multi_object_and_workspace_handling

Conversation

@SaltyJoss

Copy link
Copy Markdown
Owner

This pull request introduces several important improvements and new features to the codebase, primarily focused on enhancing logging and telemetry for free-body dynamics, improving CMake source management, and extending the command context utilities. The most significant changes are the addition of a comprehensive FreeBodyLogBuffer for logging 6-DOF body states, integration of free-body telemetry into the diagnostics layer, and improved maintainability and clarity in source file handling.

Key changes:

Logging and Telemetry Enhancements

  • Added a new FreeBodyLogBuffer struct to Analysis/MetricLogger.h for detailed logging of free-body (6-DOF) simulation data, including positions, velocities, accelerations, forces, torques, energies, momenta, mass, inertia, and body metadata, with support for validation, clearing, reserving, and swapping buffers.
  • Extended TelemetrySample and introduced FreeBodyTelemetry in Analysis/Telemetry.h to support telemetry collection for free bodies, enabling richer diagnostics and analysis for floating-base systems.
  • Enhanced JointLogBuffer in Analysis/MetricLogger.h to log joint names alongside indices, and updated all relevant methods (clear, reserve, push_entry, validate, swap) to ensure consistency and correctness. [1] [2] [3] [4] [5] [6] [7]

CMake and Build System Improvements

  • Updated DSFE_Core/CMakeLists.txt to consistently quote all source file paths and added src/Physics/CollisionResolver.cpp to the build, improving cross-platform compatibility and maintainability.
  • Changed the pxmlib dependency in the root CMakeLists.txt to track the Dev branch instead of the fixed v1.0.2 tag, allowing for integration with the latest development updates.

Command Context and Utilities

  • Added new helper methods to CommandContext.h for resolving body systems and member names, and for checking if a body owns a target, supporting more flexible and robust DSL command implementations. [1] [2]
  • Removed the unused RotateByCmd.h command implementation from the codebase, cleaning up deprecated or obsolete code.

These changes collectively improve the simulation's logging capabilities, diagnostics, and maintainability, laying the groundwork for more advanced analysis and development of free-body and multi-body dynamics features.

DISCLAIMER:
This summary was generated by GitHub Copilot

…added static `toTelemetry` method for conversion of freebody log entries to their telemetry counterpart
…BodyLogEntry` for updated logging capabilities
…tepping, and logging metrics in RigidBodySystem
…g for clarity, removed unused reference outputs
…ies and their joints

 * This is a work in progress, and currently has a weird overlap bug with pulling from the single active body relative to the multiple bodies.
…methods for resolving rigid bodies and extracting member names
 *  Deleted RotateJointByCmd.h and RotateJointByCmd.cpp, along with associated command logic.
 * Removed RotateJointToCmd.h and RotateJointToCmd.cpp, cleaning up unused functionality.
 * Eliminated RotateToCmd.h and RotateToCmd.cpp to streamline command handling.
 * Removed SetOmegaCmd.h and SetOmegaCmd.cpp, as they are no longer needed.
 * Deleted SpinCmd.h and SpinCmd.cpp, simplifying the command structure.
 * Cleaned up related command creation functions to reflect the removal of these classes.
 * See README for original repo location.
…city for the coriolis term of linear velocity in a freebody before returning the ABA acceleration

 * This has taken two days to figure out, and I had to use AI to help. It has really shown me the current state is moving out of my understanding again (much like with Auto Diff Integration) I may take a step back and implement some lower-difficulty things whislt improiving the base-code.
  * At the same time I think I will take some smaller lessons on collision mechanics, multibody collisions, vulkan API, Hamiltonian Mechanics, and Particle Dynamics (For whats next)/
@SaltyJoss SaltyJoss self-assigned this Oct 7, 2026
@SaltyJoss SaltyJoss added documentation Improvements or additions to documentation feature New feature or request fixes fixing existing issues refactor GUI GUI specific changes Core Core specific changes labels Oct 7, 2026
@SaltyJoss
SaltyJoss merged commit 6233bc7 into Dev Oct 7, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Core Core specific changes documentation Improvements or additions to documentation feature New feature or request fixes fixing existing issues GUI GUI specific changes refactor

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant