Home

main

  • Button
    • code
    • held
    • pressed
    • held_any
    • pressed_any
  • Collider
    • box
    • sphere
    • capsule
  • Config
    • empty
  • Draw
    • default
  • Input
    • empty
    • idle_gamepad
  • Key
    • code
    • held
    • pressed
    • axis
  • Launch
    • default
  • Light
    • ambient
    • directional
    • sun
    • point
  • Pose
    • still
    • loop
  • Query
    • contacts_of
    • ray
    • ray_slot
    • overlap
    • overlap_slot
  • QueryResults
    • empty
    • ray
    • ray_slot
    • overlaps
  • Scene
    • empty
  • Sound
    • resolve
    • duration
    • play
  • Speaker
    • default
  • Vocabulary
    • Vec3
    • Quat
    • Rgb
    • Rgba
    • Config
    • Launch
    • Window
    • Msaa
    • Capacity
    • Manifest
    • Input
    • Gamepad
    • Camera
    • Draw
    • Pose
    • Collider
    • Contact
    • RayHit
    • OverlapHit
    • QueryResults
    • Query
    • Light
    • Sizing
    • Align
    • AttachPoint
    • BoxConfig
    • Text
    • Element
      • is_eq
    • Node
      • is_eq
    • Scene
    • Place
    • Speaker
    • Cursor
    • Command
  • Button.code : Button -> U8
  • Button.held : Gamepad, Button -> Bool
  • Button.pressed : Gamepad, Button -> Bool
  • Button.held_any : Input, Button -> Bool
  • Button.pressed_any : Input, Button -> Bool
  • Collider.box : U64, Vec3, Quat, Vec3 -> Collider
  • Collider.sphere : U64, Vec3, F32 -> Collider
  • Collider.capsule : U64, Vec3, Quat, F32, F32 -> Collider
  • Config.empty : Config
  • Draw.default : Draw
  • Input.empty : Input
  • Input.idle_gamepad : Gamepad
  • Key.code : Key -> U16
  • Key.held : Input, Key -> Bool
  • Key.pressed : Input, Key -> Bool
  • Key.axis : Input, Key, Key -> F32
  • Launch.default : Launch
  • Light.ambient : Rgb -> Light
  • Light.directional : Vec3, Rgb -> Light
  • Light.sun : Vec3, Rgb -> Light
  • Light.point : Vec3, Rgb, F32 -> Light
  • Pose.still : U32, F32 -> Pose
  • Pose.loop : F32, F32 -> F32
  • Query.contacts_of : U64 -> Query
  • Query.ray : U64, Vec3, Vec3, F32 -> Query
  • Query.ray_slot : U64, U32, Vec3, Vec3, F32 -> Query
  • Query.overlap : U64, [Box(Vec3), Sphere(F32)], Vec3 -> Query
  • Query.overlap_slot : U64, U32, [Box(Vec3), Sphere(F32)], Vec3 -> Query
  • QueryResults.empty : QueryResults
  • QueryResults.ray : QueryResults, U64 -> Try(RayHit, [Miss])
  • QueryResults.ray_slot : QueryResults, U64, U32 -> Try(RayHit, [Miss])
  • QueryResults.overlaps : QueryResults, U64, U32 -> List(U64)
  • Scene.empty : Scene
  • Sound.resolve : Manifest, Str -> U32
  • Sound.duration : Manifest, Str -> F32
  • Sound.play : U32 -> Command
  • Speaker.default : Speaker
  • Vocabulary.Vec3 : { x : F32, y : F32, z : F32 }
  • Vocabulary.Quat : { x : F32, y : F32, z : F32, w : F32 }
  • Vocabulary.Rgb : { r : F32, g : F32, b : F32 }
  • Vocabulary.Rgba : { r : F32, g : F32, b : F32, a : F32 }
  • Vocabulary.Config : { seed : U64, assets : List(Str), args : List(Str) }
  • Vocabulary.Launch : { window : Window, step_hz : U32, shadow_map : U32, capacity : Capacity }
  • Vocabulary.Window : { width : U32, height : U32, title : Str, fullscreen : Bool, high_dpi : Bool, samples : Msaa, vsync : Bool }
  • Vocabulary.Msaa : [Off, X2, X4, X8]
  • Vocabulary.Capacity : { meshes : U32, skies : U32, draws : U32, groups : U32, ui_quads : U32, sounds : U32, voices : U32 }
  • Vocabulary.Manifest : List({ name : Str, id : U32, duration : F32, clips : List({ name : Str, id : U32, duration : F32 }) })
  • Vocabulary.Input : { held : List(U16), pressed : List(U16), mouse : { dx : F32, dy : F32 }, gamepads : List(Gamepad) }
  • Vocabulary.Gamepad : { slot : U8, held : List(U8), pressed : List(U8), left_stick : { x : F32, y : F32 }, right_stick : { x : F32, y : F32 }, left_trigger : F32, right_trigger : F32 }
  • Vocabulary.Camera : { eye : Vec3, target : Vec3, up : Vec3, fov_y : F32 }
  • Vocabulary.Draw : { id : U64, mesh : U32, pos : Vec3, scale : Vec3, rot : Quat, scale_rot : Quat, tint : Rgb, pose : Pose }
  • Vocabulary.Pose : { clip : U32, time : F32, fade_clip : U32, fade_time : F32, fade : F32 }
  • Vocabulary.Collider : { id : U64, pos : Vec3, rot : Quat, shape : [Box(Vec3), Sphere(F32), Capsule({ radius : F32, half_height : F32 })] }
  • Vocabulary.Contact : { a : U64, b : U64, normal : Vec3, depth : F32 }
  • Vocabulary.RayHit : { owner : U64, slot : U32, id : U64, point : Vec3, normal : Vec3, distance : F32 }
  • Vocabulary.OverlapHit : { owner : U64, slot : U32, id : U64 }
  • Vocabulary.QueryResults : { contacts : List(Contact), rays : List(RayHit), overlaps : List(OverlapHit) }
  • Vocabulary.Query : [ContactsOf(U64), Raycast({ owner : U64, slot : U32, origin : Vec3, dir : Vec3, max_distance : F32, exclude : List(U64) }), Overlap({ owner : U64, slot : U32, shape : [Box(Vec3), Sphere(F32)], pos : Vec3, exclude : List(U64) })]
  • Vocabulary.Light : [Ambient(Rgb), Directional({ dir : Vec3, color : Rgb, shadow : Bool }), Point({ pos : Vec3, color : Rgb, range : F32 })]
  • Vocabulary.Sizing : [Fit({ min : F32, max : F32 }), Grow({ min : F32, max : F32 }), Fixed(F32), Percent(F32)]
  • Vocabulary.Align : [Start, Center, End]
  • Vocabulary.AttachPoint : [LeftTop, LeftCenter, LeftBottom, CenterTop, CenterCenter, CenterBottom, RightTop, RightCenter, RightBottom]
  • Vocabulary.BoxConfig : { width : Sizing, height : Sizing, pad : { left : F32, right : F32, top : F32, bottom : F32 }, gap : F32, direction : [Row, Col], child_align : { x : Align, y : Align }, background : Rgba, radius : F32, floating : [NoFloat, Float({ attach : AttachPoint, offset : { x : F32, y : F32 } })] }
  • Vocabulary.Text : { str : Str, size : F32, color : Rgba, wrap : [Words, None] }
  • Vocabulary.Element := [Box(BoxConfig, List(Element)), Text(Text)]
  • Vocabulary.Element.is_eq : Element, Element -> Bool
  • Vocabulary.Node := [Group({ id : U64, pos : Vec3, rot : Quat }, List(Node)), Draw(Draw), Light(Light), Collider(Collider), Speaker(Speaker)]
  • Vocabulary.Node.is_eq : Node, Node -> Bool
  • Vocabulary.Scene : { camera : Camera, nodes : List(Node), cursor : Cursor, sky : U32, ui : List(Element), queries : List(Query) }
  • Vocabulary.Place : [Here, At({ pos : Vec3, range : F32 })]
  • Vocabulary.Speaker : { id : U64, sound : U32, gain : F32, pitch : F32, at : Place, repeat : [Loop, Once] }
  • Vocabulary.Cursor : [Free, Locked]
  • Vocabulary.Command : [Quit, Load({ pack : Str, assets : List(Str) }), Unload(Str), Play({ sound : U32, gain : F32, pitch : F32, at : Place })]

Made by people who like to make nice things.