Closed aymanhab closed 3 months ago
This is a great idea. The return-dispatch
GitHub Action (which I've used to draft automated perf testing) may be useful here.
Just to document the change in behavior due to the change/improvements made in https://github.com/opensim-org/opensim-core/pull/3678, As a side effect we lost the copy constructor for ArrayDouble, ArrayStr (I assume also for all other ArrayXXX types) on the Java side resulting in the build failure below:
2024-02-14T02:48:59.6974827Z [nb-javac] D:\a\opensim-gui\opensim-gui\Gui\opensim\plotter\src\org\opensim\plotter\JPlotterPanel.java:1658: error: incompatible types: ArrayDouble cannot be converted to double 2024-02-14T02:48:59.6977462Z [nb-javac] ArrayDouble statesForAnalysis = new ArrayDouble(statevec.getData()); 2024-02-14T02:48:59.7004784Z [nb-javac] ^ 2024-02-14T02:48:59.7090324Z [nb-javac] D:\a\opensim-gui\opensim-gui\Gui\opensim\plotter\src\org\opensim\plotter\JPlotterPanel.java:2215: error: incompatible types: ArrayStr cannot be converted to String 2024-02-14T02:48:59.7092767Z [nb-javac] ArrayStr stateNamesWithTime = new ArrayStr(stateNames);
While this didn't show up in diffs, we'll need to restore it on the opensim-core side so that GUI and client code don't need to change.
With recent and upcoming API changes, it seems impractical to track if opensim-gui builds after the fact with opensim-core commits. This issue proposes building the GUI master/main against the branch before merging to catch these issues before a commit/merge.