Skip to content

[LARGE REFACTOR]: Overhaul of DSFE GUI and backend structure (WIP, first functioning version) - #106

Merged
SaltyJoss merged 508 commits into
Mainfrom
Dev
Oct 7, 2026
Merged

SaltyJoss merged 508 commits into
Mainfrom
Dev

Conversation

@SaltyJoss

Copy link
Copy Markdown
Owner

This pull request makes several improvements and restructures the build system, dependencies, and source organization for the project. The main changes include updating CMake presets for consistency across platforms, refactoring dependency management (notably how tinyxml2 and googletest are handled), reorganizing source code structure in DSFE_Core, and enhancing the MetricLogger for more comprehensive logging.

Build system and preset updates:

  • Standardized CMake preset naming conventions for both Windows and Linux, consolidating debug/release and GUI/non-GUI configurations, and updated all related references in .github/workflows/build.yml and CMakePresets.json. This improves clarity and consistency in builds and CI. [1] [2] [3] [4] [5]

Dependency management improvements:

  • Refactored dependency fetching in CMakeLists.txt: PxMLib is now fetched as an external dependency instead of a subdirectory, and googletest is only included if unit tests are enabled via a new DSFE_ENABLE_UNIT_TESTS option. [1] [2]
  • Integrated tinyxml2 directly into DSFE_Core by fetching the source and compiling it in-tree, bypassing its CMake and test infrastructure for a leaner build.

Source code organization:

  • Reorganized source files in DSFE_Core's CMakeLists.txt to group sources by logical components (e.g., systems, loading, physics, DSL), and updated paths to reflect new directory structures. This makes the project structure clearer and easier to maintain.
  • Moved the setting of include directories to after all target sources and links are defined, ensuring correct build order and clarity. [1] [2]

MetricLogger enhancements:

  • Extended the JointLogBuffer in MetricLogger.h to log joint names in addition to indices, and updated all related methods to handle the new data. This allows for more informative and user-friendly analysis. [1] [2] [3] [4] [5] [6] [7] [8]

Let me know if you'd like a deeper dive into any of these changes!

DISCLAIMER:
This summary was generated by GitHub Copilot.

SaltyJoss and others added 30 commits July 26, 2026 08:45
Enhance HomePage layout, diagnostics panel, and template management
…_panel_additions

Refactor integration methods and enhance related functionality
… naming format

 * Need to test build, but GUI requires changes first
SaltyJoss and others added 23 commits August 13, 2026 07:50
 * 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)/
…space_handling

DSFE GUI  Multi-object and workspace handling (Partial fixes, more push to main)
Revise project description, clarify DSFE's focus on numerical transparency, and update visualisation details. Add information about the upcoming DSL revamp and correct various typos.
@SaltyJoss SaltyJoss self-assigned this Oct 7, 2026
@SaltyJoss SaltyJoss added 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 e53531a into Main 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 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