Stroke scaling is an interesting issue. Do we want the created shape to get the stroke width the user selected, or should we compensate for the scaling factor of the parent?
Of course we do.
What about the transform gradients/patterns?
Same.
I don't know the answer yet.
I think we must always follow this simple principle: Do it so that it _looks_ right. If the user selects 3pt stroke, it must _look_ 3pt regardless of any parent transforms. If the user has a horizontally aligned pattern fill in his current style, any new objects must have fill that is horizontally aligned, no matter what is the parent transform of the layer they're added too. Et cetera.
In fact I've been steadily implementing this principle in any part of the code that I touch. Hence the various compensations and other stuff I introduced. We don't yet fully follow this principle everywhere but we're getting closer.
I think in general the compensations we want to use when creating the shape within a transformed group should aim for giving exactly the same appearance as if the user were drawing at the top level, even if that means using different line weights/dashes etc.
Totally agree.
Except that, as a side note, I don't think layers will have any transforms at all, for most users. The Illustrator paradigm does not have a place for that (a layer is just a grouping that is not supposed to be transformed as a whole), and most users will follow this paradigm as the most familiar and convenient. So while it's important to get this issue right, it's not what will affect most users every day.