module Main ( main ) where import Signal import Html (Html) import Time (..) import Mouse import Debug import Json.Encode (Value) import Model.Model (..) import Model.Position (..) import Update.Update (..) import View.View (view) main : Signal Html main = Signal.map view model model : Signal Model model = Signal.foldp update (initialModel initialTime) input input : Signal Action input = Signal.mergeMany [ Signal.subscribe updates , Signal.map DeltaTime (fps 30) , Signal.map (\_ -> ReadOnly) clickAway ] port clickPosition : Signal Value port clickPosition = Signal.sampleOn Mouse.clicks (Signal.map positionEncoder Mouse.position) port clickAway : Signal () port initialTime : Time