When you set the clip polygon, you are not limited to convex shapes.
If you specify
<polygon points="0 100, 220 290, 300 30, 220 100, 220 220, 180 100, 220 100, 300 30"></polygon>
This will draw an external triangle (the same one you had), and then go inside it and cut another triangle.
updated violin
If you do it this way, you just need to remember to draw an inner triangle in the opposite rotation than the triangle out
editing
Yes, you can clip the clip.
Watch this updated demo.
CSS
<svg width="0" height="0"> <clipPath id="clip1"> <polygon points="0 100, 220 290, 300 30"></polygon> </clipPath> <clipPath id="clip2" clip-path="url(#clip1)"> <polygon points="0 0, 9999 0, 9999 9999, 0 9999, 0 0, 150 140, 180 190, 220 30, 150 140"></polygon> </clipPath> </svg>
2 notes:
firstly, the syntax for this is not very user friendly. As far as I know, if you want to use 5 polygons, you need to connect them with each other.
second, since you want (or at least seem to want) that the polygons are "cut", you must make them "negative". This made it possible to wrap it in a huge rectangle around it (coordinates 9999). The good news is that this is code that you can copy to a folder.
In any case, as you were warned in another answer, this technology is actually not very stable.