Transforming in Skia vs. Transforming in Stride

Hey there - maybe a super stupid question, but: Is there a specific reason why the nodes for transforming in Skia and Stride are designed so differently? Especially for beginners it would be awesome, if there was just one way that can be applied to the other engine (and therefore also for teachers).

Fiddled around a bit in the Skia nodes to try that out and put the Layer Transform node into the Rectangle Layer with an input pin for a 2D transformation… feels good.

Those are totally different libs with totally different concept of drawing, there were attempts to do that, but that just doesn’t fit… I think i heard joreg say it ended up on text implementation…

I totally understand that it depends on how the library is working. Just think it would do good for the usability and learnability if the workflow was the same in the VL implementation.

The problem here also if you mod skia, then it would be much harder to distinguish if that bug in your implementation or it’s something in skia…
Not saying that it would add another layer of abstraction on top… This maybe looks like a reasonable thing to do, but the maintenance is real a problem…

I can see that this has some beauty to it.
I think we didn’t go for this, because in Skia you typically use Position, Size, or Bounds and rather seldom the Transformation. In other words, you think in one big World Space where everything is placed inside.
When doing 3d it’s much more common to think in many different spaces.

I think the reason you don’t use transformations often in Skia is that you want to share ideas like text-size, stroke-width, and positioning information when layouting the scene. Having different spaces makes it harder to understand what you’re doing. Interestingly in 3d, it feels the opposite.