init = (canvas) => {
  svgCanvas = canvas
  svgCanvas.replacePathSeg = replacePathSegMethod
  svgCanvas.addPointGrip = addPointGripMethod
  svgCanvas.removePath_ = removePath_
  svgCanvas.getPath_ = getPath_
  svgCanvas.addCtrlGrip = addCtrlGripMethod
  svgCanvas.getCtrlLine = getCtrlLineMethod
  svgCanvas.getGripPt = getGripPt
  svgCanvas.getPointFromGrip = getPointFromGripMethod
  svgCanvas.setLinkControlPoints = setLinkControlPoints
  svgCanvas.reorientGrads = reorientGrads
  svgCanvas.getSegData = () => { return segData }
  svgCanvas.getUIStrings = () => { return uiStrings }
  svgCanvas.getPathObj = () => { return path }
  svgCanvas.setPathObj = (obj) => { path = obj }
  svgCanvas.getPathFuncs = () => { return pathFuncs }
  svgCanvas.getLinkControlPts = () => { return linkControlPts }
  pathFuncs = [0, 'ClosePath']
  const pathFuncsStrs = [
    'Moveto', 'Lineto', 'CurvetoCubic', 'CurvetoQuadratic', 'Arc',
    'LinetoHorizontal', 'LinetoVertical', 'CurvetoCubicSmooth', 'CurvetoQuadraticSmooth'
  ]
  pathFuncsStrs.forEach((s) => {
    pathFuncs.push(s + 'Abs')
    pathFuncs.push(s + 'Rel')
  })
  pathActionsInit(svgCanvas)
  pathMethodInit(svgCanvas)
}
@function module:path.init
@param {module:path.EditorContext} editorContext
@returns {void}