code: function resolvePPBBox(ppBBox, baseBBox) {
    var prop2Axis = { left: 'x', right: 'x', x: 'x', width: 'x',
      top: 'y', bottom: 'y', y: 'y', height: 'y' },
        baseOriginXY = { x: baseBBox.left, y: baseBBox.top },
        baseSizeXY = { x: baseBBox.width, y: baseBBox.height };
    return validBBox(Object.keys(ppBBox).reduce(function (bBox, prop) {
      bBox[prop] = resolvePPValue(ppBBox[prop], prop === 'width' || prop === 'height' ? 0 : baseOriginXY[prop2Axis[prop]], baseSizeXY[prop2Axis[prop]]);
      return bBox;
    }, {}));
  }
docs: PPBBox -> BBox