anchor.diff:  
                    // avatar
                    Content.entity<AvatarDispatcher> Simulants.FieldAvatar.Name
  -                    [Entity.Position == v2 256.0f 256.0f
  -                     Entity.Depth == Constants.Field.ForgroundDepth
  -                     Entity.Size == Constants.Gameplay.CharacterSize
  +                    [Entity.Position == v2 256.0f 256.0f; Entity.Depth == Constants.Field.ForgroundDepth; Entity.Size == Constants.Gameplay.CharacterSize
                        Entity.Enabled <== model --> fun model ->
                           model.SubmenuModel.SubmenuState = SubmenuClosed &&
                           Option.isNone model.DialogOpt &&
  
positive.code: 
                   // portal fade sprite
                   Content.staticSprite Simulants.FieldPortalFade.Name
                     [Entity.Absolute == true
                      Entity.Depth == Single.MaxValue
                      Entity.StaticImage == asset Assets.DefaultPackageName "Image9"
                      Entity.Bounds <== model ->> fun _ world -> World.getViewBoundsAbsolute world
                      Entity.Color <== model ->> fun model world ->
                          match model.FieldTransitionOpt with
                          | Some transition ->
  
negative.code: 
                   // interact button
                   Content.button Simulants.FieldInteract.Name
                      [Entity.Position == v2 248.0f -240.0f; Entity.Depth == Constants.Field.GuiDepth; Entity.Size == v2 192.0f 64.0f
                       Entity.UpImage == Assets.ButtonShortUpImage; Entity.DownImage == Assets.ButtonShortDownImage
                       Entity.Visible <== model ->> fun model world ->
                          model.SubmenuModel.SubmenuState = SubmenuClosed &&
                          Option.isNone model.ShopModelOpt &&
  