GSoC 2025: High level structure to start with #870
Replies: 4 comments 14 replies
-
|
I like the description and idea for the universe manager, same with the name-spaced properties. Better name spacing of properties is something that I could look at doing for more inside of MN as well. For PRs, I think a GSoC branch for new developing UI. Anything that is more general could go into main and once the UI is 'stable' it could go into main as well. |
Beta Was this translation helpful? Give feedback.
-
|
Closing this to continue further discussion as part of PR #877 review |
Beta Was this translation helpful? Give feedback.
-
|
I am re-opening this discussion because of the changes to what we agreed upon at the beginning of this discussion initially and to keep this up to date. From the comments in #877, we want to go the I will make the following changes:
Please let me know if I can go ahead with the above. Thanks |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Hi @BradyAJohnston and @yuxuanzhuang ,
I will get started with the GSoC 2025 project tomorrow when the official coding begins. Here is a high level structure I had in mind to start with. Could you review these and let me know if this is ok.
Base class for MDAnalysis visualization
Following upon Yuxuan's idea of having a separate base class for MDAnalysis visualization (similar to how it is in
ggmolvis), which can be extended upon, I was thinking of something like the following:This way, all the MDA related stuff will reside in the
mdafolder namespace. Similar to how other classes in MN are pulled up, this will also be accessible in any of the following ways:Having a high level class like this will allow APIs for top level universe management as well like:
in addition to universe level APIs for styles, annotations, components etc later. This will also keep the API structure in sync with the GUI (see below). Extending the
Trajectoryclass (like whatOXDNAdoes) or directly working with theTrajectoryclass will not allow all of the above and will be limiting.Separate namespace for Blender property data
As described in the proposal, all data will reside in Blender properties, which is required for the GUI and will keep both APIs and GUI in sync.
I was thinking of having a separate
mdanamespace for MDA vis related properties. For example:This will make it easy to manage and have a clean hierarchy that matches the UI.
GUI structure
Along the lines of the prototype as seen here:
I was thinking of creating a new
MDAnalysistab in the n-panel (in the 3D viewport) starting with the universes and then adding trajectory, styles, annotations etc as we progress. I intend to get started and build the GUI at the same time as the APIs.PRs into main branch?
As seen above, the GUI will slowly evolve over time along with the APIs. With this in mind, are you ok with PRs to the main branch or do you want to create a separate gsoc branch? I am fine either way.
Can I start with the approach outlined above? Please let me know if you have any thoughts, feedback or changes you'd like to see. Thanks
Beta Was this translation helpful? Give feedback.
All reactions