Hello Arcadie,
my suggestion was to drop default predefined points, as the whole outline would be an infinite set of possible connection points. When ever a user drops an handle near to the outline, an instance of an connection point would be generated, positioned on the outline path next to the place of dropping the handle.
This instance would hold a float which indicates the relative position of the connector on the given outline. eg.: float pos between 0 and 1, a value of 0.5 would define a position on the outline path half way between the start and the end of the path.
This placement would be valid and appropriate even if the object gets scaled. As a result no predefined points are really necessary. One could build the outline out of different paths and maybe additional single point paths and only allow a subset of them to accept connectors, to specialize the objects behavior. But that would depend on the objects intended behavior and would be specific to the objects template.
Hans
My idea was to compute a number (8) of points on the outer shape of the object that would correspond to vertices and midpoints for a rectangle, and to north, east, south, west along with north-east, east-south, south-west and west-north directions in the case of a circle or an ellipse.
For a more complex shape the idea was to compute the points which lie along these directions on the outer boundary of the shape. Another idea that appeared on the list was to place a number of equidistant points along the outer boundary of the shape.