Sourcetype kind = | Box| Connector
Sourcetype ends = | Begin| End
Sourcetype master = {name : string;kind : kind;cells : (string * string) list;geometry : (string * string) list;points : (string * string * Ortho_route.dir) list;
} Sourcetype shape = {id : int;master : string;kind : kind;rows : (string * string) list;geometry : (string * string) list;points : (string * string * Ortho_route.dir) list;text : string;glue : (ends * int * int) list;
} Sourceval value : t -> int -> string -> float option Sourceval shown : t -> int -> string -> string Sourceval set_text : t -> int -> string -> t Sourceval move : t -> int -> (float * float) -> t Sourceval resize : t -> int -> (float * float) -> t Sourceval glue : t -> int -> ends -> target:int -> point:int -> t Sourceval place_end : t -> int -> ends -> (float * float) -> t Sourceval bounds : t -> shape -> float * float * float * float Sourceval ends_of : t -> shape -> (float * float) * (float * float)