You can search for identifiers within the package.
in-package search v0.2.0
tiny_appkits.appkit_sketch
Sketch
type pos = float * float
type item =
| Line of int * int
| Circle of int * int
type constr =
| Horizontal of int
| Vertical of int
| Parallel of int * int
| Perpendicular of int * int
| Equal of int * int
| On_line of int * int
| On_circle of int * int
type instance = {
master : int;
at : pos;
size : float;
angle : float;
}
type sheet = {
points : (int * pos) list;
fixed : int list;
items : (int * item) list;
constraints : constr list;
instances : instance list;
next : int;
val empty : sheet
val add_point : pos -> sheet -> sheet * int
val add_item : item -> sheet -> sheet * int
val constrain : constr -> sheet -> sheet
val pos : sheet -> int -> pos
val set_pos : int -> pos -> sheet -> sheet
val toggle_fixed : int -> sheet -> sheet
val ends : sheet -> int -> (int * int) option
val points_of : sheet -> constr -> int list
val merge : drop:int -> onto:int -> sheet -> sheet
val delete : int -> sheet -> sheet
type t = sheet list
val sheet : t -> int -> sheet
val set_sheet : int -> sheet -> t -> t
val uses : t -> int -> int -> bool
val place : int -> instance -> t -> t option
type stroke =
| Seg of pos * pos
| Round of pos * float
val transform : instance -> pos -> pos
val instance_strokes : t -> instance -> stroke list
val strokes : t -> int -> stroke list
type aim =
| Nothing
| At_point of int
| On_item of int * pos
| At_instance of int
val aim : t -> int -> tolerance:float -> ?except:int -> pos -> aim
val to_segment : pos -> pos -> pos -> float