-
Notifications
You must be signed in to change notification settings - Fork 1
Description
Proposal description
The essence of the proposal is to write extensive documentation on how the toponaming algorithm and implementation works and compares to LinkStage3. The output will be a report with said documentation. This will benefit the FreeCAD community, both developers and users; developers because they can gain an understanding of the toponaming system, and users because with the newly gained knowledge it is possible to explain the capabilities and limitations of the toponaming sytem helping them with their modeling.
Deliverables
The main deliverable is a report that documents the toponaming system. It will have the following sections:
- a description of the algorithm,
- a description of how the algorithm compares to the state-of-the-art,
- an investigation to what extent the algorithm has been implemented in LinkStage3, and
- an investigation to what extent the algorithm has been implemented in the FreeCAD main branch highlighting differences with LinkStage3.
Other forms of deliverables are potentially:
- test-cases that highlight differences with LinkStage3, and
- small PRs that help debugging element mapping.
Timeline
Depending on other tasks (FreeCAD/Lens integration, Variant Parts implementation, see FEP-0010), I would like to start in February/March 2025. I expect to work on this for 4 weeks full time spread over a period of about 3 months.
Risks and mitigation
The main risks lie in the complexity of the topic, the complexity of the code and the fragmentation of knowledge. Topological naming is a problem that can never be solved fully, so it depends on heuristics. The complexity of the code stems from the fact that this project will study two code bases that should be equivalent but are most likely not, due to various pre-existing differences and a porting process. The code itself is very complex as well. Finally, the knowledge about the topological naming implementation is scattered with various versions of documentation from realthunder, forum discussions, and papers.
Mitigations for this risk is having proper priorities. For example, Section 2, a comparison of the algorithm to state-of-the-art has less priority than a description of the algorithm, so this section may become a broad and shallow comparison instead of a detailed comparison.
Compensation
I would like to carry out this work with for a total of 8000 EUR for an hourly rate of 50 EUR. This amounts to 4 weeks full time.
About you
My name is Pieter Hijma (pieterhijma on the forum and pieterhijma on GitHub). I'm an independent contractor (https://pieterhijma.net) that focuses on developing open source software and in particular on developing in FreeCAD.
My experience on working on toponaming comes from another FPA project documenting the App package that is almost finished. While documenting element mapping, I noticed that the code is very complex, difficult to document, and that there are differences between LinkStage3 and FreeCAD.
I've worked on various projects within the FreeCAD ecosystem, such as documentation of the App package, Improving the user experience of VarSets, Researching Variant Parts, and Ondsel-Lens/FreeCAD integration, and OSH Autodoc.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status