Greetings, I've been using evancz/elm-graphics (alongside elm-lang/animation-frame, elm-community/easing-functions, mgold/elm-animation) to develop overlay graphics (in the style of http://nodecg.com / https://www.youtube.com/watch?v=x9PzBHgN29U ), and I've had a lot more fun using it.
But I found some of the canvas APIs are not available, which is why I'm currently interested in creating an alternative to elm-graphics, focusing on implementing a low-level interface to the HTML5 Canvas, which could then be used to recreate the higher-level API elm-graphics offers. I've come to ask help about API design, I can see a few ways of doing it: One being somewhat similar to elm-graphics, which would be passing instructions to the render function view model = Html.div [] [ Canvas.draw2D ( 200, 300 ) [ Canvas.fillStyleColor <| Color.rgb 0 255 0 , Canvas.fillRect 10 10 100 100 ] ] or even pipeline-style view model = Html.div [] [ Canvas.draw2D ( 200, 300 ) |> Canvas.fillStyleColor (Color.rgb 0 255 0) |> Canvas.fillRect 10 10 100 100 ] or instead through Messages and in the style of The Elm Architecture, the Canvas would be its own component update msg model = case msg of Alert message color -> model ! List.map MsgCanvas [ Canvas.fillStyleColor color , Canvas.fillText 10 10 message ] MsgCanvas msg -> { model | canvas = Canvas.update msg model.canvas } ! [] view model = Html.div [] [ Canvas.draw2D ( 200, 300 ) model.canvas ] How do you feel about them? What else should I know about canvas, interfacing with JS, etc? Thanks -- You received this message because you are subscribed to the Google Groups "Elm Discuss" group. To unsubscribe from this group and stop receiving emails from it, send an email to elm-discuss+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.