anchor.diff:                  match selectedScreen_.State with
                   | IncomingState ->
                       let incomingModel_ = get selectedScreenModel_ incomingModelLens
  -                    let (incomingModel_, finished) = updateTransition1 incomingModel_
  +                    let (incomingModel_, started, finished) = updateTransition1 incomingModel_
                       let selectedScreen_ = { selectedScreen_ with State = if finished then IdlingState else IncomingState
                                                                    IncomingModel = incomingModel_ }
                       let selectedScreenModel_ = set selectedScreen_ selectedScreenModel_ screenLens
                       let world_ = set (Some selectedScreenModel_) world_ <| worldOptSelectedScreenModelLens
  +                    let world_ = swallowLeftMouseDuringTransition started finished world_
                       publish [Lun.make "finished"; Lun.make "incoming"] { Handled = false; Data = NoData } world_
                   | OutgoingState ->
                       let outgoingModel_ = get selectedScreenModel_ outgoingModelLens
  -                    let (outgoingModel_, finished) = updateTransition1 outgoingModel_
  +                    let (outgoingModel_, started, finished) = updateTransition1 outgoingModel_
                       let selectedScreen_ = { selectedScreen_ with State = if finished then IdlingState else OutgoingState
                                                                    OutgoingModel = outgoingModel_ }
                       let screenModel_ = set outgoingModel_ selectedScreenModel_ outgoingModelLens
                       let world_ = set (Some screenModel_) world_ <| worldOptSelectedScreenModelLens
  +                    let world_ = swallowLeftMouseDuringTransition started finished world_
                       publish [Lun.make "finished"; Lun.make "outgoing"] { Handled = false; Data = NoData } world_
                   | IdlingState -> (true, world_)
           if keepRunning then update world_
  
positive.code: 
      let updateTransition1 transitionModel_ =
          let transition_ = get transitionModel_ transitionLens
          let (transition_, finished) =
              if transition_.Ticks >= transition_.Lifetime then ({ transition_ with Ticks = 0 }, true)
              else ({ transition_ with Ticks = transition_.Ticks + 1 }, false)
          let transitionModel_ = set transition_ transitionModel_ transitionLens
          (transitionModel_, finished)
  
      let updateTransition update world_ : bool * World =
          let (keepRunning, world_) =
  
negative.code:     let getRenderDescriptors world : RenderDescriptor rQueue =
          let componentDescriptors = getComponentRenderDescriptors world
          let worldDescriptors = getWorldRenderDescriptors world
          componentDescriptors @ worldDescriptors // NOTE: pretty inefficient
  
      /// Render the world.
      let render world =
  