Remember that blog where I talked about how great Panorama was and how much I loved it. Well this month I ripped Panorana out and replaced it with a homebrew solution written in c#.
Why
I know myself. I know that I would have eventually done this. It's easier and better to rewrite it in c# than to fix the stuff that annoys me in c++.
WHAT'S changed
The layout system is now
based on yoga, so it's all flex based. Panorama has non standard layout system, which is kind of flexxy, but it's not as powerful/complete as proper flexboxing. (Anyone that asks for grid support can get fucked imo)
The CSS transitions in Panorama are wired backwards, so if you have a transition set on a :hover it uses that transition when you're not hovering. There's a bunch of small stuff like this that on their own are nothing, but make you stumble when you're working with it, and they all start to add up.
Things like pointer-events and cursor work.
In general the improvement is to make everything more in line with how you'd expect real stylesheets to behave. We can add some special magic to the sheets, like sounds and different rendering modes, but generally if you're using plain css it should work like you'd expect.
Forced Binds
Doing this has had the obvious benefit of forcing us to bind a bunch of stuff to render and get/control input. The more stuff we move to the addon realm the more stuff gets bound.. which means more functionality for modding.