[{"name":"WebGL.Shape2d","comment":"\n\n\n# Render\n\n@docs toEntities\n\n\n# Shape\n\n@docs Shape2d, Form\n\n\n# Types\n\n@docs Render, Opacity, ScaleRotateSkew, Translate, Z\n\n","unions":[{"name":"Form","comment":" ","args":[],"cases":[["Form",["Basics.Float","Basics.Float","WebGL.Shape2d.Render"]],["Textured",["String.String","WebGL.Texture.Texture -> WebGL.Shape2d.Shape2d"]],["Group",["List.List WebGL.Shape2d.Shape2d"]]]},{"name":"Shape2d","comment":" Main building block\n\n    rectangle : Vec3 -> Float -> Float -> Shape2d\n    rectangle color width height =\n        Shape2d\n            { x = 0\n            , y = 0\n            , a = 0\n            , sx = 1\n            , sy = 1\n            , o = 1\n            , form = Form width height (Render.rect color)\n            }\n\n","args":[],"cases":[["Shape2d",["{ x : Basics.Float, y : Basics.Float, z : Basics.Float, a : Basics.Float, sx : Basics.Float, sy : Basics.Float, o : Basics.Float, form : WebGL.Shape2d.Form }"]]]}],"aliases":[{"name":"Opacity","comment":" ","args":[],"type":"Basics.Float"},{"name":"Render","comment":" Render is part of `Shape2d` that converts `Shape2d` into `Entity`\n\n    rect : Vec3 -> Render\n    rect color uP uT opacity =\n        WebGL.entity\n            Shader.vertNone\n            Shader.fragFill\n            Shader.mesh\n            { color = color\n            , opacity = opacity\n            , uP = uP\n            , uT = uT\n            }\n\n","args":[],"type":"WebGL.Shape2d.Translate -> WebGL.Shape2d.ScaleRotateSkew -> WebGL.Shape2d.Z -> WebGL.Shape2d.Opacity -> WebGL.Entity"},{"name":"ScaleRotateSkew","comment":" Vec4 representing part of transform matrix\n\n    | x y 0 |\n    | z w 0 |\n    | 0 0 1 |\n\n","args":[],"type":"Math.Vector4.Vec4"},{"name":"Translate","comment":" Vec2 representing part of transform matrix\n\n    | 1 0 x |\n    | 0 1 y |\n    | 0 0 1 |\n\n","args":[],"type":"Math.Vector2.Vec2"},{"name":"Z","comment":" Css line `z-index` that is passed to the Render\n","args":[],"type":"Basics.Float"}],"values":[{"name":"toEntities","comment":" Converts shapes to WebGL entities and `Set` of missing texture filenames\n\n    import WebGL\n    import WebGL.Shape2d\n\n    main =\n        WebGL.Shape2d.toEntities Dict.empty 100 100 [ rectangle red 30 30 ]\n            |> Tuple.first\n            |> Webgl.toHtml [ width 100, height 100 ]\n\n","type":"Dict.Dict String.String WebGL.Texture.Texture -> { b | width : Basics.Float, height : Basics.Float } -> List.List WebGL.Shape2d.Shape2d -> ( List.List WebGL.Entity, Set.Set String.String )"}],"binops":[]}]