Just add your own scaling function that keeps track of the cumulative scaling operations:
var x = 10;
var y = 10;
var rad = 10;
var aCircle = paper.Path.Circle(x, y, rad);
aCircle.myScale = 1.0;
aCircle.scaleAbsolute = function(absScale) {
this.scale(absScale / myScale);
this.myScale = absScale;
}
aCircle.scaleAbsolute(4);
aCircle.scaleAbsolute(0.5);
You may want to inject your function into Path or PathItem, instead of redefining it for each of your items.
Similarly, you can create a translateScaled() function that incorporates the absolute scale into translation operations.
~Ryan