Can anyone confirm that adding 1 px to a layer bounds works (using unitPixel)?
I appreciate your patience in advance because I'm using the C++ API and I'm not too familiar with the JS side of things dealing in PS.
I have a bug in c++ that I cannot seem to solve and it involves changing the transforms of a layer bounds by 1 pixel, when I use photoshops listener log (The plugin that will export PS actions to a log file) I will get a event action that uses `unitPercent` as a flag to pass to the function, when I change that to `unitPixel` (That is in the API)

It will not give me the output I need, as it will sometimes output 2-3 pixels and it's un reproducible.
So why I'm asking this in the scripting discussion is I'm worried that this is a problem with the DOM and that even if I was to take some time to convert this to JS It prob will not work.
The actions that I was given in JS also use the UnitPercent, so I'm just wondering
1. What would you suggest.
2. Does anyone know if unitPixel will actually transform the layer bounds by unit pixels?
Given JS action (that uses unitPercent)
// 102x102 to 100x100 no offset needed as it is even
var idtransform = stringIDToTypeID( "transform" );
var desc532 = new ActionDescriptor();
var idnull = stringIDToTypeID( "null" );
var ref136 = new ActionReference();
var idlayer = stringIDToTypeID( "layer" );
var idordinal = stringIDToTypeID( "ordinal" );
var idtargetEnum = stringIDToTypeID( "targetEnum" );
ref136.putEnumerated( idlayer, idordinal, idtargetEnum );
desc532.putReference( idnull, ref136 );
var idfreeTransformCenterState = stringIDToTypeID( "freeTransformCenterState" );
var idquadCenterState = stringIDToTypeID( "quadCenterState" );
var idQCSAverage = stringIDToTypeID( "QCSAverage" );
desc532.putEnumerated( idfreeTransformCenterState, idquadCenterState, idQCSAverage );
var idoffset = stringIDToTypeID( "offset" );
var desc533 = new ActionDescriptor();
var idhorizontal = stringIDToTypeID( "horizontal" );
var idpixelsUnit = stringIDToTypeID( "pixelsUnit" );
desc533.putUnitDouble( idhorizontal, idpixelsUnit, 0.000000 );
var idvertical = stringIDToTypeID( "vertical" );
var idpixelsUnit = stringIDToTypeID( "pixelsUnit" );
desc533.putUnitDouble( idvertical, idpixelsUnit, 0.000000 );
var idoffset = stringIDToTypeID( "offset" );
desc532.putObject( idoffset, idoffset, desc533 );
var idwidth = stringIDToTypeID( "width" );
var idpercentUnit = stringIDToTypeID( "percentUnit" );
desc532.putUnitDouble( idwidth, idpercentUnit, 98.039216 );
var idheight = stringIDToTypeID( "height" );
var idpercentUnit = stringIDToTypeID( "percentUnit" );
desc532.putUnitDouble( idheight, idpercentUnit, 98.039216 );
var idinterfaceIconFrameDimmed = stringIDToTypeID( "interfaceIconFrameDimmed" );
var idinterpolationType = stringIDToTypeID( "interpolationType" );
var idbicubic = stringIDToTypeID( "bicubic" );
desc532.putEnumerated( idinterfaceIconFrameDimmed, idinterpolationType, idbicubic );
executeAction( idtransform, desc532, DialogModes.NO );
// this will translate a 103x103 to 100x100
var idtransform = stringIDToTypeID( "transform" );
var desc506 = new ActionDescriptor();
var idnull = stringIDToTypeID( "null" );
var ref128 = new ActionReference();
var idlayer = stringIDToTypeID( "layer" );
var idordinal = stringIDToTypeID( "ordinal" );
var idtargetEnum = stringIDToTypeID( "targetEnum" );
ref128.putEnumerated( idlayer, idordinal, idtargetEnum );
desc506.putReference( idnull, ref128 );
var idfreeTransformCenterState = stringIDToTypeID( "freeTransformCenterState" );
var idquadCenterState = stringIDToTypeID( "quadCenterState" );
var idQCSAverage = stringIDToTypeID( "QCSAverage" );
desc506.putEnumerated( idfreeTransformCenterState, idquadCenterState, idQCSAverage );
var idoffset = stringIDToTypeID( "offset" );
var desc507 = new ActionDescriptor();
var idhorizontal = stringIDToTypeID( "horizontal" );
var idpixelsUnit = stringIDToTypeID( "pixelsUnit" );
desc507.putUnitDouble( idhorizontal, idpixelsUnit, 0.500000 );
var idvertical = stringIDToTypeID( "vertical" );
var idpixelsUnit = stringIDToTypeID( "pixelsUnit" );
desc507.putUnitDouble( idvertical, idpixelsUnit, 0.500000 );
var idoffset = stringIDToTypeID( "offset" );
desc506.putObject( idoffset, idoffset, desc507 );
var idwidth = stringIDToTypeID( "width" );
var idpercentUnit = stringIDToTypeID( "percentUnit" );
desc506.putUnitDouble( idwidth, idpercentUnit, 97.087379 );
var idheight = stringIDToTypeID( "height" );
var idpercentUnit = stringIDToTypeID( "percentUnit" );
desc506.putUnitDouble( idheight, idpercentUnit, 97.087379 );
var idinterfaceIconFrameDimmed = stringIDToTypeID( "interfaceIconFrameDimmed" );
var idinterpolationType = stringIDToTypeID( "interpolationType" );
var idbicubic = stringIDToTypeID( "bicubic" );
desc506.putEnumerated( idinterfaceIconFrameDimmed, idinterpolationType, idbicubic );
executeAction( idtransform, desc506, DialogModes.NO );
