tiny_libs.physics_2d
Solver
tiny_libs.ai_bots
tiny_libs.ai_decision
tiny_libs.ai_learning
tiny_libs.ai_movement
tiny_libs.ai_search
tiny_libs.audio
tiny_libs.audio_abc
tiny_libs.audio_effects
tiny_libs.audio_instruments
tiny_libs.audio_midi
tiny_libs.audio_mod
tiny_libs.audio_mpeg
tiny_libs.audio_signal
tiny_libs.audio_synthesis
tiny_libs.audio_vorbis
tiny_libs.audio_wav
tiny_libs.compression
tiny_libs.compression_brotli
tiny_libs.compression_brotli_words
tiny_libs.core
tiny_libs.crypto
tiny_libs.graphics_2d
tiny_libs.graphics_2d_geometry
tiny_libs.graphics_3d
tiny_libs.graphics_3d_geometry
tiny_libs.graphics_animation
tiny_libs.graphics_avi
tiny_libs.graphics_core
tiny_libs.graphics_fli
tiny_libs.graphics_font
tiny_libs.graphics_gif
tiny_libs.graphics_gpu
tiny_libs.graphics_ilbm
tiny_libs.graphics_images
tiny_libs.graphics_imaging
tiny_libs.graphics_jpeg
tiny_libs.graphics_movie
tiny_libs.graphics_mpeg1
tiny_libs.graphics_mpeg_system
tiny_libs.graphics_png
tiny_libs.graphics_raytrace
tiny_libs.graphics_rgba
tiny_libs.graphics_svg
tiny_libs.graphics_xpm
tiny_libs.graphics_y4m
tiny_libs.graphics_yuv
tiny_libs.gui
tiny_libs.highlight_code
tiny_libs.juice
tiny_libs.networking_mail
tiny_libs.networking_netcode
tiny_libs.networking_protocols
tiny_libs.networking_tls
tiny_libs.networking_unix
tiny_libs.physics_3d
tiny_libs.random
tiny_libs.terminal
tiny_libs.terminal_unix
type options = {
iterations : int;
warm_starting : bool;
baumgarte : float;
slop : float;
bounce_threshold : float;
matching : float;
}
val default : options
type pair = {
a : int;
b : int;
contacts : Contact.t list;
restitution : float;
friction : float;
type memory
val nothing : memory
val solve : options -> dt:float -> ?joints:(float array * Joint2d.t list) -> Body.t array -> pair list -> memory -> Body.t array * memory
val impulses : memory -> (int * int) -> float list