Week 3: Expanding UI Components and Automated GIF Recording#
During the third week I dedicated most of my time to expanding the library’s UI components and tackling the automated GIF recording support for animation examples.
Overview#
This week, I worked on the following pull requests:
UI Components Development#
Introduces Rangeslider and LineDoubleSlider2D (#1241) I introduced the
RangesliderandLineDoubleSlider2DUI elements to FURY. These new sliders make it much easier to define and manipulate range-based values interactively inside a scene.ImageContainer2D Introduced (#1239) Following the slider additions, I also introduced the
ImageContainer2D. This component allows straightforward visualization of 2D images directly inside the FURY user interface.
Automated GIF Recording#
Add automated GIF recording support for animation examples (#1243) My main focus this week was implementing automated GIF recording for our animation examples. Generating previews for animations is vital, and this feature seamlessly records the animation window to produce lightweight demonstrations.
Below are some demonstrations of the animations recorded using the new feature:
What I Learned#
This week provided a great opportunity to dive deeper into FURY’s documentation pipeline. I learned a lot about how the image scraper actually works behind the scenes to capture scene frames via self.renderer.snapshot(). To implement the automated GIF recording, I utilized the ShowManager’s callback system (self._callbacks) to trigger frame captures sequentially during the animation loop. This ensures that we can extract frames accurately as the animation plays out.
Additionally, I realized that offscreen rendering is incredibly versatile and is used for many different things across the library, not just for building the documentation. Finally, to seamlessly integrate this new recording functionality, we introduced a new environment variable, FURY_RECORD_ANIMATION, which, when used alongside FURY_OFFSCREEN, effortlessly enables GIF recording across our animation examples.
Next Week#
In the upcoming week, I plan to:
Begin working on the new website interface for FURY.
Begin work on other UI components like ListBox2D and Card2D.
Connect with Me#
GitHub: medha-14
LinkedIn: Medha Bhardwaj