This week, I started working on restructuring the Facets into a class based structure with inheritance.

Facets right now are individual functions that carry out a few pre-defined set of operations (other than the Custom Facet). These functions (i.e. different types of Facets) do not have any relation to each other for the most part since their operations are pretty different (List Facet, Timrange Facet, Scatter plot Facet). However, they do share some common properties when it comes to the UI.

With the addition of users wanting to go back to the previous position on the removal of Facets, maintaining a state becomes crucial to its execution. This state in addition to the common functions related to UI could be moved to a base Facet in order to remove the repetition of said functions and maintain a single state for all types instead of giving an individual state to each Facet type.

As per the discussion in the mailing list, I have started working on replacing the current function prototype of each Facet into a class based structure. I will soon get to making the base class for Facets and deriving each Facet type from the said base class.

I have also been finishing up the current Infinite Scroll PR to get it to merge as soon as possible. As mentioned in the reviews, there’s a boundary condition that is required to be added as well as the Loading sign when loading a given set. I would be working on these to get it finished as soon as possible. There are some other rendering changes that are required (although the speed comparison is affected because the master branch now has improvements in rendering functions PR merged) and I will read a bit more about it. There are some ideas that I will try implementing in the coming week and expand on it if they show some improvements in rendering speed.