SleipnirGroup / Choreo

A graphical tool for planning time-optimized trajectories for autonomous mobile robots in the FIRST Robotics Competition.
BSD 3-Clause "New" or "Revised" License
150 stars 46 forks source link

[choreo] Document Updater #926

Open oh-yes-0-fps opened 1 week ago

oh-yes-0-fps commented 1 week ago

Needs unit tests but has been tested on my robot project

This pr also adds trackwidth to .traj output field to show off the upgrader, its just a dummy value of 1.0 for now

Fixes #570.

calcmogul commented 1 week ago

What are the steps for adding another schema version upgrade? We should document whatever that is in the interest of documenting maintenance tasks.

oh-yes-0-fps commented 1 week ago

What are the steps for adding another schema version upgrade?

Incrementing the constants for the schema version (its just an incrementing integer now for simplicity idk how you define semver for the schema stuff when any change is "breaking"). Add a new upgrader action in upgraders.rs for the changes you made Update the choreolib code if its needed.

I admit there is more that goes into it than i would like but most actions that reduce complexity in schema management add complexity to some build step.

spacey-sooty commented 3 days ago

I also don't know if we should require that Choreolib changes matching spec changes must go in the same PR.

I think we risk creating issues/having Choreolib fall behind similar to how C++ does if it's not updated in the same PR.

shueja commented 3 days ago

I agree. I'm just wondering what effect that will have on PRs getting carried through to mergeability.

calcmogul commented 3 days ago

If we can't get it done in the PR itself, I'd be concerned about it ever getting done, since maintainers can push directly to PRs.

calcmogul commented 1 day ago

Items to address:

Item 3 is somewhat related to another issue about assembling a common set of test JSONs for all sorts of tests.