+class MaskCoord { public: double x, y, z; };
+
+class MaskEdge : public ArrayList<MaskCoord>
+{
+public:
+ MaskCoord &append() { return ArrayList<MaskCoord>::append(); }
+ MaskCoord &append(double x, double y, double z=0) {
+ MaskCoord &c = append();
+ c.x = x; c.y = y; c.z = z;
+ return c;
+ }
+};
+
+// shader buffer unsized array vec only seems to work for dvec (05/2019)
+class MaskSpot { public: double x, y; };