geometra/src/n2/n2.mli

40 lines
681 B
OCaml

open Adam
open S2
module Transform_graph : sig
type t
type node
val make : unit -> t
val update : t -> unit
val model : node -> mat2a
val world : node -> mat2a
(* val add : ?parent:node -> t -> node *)
end
module Sprite_graph : sig
type t
type node
val make : unit -> t
val register_sprite_map : t -> string -> Sprite.map -> unit
val render : t -> ren:Renderer.t -> unit
(* val add_rect : t -> tf:mat2a -> bb:aabb -> fill:color -> node *)
end
module Scene : sig
type t
type obj
val load : string ->
tg:Transform_graph.t ->
sg:Sprite_graph.t ->
t
val get : t -> string -> obj
val transform : obj -> Transform_graph.node
end