Week 8: Another week with TextBlockUI
ganimtron_10
Published: 07/25/2023
What did you do this week?
This week, I delved deeper into the TextBlock2D Bounding Box PR to address the challenges with tests and offsetting issues. In a pair programming session with my mentor, we discovered that the offsetting background problem stemmed from the dynamic nature of the bounding box. The issue arose when the RingSlider2D component began with an initial text size larger than the current text, which changed as the value was adjusted between 0-100%. This resulted in problems with offsetting and shrinking the bounding box. To resolve this, we decided to make the dynamic bounding box an optional feature.
Now, the TextBlock2D component offers three main features:
- Completely static background
- Dynamic bounding box scaled according to the text
- Font scaling based on the bounding box
After tweaking and testing, all the features work seamlessly.
Did you get stuck anywhere?
The pair programming session with my mentor proved to be immensely helpful, as It guided me through the whole week.
What is coming up next?
I will dedicate time to further enhancing the TreeUI. My focus will be on updating tree nodes and ensuring proper node positioning during movement.
View Blog Post
Week 7: Sowing the seeds for TreeUI
ganimtron_10
Published: 07/17/2023
What did you do this week?
TextBlock2D Bounding Box was nearly complete but the tests were failing due to automatic background resizing based on content and improper text actor alignment during setup. I encountered difficulties while positioning the text, which caused the text to appear offset and led to test failures.
Text background greater than the actual maximum size:

Text offset from center:

Additionally, I reviewed PR #814 and noticed that after PR #769, all demos and examples were merged into a single folder, which affected the paths used in the Scientific Domain Section. To address this, I created PR #820 to redirect the links to the correct path.
As I faced issues with the TextBlock2D PR, I took the opportunity to rebase and continue working on the TreeUI PR since there were no updates from the author.
Did you get stuck anywhere?
While fixing the issues with the tests for the TextBlock2D bounding box, I encountered a weird behavior in text positioning when using the center alignment. The output varied depending on the sequence of repositioning.
What is coming up next?
I will continue working on the TreeUI and resolve the TextBlock2D error to ensure both PRs progress smoothly.
View Blog Post
Week 6: BoundingBox for TextBlock2D!
ganimtron_10
Published: 07/10/2023
What did you do this week?
This week, I worked on improving the TextBlock2D component in the UI system. I started from scratch to address alignment and scaling issues. When resizing the TextBlock2D, the text alignment and justification with the background rectangle were inconsistent. To resolve this, I introduced a new "boundingbox" property that calculates the text bounding box based on its content. Additionally, I separated the scaling mode from the resizing action with the new "auto_font_scale" property, enabling automatic font scaling according to the bounding box. This will provide better alignment, justified text, and smoother font scaling for the TextBlock2D component. Try it out at #803.

As discussed last week, we also made a decision regarding the scrollbar. After exploring different use cases, we concluded that creating an independent scrollbar is not necessary at the moment. Therefore, we will close the related pull requests. You can find out more about it here.
Did you get stuck anywhere?
Implementing the bounding box feature took some extra time as I needed to carefully consider its impact on other UI elements that rely on the TextBlock2D component.
What is coming up next?
Next, I will focus on completing the TextBlock2D Bounding Box PR, which will also indirectly finalize the Spinbox PR.
View Blog Post
Week 5: Testing out PRs and Planning Ahead
ganimtron_10
Published: 07/03/2023
What did you do this week?
Due to ongoing exams, my productivity was limited this week. However, I managed to find some time to explore and review a few PRs submitted by contributors:
1. Ellipsoid PR #791: This PR focuses on creating a new ellipsoid actor defined with SDF and raymarching techniques.
2. Website Improvement PR #812: This PR includes changes for the new compatibility section on the FURY home page.
Towards the end of the week, I had a meeting with my mentor. We discussed the current status of ongoing PRs and identified action points to focus on in the upcoming weeks. This discussion provided clarity on the challenges faced with certain PRs and issues.
Did you get stuck anywhere?
Fortunately, I didn't encounter any major roadblocks or challenges that hindered my progress this week.
What is coming up next?
With the action points provided by my mentor, I will be dedicating the next week to completing those tasks.
View Blog Post
Week 4: Exam Preparations and Reviewing
ganimtron_10
Published: 06/25/2023
What did I do this week?
This week, amidst end-semester exams, I managed to accomplish a few notable tasks. Let's dive into the highlights:
1. Merging CardUI: The PR #398 introduced the CardUI to the UI system of FURY. After a successful review and test check, it was merged into the codebase
2. Revisiting PR #540: I restarted working on PR #540 as I wasn't satisfied with the previous approach when I checked it for rebasing. I took the opportunity to update the code and ensure that the unit tests passed successfully. Although there are a few issues remaining in the tests, I am determined to resolve them and move forward with the implementation. This PR aims to improve the usage of the numpy_to_vtk_image_data utility function.
3. Independent Scrollbar Consideration: We are currently evaluating the necessity of making the Scrollbar an independent element. While currently, it is primarily used by the ListBox2D, we are exploring various use cases to determine if there are other scenarios where the Scrollbar can be employed independently. This evaluation will help us make an informed decision about its future implementation.
Did I get stuck anywhere?
No, fortunately, I didn't encounter any major obstacles or challenges during my tasks this week.
What is coming up next?
Once the exams are over, I am eagerly looking forward to making a full comeback to development. My immediate plans include addressing the remaining issues in PR #540 and completing the pending tasks. I will also catch up on any missed discussions and sync up with the team to align our goals for the upcoming weeks.
View Blog Post