Hi Patis-san,
For unpacked, you can write something like this (Point Wrangle):
vector source = getbbox_center ( 0 );
vector target = point ( 1, "P", 0 );
matrix3 m = lookat ( source, target );
@P -= source;
@P *= m;
@P += source;
For packed, you can write over the transform primitive intrinsic attribute. Since it's a matrix3, you don't have to worry about translation to origin and back (Primitive Wrangle):
vector source = getbbox_center ( 0 );
vector target = point ( 1, "P", 0 );
matrix3 m = lookat ( source, target );
setprimintrinsic ( 0, "transform", @primnum, m );