List<GShape> selectShapesAtPoint(Point p, {bool recursive = false}) { if (shapeBoundingBox.containsPoint(p)) { return [this]; } else { return []; } }