Module Sense

type 'v target = {
  1. visible : bool;
  2. audible : bool;
  3. position : 'v option;
  4. age : int;
  5. seen_for : int;
}
val unknown : 'v target
val update : ?sight:float -> ?hearing:float -> distance:float -> clear:bool -> position:'v -> 'v target -> 'v target
val lost : 'v target -> bool
val forget : after:int -> 'v target -> 'v target
val nearest : (float * 'v target) list -> 'v target option
val focus : (float * 'v target) list -> 'v target option