anchor.diff:    const Weights: TPathMapWeightsPtr; const ExcludedPoints: PPoint;
     const ExcludedPointsCount: NativeUInt): PPathMapResult;
   var
  -  FinishNode: PPathMapNode;
  +  StartNode, Node: PPathMapNode;
   begin
     {$ifNdef CPFLIB}
       FCallAddress := ReturnAddress;
     {$endif}
   
  -  FinishNode := nil;
  +  StartNode := nil;
     // todo
   
  -  if (not DoFindPath({$ifdef CPFLIB}@Self{$else}Self{$endif}, FinishNode)) then
  +  Node := DoFindPath({$ifdef CPFLIB}@Self{$else}Self{$endif}, StartNode);
  +  if (Node = nil) then
     begin
       Result := nil;
       Exit;
  
positive.code: 
      // node info
      NodeInfo := Cardinal(Node.NodeInfo);
    until (False);
  
    Result := True;
  end;
  
  
  
negative.code:         Break;
        end;
  
        // path of current --> child
        TileWeights := Store.Info.TileWeights[ChildNodeInfo and 1];
        Path := TileWeights[NodeInfo shr 24];
        Inc(Path, TileWeights[ChildNodeInfo shr 24]);
  
        // Path test
        // todo
  
        // from start point path
        Path := Store.Current.Path + (Path shr 1);
  
        // if node is exists
  