type value = | Num of float| Str of string| Bool of bool| List of int| Ring of ring
val number : value -> floatval text : value -> stringtype rotation = | All_around| Left_right| Dont_rotate
type sprite = {name : string;x : float;y : float;direction : float;size : float;visible : bool;costume : int;costumes : int;rotation : rotation;radius : float;pen : bool;pen_hue : float;pen_size : float;bubble : value option;scripts : Scratch_blocks.script list;
}type ink = | Line of float * float * float * float * float * float| Stamp of sprite
type thread = {sprite : string;script : int;frames : frame list;result : value option;
}type t = {sprites : sprite list;vars : (string * value) list;cells : (int * value) list;lists : (int * value list) list;next_id : int;ink : ink list;threads : thread list;now : float;timer_start : float;seed : int;broadcasts : string list;halt : bool;
}val key : string -> t -> tval click : string -> t -> tval run_script : string -> int -> t -> tval variable : t -> string -> valueval items : t -> int -> value listval show : t -> value -> string