images settings (sampler) text figure out ways to speed up / what costs the most resizing (per frame) is really slow (assuming painter isn't griefing) j is weird / fix x offset masks r just made to bare minimum work scaling could be just a simple scaling factor that multiplies abs and need to ensure text uses raw abs and not scaled abs naming? (pt, px) want to keep (drawn) regions using px? or should I add another field to UiScalar/Vec field could be best solution so redrawing stuff isn't needed & you can specify both as user WidgetRef or smth instead of Id enum that's either an Id or an actual concrete instance of W painter takes them in instead of (or in addition to) id then type wrapper widgets to contain them allows for compile time optimization if a widget wrapper's inner is known at compile time and the id of inner is not needed anywhere maybe introduce InnerWidget trait to allow for editors to expose & modify inner type maybe could also store a parent widget and keep using InnerWidget trait? unsure if possible really weird limitation: I don't think you can currently remove an element from a parent and put it in a child of the same parent because it removes the unused children after the entire parent redraw but the child gets drawn during that, so it will think the child is still active !!! or something like that idk, maybe I need a special enum for parent that includes a undecided state where it may or may not get redrawn by the parent or just do ref counting and ensure all drawn things == 1 afterwards (seems like best way) ok so I'm removing the limit for now don't forget I'm streaming tags vecs for each widget type? POTENTIAL BUG: closures that store IDs will not decrement the id!!! need to not increment id if moved into closure somehow??? wait no, need to decrement ID every time an event fn is added...... only if the id is used in it..??