scale (factor) {
    const scaleParams = new Array(3).fill(factor);
    this.customNode.innerGeometry.scale(...scaleParams);
  }
Scale
NOTE: While recentering all the awesome shapes @vshamgin made so that the origin of each icon was (0,0) I
 calculated the width in the X and Y direction.  The largest icon dimension was for the User shape at 43.77
 units in the y-direction.  Divide that in half to get radius if 21.855.  The radius of all node's is
 hardcoded (was as of 30-Apr-19) to 16 units. The exception is focused nodes, but the custom shapes/inner
 icon work doesn't apply to focused nodes.  I did the developmental work by multiplying the radius of the
 custom shape, i.e. outer border, inner circle by 2.2*radius = 35.2.  This 2.2 factor was applied locally
 in this file (ShapeParent).

NOTE: Once all that worked, I solved used 2.1 as the scaling factor for the inner geometry/icon and solved
 to get a scaling factor that would nicely fit the inner geometries/icons inside a border radius=16, i.e.
 1/2.1 = scale to use for inner geometry/icon.
 This makes all the nodes have the same exterior dimensions and thus the labels are placed properly.

TODO: the positioning of the labels is not "radius" or "scale" aware, so if you make any node have
      a radius other than the standard 16 units defined in nodeViewStandard the labels will be
      overlapping (radius > 16) or awkwardly far from the node (radius < 16)
aSqrd-eSqrd, 30-Apr-2019