Map<String, dynamic> toJson() { final val = <String, dynamic>{}; if (circle != null) val['circle'] = circle!.toJson(); if (rectangle != null) val['rectangle'] = rectangle!.toJson(); return val; }