anchor.diff:      {7 --> 3} (y:  0; x: +1)
     );
   
  -  CHILD_ARRAYS: array[0..15{Parent*2 + FLAG_CLOCKWISE}] of TChildArray = (
  -    ($0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000),
  -    ($0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000),
  -    ($0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000),
  -    ($0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000),
  +  CHILD_ARRAYS: array[0..12{4 diagonal + 4 clockwise optional}-1] of TChildArray = (
       ($0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000),
       ($0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000),
       ($0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000),
  
positive.code:                    {
                       Parent:3;
                       case Boolean of
                         False: (Way:3; ParentDependent:1);
                          True: (Child:3; Attainable:1);
                       end;
                       KnownPath:1;
  
negative.code:           X := 2*Byte(dX > 0);
            Inc(Mask, dY shr HIGH_NATIVE_BIT);
            Inc(X, dX shr HIGH_NATIVE_BIT);
            Mask := 3 * Mask;
            ChildNode.NodeInfo := ChildNode.NodeInfo or ((X - 1 + {3 *} Mask) shl 3);  //WAY_BITS[X + 3 * Mask];
  
            // Y := Abs(dY)
            Mask := -(dY shr HIGH_NATIVE_BIT);
  