philipturner / molecular-renderer

Renderer for molecular nanotechnology
MIT License
65 stars 6 forks source link

Getting-Started on Contributing. #9

Closed Mikcl closed 1 month ago

Mikcl commented 9 months ago

Addresses the issues discussed in https://github.com/philipturner/molecular-renderer/pull/8#issuecomment-1872286369

I made a few changes:

1.a) renamed bypass_dependencies to vendor.

1.b) Rather than a ../bypass_dependencies, I have added a git ignored ./vendor directory inside the repo which should contain the dylibs. The motivation for this is that the depenencies for this project are contained within repository.

2)a) updated the build rules, to look at the vendor directory. 2)b) changed the DEVELOPMENT_TEAM to none, since contributors are not part of the DEVELOPMENT_TEAM, are there any concerns? 2)c) Some auto-generated changes, since the embeded libraries selected in the GUI come from the vendor directory now. (Note this PR is breaking change if you do not have a ./vendor directory).

3) added instructions to get started in the README, In now takes about 1 minute to get started (provided you have xcode, swift and conda preinstalled)


Im not sure if any other steps are missing?

philipturner commented 9 months ago

I don't use a Conda env, I just have a ~/Users/philipturner/miniforge3 folder where all the dylibs go. I call conda install straight from the command-line. No requirements.txt needed.

Screenshot 2023-12-29 at 10 42 32 PM

This is great work, but I'll have to defer further review until later. I think if a third person ever comes around with interest in this project, fixing up the documentation will be necessary. In the meantime, if it works for yourself, we're good to start moving on to the next stage.

Perhaps open a GitHub issue or some other method of communication? There's a lot of ground to cover before you can start designing nanomachines properly. I can also show some previous demos for you to visualize in the renderer. Whatever you are interested in.

Mikcl commented 9 months ago

I'll have to defer further review until later. I think if a third person ever comes around with interest in this project, fixing up the documentation will be necessary.

Very well :) will put this into draft for now.

Updated to use ../bypass_dependencies just to stay consisent with the existing setup, since this is drafted.

philipturner commented 9 months ago

I removed half of the external dependencies. This also presents a potential place for future contributions. Finding whether there's a C library that can encode MP4 videos. There might be, but I didn't have the time to learn it. I had basically zero free time back then. Now I have more, thanks to changing my plan of study to MNT. Which has provided freedom to work more on getting the right software (mostly, the compiler).

https://github.com/philipturner/molecular-renderer/blob/main/Sources/HardwareCatalog/Other/Serialization/README.md

permalink

Swift can call into any library written in C or with well-maintained C bindings, such as OpenMM. Similar to Rust which works with C, but not C++.

philipturner commented 1 month ago

Closing this issue, as I am overhauling the entire repository to be more encapsulated. Decoupling the simulators from the renderer itself. I will have decent documentation when I am done.