Skip to content

Commit 7758736

Browse files
committed
Add grant reports for February
- Improve C++ API documentation - Research Variant Parts - Improve User Experience VarSets
1 parent 23875f7 commit 7758736

File tree

3 files changed

+62
-0
lines changed

3 files changed

+62
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
## Summary of Activities - Improve C++ API Documentation - February 2025
2+
3+
This work has not had activity this month. I will pick up this project in March.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
## Summary of Activities - Improve User Experience VarSets - February 2025
2+
3+
This project has not had activity this month. I will pick this up in March.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
## Summary of Activities - Research Variant Parts - February 2025
2+
3+
- Computing Shapes for Variants
4+
- Improving the view provider
5+
- Reporting
6+
7+
### Computing Shapes
8+
9+
This was the core of the project and has been completed in a satisfying way by
10+
means of intercepting property access. This makes sure that computing a shape
11+
of a document object does not affect the document object itself by means of
12+
setting up a stack of "contexts" as an alternative memory for computing shapes.
13+
14+
### Improving the view provider
15+
16+
This was mainly to have GUI support to be able to show the functionality in a
17+
satisfying way.
18+
19+
### Reporting
20+
21+
The project has been reported in various ways:
22+
- A forum topic in [Open Discussion](https://forum.freecad.org/viewtopic.php?t=91325)
23+
- A forum topic in the [Developers corner](https://forum.freecad.org/viewtopic.php?t=91537)
24+
- A [discord channel](https://discord.com/channels/870877411049357352/1298197289357021204)
25+
26+
Many videos have been created with explanation in general and in this month I
27+
created [a video of a
28+
propotype](https://forum.freecad.org/viewtopic.php?p=812021#p812021) and [one
29+
with more advanced
30+
configurations](https://forum.freecad.org/viewtopic.php?p=813545#p813545).
31+
32+
Finally, I created a presentation for the Sunday 2 March Developer meeting that
33+
I report on in [this
34+
post](https://forum.freecad.org/viewtopic.php?p=814501#p814501).
35+
36+
The prototype code has been submitted in three (stacked) PRs:
37+
38+
- [#18412 Core: Allow exposing properties](https://github.com/FreeCAD/FreeCAD/pull/18412)
39+
- [#19733 Core: Compute shapes for variants](https://github.com/FreeCAD/FreeCAD/pull/19733)
40+
- [#19735 Gui: Add Part variant logic](https://github.com/FreeCAD/FreeCAD/pull/19735)
41+
42+
Please note that although the proposal stated that I would submit multiple
43+
alternatives for each phase, the alternatives were vastly less viable than
44+
expected. Hence, only one option was implemented for each phase, essentially
45+
the only viable one. The PRs are all draft and are only meant to show the
46+
prototype. If we ever want to build on these ideas, I would propose to build
47+
on them and implement all corner cases as well. In that case, the structure of
48+
the PR will probably change, most likely splitting up the PRs into smaller
49+
incremental steps.
50+
51+
### Concluding remarks
52+
53+
I consider this project now finished and all the reporting on this project has
54+
been indexed in [this
55+
post](https://forum.freecad.org/viewtopic.php?p=814501#p814501). A next step
56+
is to investigate to define a FreeCAD Enhancement Proposal for this work.

0 commit comments

Comments
 (0)