anchor.diff:              updateModel model 
           ) |> ignore
   
  -        ctrl.Mouse.Down.Values.Subscribe(fun p ->  
  +        mouse.Down.Values.Subscribe(fun p ->  
               down <- true
  -            let ray = ctrl.Mouse.Position |> Mod.force |> Camera.pickRay (camera |> Mod.force)
  +            let ray = mouse.Position |> Mod.force |> Camera.pickRay (camera |> Mod.force)
               let mutable model = model.Value
               match pick ray with
                   | ((d,f)::_) -> 
  
positive.code:                     { m with trafo = Trafo3d.Translation (ha.Point - start) }
                  else m
              | MoveRay r, None -> m
  
  
      let view (m : MModel) =
          let arrow dir = Cone(V3d.OOO,dir,0.3,0.1)
  
negative.code: 
  module InteractionExperiments = 
  
      open AnotherSceneGraph
      open Elmish3DADaptive
  
      [<Demo>]
      let demo () =
  
          let cameraView = 
              CameraView.lookAt (V3d(6.0, 6.0, 6.0)) V3d.Zero V3d.OOI
                  |> Mod.constant
                  //|> DefaultCameraController.control win.Mouse win.Keyboard win.Time
  
          let frustum = 
              App.Size
                  |> Mod.map (fun s -> Frustum.perspective 60.0 0.1 100.0 (float s.X / float s.Y))
  
          let camera = Mod.map2 Camera.create cameraView frustum
  
          let unpersist : Elmish3DADaptive.Unpersist<TranslateController.Model,_> = { unpersist = (fun immut scope -> immut.ToMod(scope)); apply = (fun immut mut scope -> mut.Apply(immut,scope))}
          let adaptiveResult = Elmish3DADaptive.createAppAdaptive App.Keyboard App.Mouse camera unpersist TranslateController2.app
  
          let sg = 
              //Elmish3D.createApp win camera TranslateController.app
              //Elmish3D.createApp win camera SimpleDrawingApp.app
              //Elmish3D.createApp win camera PlaceTransformObjects.app
              adaptiveResult
              //view :> ISg
  
          let fullScene =
                sg 
                  |> Sg.andAlso (Sg.box' C4b.White Box3d.Unit |> Sg.translate 10000.0 10000.0 1000.0)
                  |> Sg.effect [
                      DefaultSurfaces.trafo |> toEffect       
                      DefaultSurfaces.vertexColor |> toEffect
                      DefaultSurfaces.simpleLighting |> toEffect 
                     ] 
                  |> Sg.viewTrafo (Mod.map CameraView.viewTrafo cameraView)
                  |> Sg.projTrafo (Mod.map Frustum.projTrafo frustum)
  
  
          App.Runtime.CompileRender(App.FramebufferSignature, fullScene)