Project Title
Spreadsheet Improvements
Name
Almaz Shinbay
Contact
E-mail: [email protected]
Blender.chat: @shinbay
Synopsis
My project aims to enhance Blender’s Spreadsheet Editor by introducing new features such as column filters, a “range” filter operation, sorting by attribute values, and visible column search.
Benefits
These enhancements aim to reduce debugging time, improve data management for Blender users, particularly when working with Geometry Nodes.
Deliverables
The project includes the following deliverables:
- Introducing a “Range” Filter Operation (D1)
- Implementing Column (Attribute) Filters (D2)
- Enabling Sorting by Attribute Values (D3)
- Implementing Visible Column Search in Row Filters (D4)
Project Details
D1. “Range” Filter Operation
It is an additional operation type for spreadsheet row filters to filter out values that lie in the given range. (#89273 - “Range” filter option for spreadsheet row filters)
Here is a possible mockup for the “Range” Operation:
D2. Column Filters
These filters are used to show only columns (attributes) that the spreadsheet viewer is interested in. (#86131 - Column filter for the attribute spreadsheet)
Here is one UI mockup:
When using the column filter, the included columns are shown, and others are hidden. If no column filter is applied or selected columns are not visible, then all columns should be displayed.
D3. Sorting by Attribute Values
The following feature allows users to reorder rows in increasing or decreasing order of the specific attribute values. (Attributes Spreadsheet Sorting by Values, #86134 - Row sorting based on ascending or descending order of a column for attribute spreadsheet)
The possible UI solution is similar to ones used in other spreadsheets:
By clicking the triangle (or any other sorting icon), users can sort rows in increasing or decreasing order of the chosen attribute values.
D4. Visible Column Search for Row Filters
This feature will show possible column names while typing in the “Column” text box in Row Filters. (#89272 - Visible column search for the spreadsheet)
The UI should be similar to regular search boxes. For the implementation, I think I need more time to understand how RNA and DNA code works and how visible columns are stored.
Project Schedule
The scope of the project is likely going to be medium-sized (~175 hours).
Probably, I may start my internship at the end of May. Therefore, I think I will dedicate more time to the project during the weekends.
- Community Bonding Period:
- Familiarize myself with the Spreadsheet Editor code.
- Discuss UI enhancements with mentors and the user community.
- Coding Period (Week 1-2):
- Work on “Range” Operations.
- Coding Period (Week 3-4):
- Work on Column Filters.
- Coding Period and Midterm Evaluation (Week 5-7):
- Work on Sorting Feature.
- Midterm Evaluation
- Coding Period (Week 8-10):
- Work on Visible Column Search.
- Wrap-up and Final Evaluation (Week 11-12):
- Cleanups, bug fixes.
- Documentation.
- Final Report
Bio
I’m Almaz Shinbay, a 3rd-year Computer Science student from Nazarbayev University, Astana, Kazakhstan.
I started programming in C++ from my 7th grade in high school. I was particularly interested in algorithms and data structures, solving various competitive programming problems and participating in national and international olympiads.
Also, this is my second time applying for the Blender Organization by GSoC. Previously, I contributed to the “GSoC 2023: Outliner Tree Refactoring” project, focusing on porting outliner tree element classes to a new object-oriented design. More details can be found here.