anchor.diff:      property State[const aY,aX: Word]: TKMBuildState read GetState write SetState;
       property StateIdx[const aIdx: Word]: TKMBuildState read GetStateFromIdx;
       property Distance[const aPoint: TKMPoint]: Word read GetDistance;
  +    property DistanceInitPoint[const aPoint: TKMPoint]: Word read GetDistanceInitPoint;
       property Next[const aY,aX: Word]: Word read GetNext write SetNext;
       property Locs: TKMPointList read fLocs write fLocs;
       property HouseRequirements: TKMHouseRequirements read fHouseReq write fHouseReq;
  
positive.code:   TKMBuildInfo = record
      Visited, VisitedHouse: Byte;
      State: TKMBuildState;
      Next,Distance,Y: Word;
    end;
  
    TKMHouseRequirements = record
  
negative.code:     procedure SetState(const aY,aX: Word; const aState: TKMBuildState);
      function GetStateFromIdx(const aIdx: Word): TKMBuildState;
      function GetDistance(const aPoint: TKMPoint): Word;
      function GetDistanceInitPoint(const aPoint: TKMPoint): Word;
      function GetNext(const aY,aX: Word): Word;
      procedure SetNext(const aY,aX,aNext: Word);
  
  