FreeCAD / FPA-grant-proposals

Submit grant proposals to the FPA by creating an issue in this repository.
https://fpa.freecad.org
0 stars 1 forks source link

Complete Toponaming project code transfer #2

Closed bgbsww closed 2 months ago

bgbsww commented 3 months ago

Proposal description

Complete the toponaming code transfer project by moving remaining c++ code supporting the python layer, identifying and moving any code missed during earlier phases, and supporting the debugging process.

Deliverables

  1. Transfer python interface.
    • All of the code in the toponaming branch in src/Mod/Part/App/*Py.cpp files will be moved into main, in manageable pull requests, with tests as appropriate.
  2. Enable toponaming fixes in main branch
    • Develop a high level, user visible way to enable and disable the toponaming change and work with the committers on when and how to enable it.
  3. Characterize performance
    • Develop consensus on a test suite of documents, and publish performance results as guidance for future optimization work.
  4. Test compatibility
    • Develop consensus on a test suite of documents, and verify that they operate correctly.
  5. Provide bug fixes / clean cruft
    • Work with the FreeCAD community to address bug reports related to the toponaming changes. If/when there are no active bug reports, work to eliminate or prepare for elimination code that has been obsoleted, and/or propose non-substantive changes that improve code readability.

Timeline

Note: a minimum amount of planning is required due to the nature of this project; it is pretty much done.

  1. Code transfer, test writing, and pull requests
    • 80 hours
  2. Enabling toponaming
    • 8 hours
  3. Performance testing
    • 20 hours
  4. Compatibility testing
    • 20 hours
      1. Bugfixing
        • Impossible to quantify, but limited to 40 hours.

Risks and mitigation

The large risk here is that a complete set of code is not migrated and working correctly. Mitigating this risk is the existence of a working LinkStage3 version of FreeCAD, so as long as the work is done in an incremental fashion, it can be picked up by someone else at any point. Suggestions and related work can also be incorporated along the way.

Compensation

I would like $5000 US, in 4 installments. One for code transfer completion, one after performance testing, one after compatibility testing, and final when the code is enabled in mainstream FreeCAD builds.

About you

Bradley McLean ( bgbsww as an online handle )

I've been working intensively on the Toponaming project for the last three months; I have many accepted PRs, related to both Toponaming and other FreeCAD bugs, so my interaction with the project should be quite visible.

chennes commented 2 months ago

@bgbsww -

Thank you for your grant proposal. This is an area of very active development in FreeCAD, and is a critical piece of the Development Roadmap. Your work on the project thus far has been exemplary. As such, this proposal has been accepted for funding.