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.
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.