GSoC 2026 - Week 9
Here is week 9 update for my project:
This week I made all the changes from review comments and merged PR #37, which adds support for generic auto-correlation function (ACF).
Here are some of the changes made as part of this PR:
- Added generic Autocorrelation function
- Added a generic
SlidingWindowACFclass that is O(n) with each new frame
- supported physical properties: position, velocity, force
- Support to compute and display particle wise ACFs
- Support for displaying running integral of ACF
- Support for centering (mean subtraction)
- Support for configuring selection, dimension type and normalization
- Add new test trajectory data file that supports velocities
- Add support for showing diffusion coefficient in MSD widget
From the last sync-up meeting, we agreed that for the remaining time of this project, I’ll first focus on wrapping up the dashboard feature of allowing users to create custom widgets through a notebook like interface from the dashboard UI and after that spend time on adding a few more analyses widgets discussed in issues and meeting notes and finally prep for the mini workshop around Aug 19-21.
I got started on the custom widgets support and made good progress. The overall PR isn’t ready yet, but we now have a common NotebookCell UI component that has code complete (and inspect) support that works with our AsyncKernelManager core. We will use this at multiple places:
- Universe configuration
- to allow users to add custom transformations
- Custom notebooks
- to allow users to add custom widgets
- Widget with allows user-defined code
- to allows users to add direct code blocks that output text content and simple plots of numeric values
- Eg: box volume (
u.trajectory.ts.volume), kinetic energy, COM (center_of_mass()), etc
Apart from the work on customization, I fixed issues that showed up with ruff 0.16.0 and added all the frontend packages needed for Notebook support.
Next week, I plan to wrap up the customization support described above.
