[{"name":"Messenger.Layer.LayerExtra","comment":"\n\n\n# Layer extra features\n\n@docs BasicUpdater, Distributor\n\n","unions":[],"aliases":[{"name":"BasicUpdater","comment":" Basic Update Type\n\nA basic updater type used to update the basic data of the layer with event.\n\nUsers can use it as the first step of the update process\n\n","args":["data","cdata","userdata","tar","msg","scenemsg"],"type":"Messenger.Base.Env cdata userdata -> Messenger.Base.UserEvent -> data -> ( data, List.List (Messenger.GeneralModel.Msg tar msg (Messenger.Scene.Scene.SceneOutputMsg scenemsg userdata)), ( Messenger.Base.Env cdata userdata, Basics.Bool ) )"},{"name":"Distributor","comment":" Distributor Type\n\nA distributor is used to generate several list of Component Msgs for corresponding components list.\n\nThe `cmsgpacker` is a custom type to store the component msgs and their targets.\n\n","args":["data","cdata","userdata","tar","msg","scenemsg","cmsgpacker"],"type":"Messenger.Base.Env cdata userdata -> Messenger.Base.UserEvent -> data -> ( data, ( List.List (Messenger.GeneralModel.Msg tar msg (Messenger.Scene.Scene.SceneOutputMsg scenemsg userdata)), cmsgpacker ), Messenger.Base.Env cdata userdata )"}],"values":[],"binops":[]},{"name":"Messenger.Misc.KeyCode","comment":" Common key codes\n\n@docs arrowUp, arrowDown, arrowLeft, arrowRight, space, escape, enter, backspace, tab, shift, ctrl, alt, capsLock, mouseLeftButton, mouseMidButton, mouseRightButton\n\n","unions":[],"aliases":[],"values":[{"name":"alt","comment":" keycode\n","type":"Basics.Int"},{"name":"arrowDown","comment":" keycode\n","type":"Basics.Int"},{"name":"arrowLeft","comment":" keycode\n","type":"Basics.Int"},{"name":"arrowRight","comment":" keycode\n","type":"Basics.Int"},{"name":"arrowUp","comment":" keycode\n","type":"Basics.Int"},{"name":"backspace","comment":" keycode\n","type":"Basics.Int"},{"name":"capsLock","comment":" keycode\n","type":"Basics.Int"},{"name":"ctrl","comment":" keycode\n","type":"Basics.Int"},{"name":"enter","comment":" keycode\n","type":"Basics.Int"},{"name":"escape","comment":" keycode\n","type":"Basics.Int"},{"name":"mouseLeftButton","comment":" mouse button\n","type":"Basics.Int"},{"name":"mouseMidButton","comment":" mouse button\n","type":"Basics.Int"},{"name":"mouseRightButton","comment":" mouse button\n","type":"Basics.Int"},{"name":"shift","comment":" keycode\n","type":"Basics.Int"},{"name":"space","comment":" keycode\n","type":"Basics.Int"},{"name":"tab","comment":" keycode\n","type":"Basics.Int"}],"binops":[]},{"name":"Messenger.Misc.RNG","comment":"\n\n\n# RNG module\n\nSample RNG module.\n\nThe seed is often given by the current tick.\n\n@docs genRandomInt, genRandomListInt\n\n","unions":[],"aliases":[],"values":[{"name":"genRandomInt","comment":" Generate a random int in the range [a, b] using the given seed.\n","type":"Basics.Int -> ( Basics.Int, Basics.Int ) -> Basics.Int"},{"name":"genRandomListInt","comment":" Generate a random list of ints in the range [a, b] using the given seed.\n","type":"Basics.Int -> Basics.Int -> ( Basics.Int, Basics.Int ) -> List.List Basics.Int"}],"binops":[]}]