I’ve kept busy this past week. I managed to reduce CSS parsing time and data size significantly—to the point where the plugin is now competitive with widgets and menus for overall load times and data size. It felt fantastic to finally be able to move forward.

I then wrote the data structures to manage the parsed CSS in the JavaScript (CSS property priorities are trickier than they initially appear). I’ve worked out a few possible algorithms for saving the CSS (the goal is to ensure no priority conflicts while minimizing css size), and designed the data structures with them in mind. I also updated the JS selector parser to generate accurate priorities (which allows me to work with user-generated selectors without parsing them via AJAX).

I’ve integrated those data structures into the search panel and top bar. I’m leaving the preview item-selection unconnected for now—I want to see how the properties panel turns out before developing that interface any further.

The properties panel (a generic property/value editor) is my next major milestone. I’ve added new inline and stretching input UI widgets, and am currently working on the interface to apply property changes (and other major events). I hope to finish the properties panel before this week’s community meeting and give users something to play with. I’ll leave you with a little preview. ‘Til next time.