Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

evaluate mol* for replacement #375

Open
toloudis opened this issue Apr 2, 2024 · 3 comments
Open

evaluate mol* for replacement #375

toloudis opened this issue Apr 2, 2024 · 3 comments
Labels
maintenance Code cleanup/refactoring, test coverage, etc.

Comments

@toloudis
Copy link
Contributor

toloudis commented Apr 2, 2024

What needs to happen?

look at mol* code and determine what it would take to actually replace the simularium-viewer canvas with their canvas and drawing api.

  • how do we glue our data structures to their renderers inputs

Why should we do this?

To eval the size of effort

When does this need to get done?

within the next couple of simularium dev mtgs

@toloudis toloudis added the maintenance Code cleanup/refactoring, test coverage, etc. label Apr 2, 2024
@toloudis
Copy link
Contributor Author

After some eval, I think it might be a reasonably small few days of focused time project to try to wedge the mol* canvas into the viewer. as a basic starting point for eval / comparison. we won't automatically get all of our same features back. But there seems to be a clear path for us to be able to render the same meshes and pdb sphere collections that we show now.
TBD:

  • instancing support and perf
  • AO settings for scenes with widely varying spatial scales
  • re-enable outlining
  • instanced curves/fibers
  • agent selection/picking
  • plug in to their LOD system
  • plug in to their transparency system
    Big questions: performance of scene updates across timesteps. performance of large numbers of instanced geometries such as whole pdb molecules.

As previously discussed, we can also go the other direction and ask: what exactly do we want from their codebase for the simularium viewer?

@toloudis
Copy link
Contributor Author

toloudis commented Sep 4, 2024

There were some blockers with this, with respect to using the mol* codebase to get anything to render. The mol* devs addressed this initial blocker but we never revisited.

Current considerations (while we move forward with simularium viewer dev tasks):

  • mol* is clearly way ahead of our viewer on loading/parsing/displaying pdb molecular geometries
  • mol* is clearly behind our tech on displaying volume data
  • mol* is not as well optimized for time-series full-scene updates
  • mol* is a more general rendering system and is probably ahead of ours on core rendering features (some comparison tbd)
  • the mol* renderer code is a bit complex (and not well documented for integration tasks like this) -- and is a nontrivial time investment to prototype with simularium data

@toloudis
Copy link
Contributor Author

toloudis commented Sep 5, 2024

For reference, prototype code branch is here: https://github.com/simularium/simularium-viewer/tree/feature/molstar-canvas

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
maintenance Code cleanup/refactoring, test coverage, etc.
Projects
Status: No status
Development

No branches or pull requests

1 participant