anchor.diff:  
   class _BackdropState extends State<Backdrop> with TickerProviderStateMixin {
     TabController _tabController;
  -  Animation<Offset> _flyLayerOffset;
  -  Animation<Offset> _sleepLayerOffset;
  -  Animation<Offset> _eatLayerOffset;
  +  Animation<Offset> _flyLayerHorizontalOffset;
  +  Animation<Offset> _sleepLayerHorizontalOffset;
  +  Animation<Offset> _eatLayerHorizontalOffset;
  +
  +  // How much the 'sleep' front layer is vertically offset relative to other
  +  // front layers, in pixels, with the mobile layout.
  +  static const _sleepLayerTopOffset = 60.0;
   
     @override
     void initState() {
       super.initState();
       _tabController = TabController(length: 3, vsync: this);
   
  -    // Offsets to create a gap between front layers.
  -    _flyLayerOffset = _tabController.animation
  +    // Offsets to create a horizontal gap between front layers.
  +    _flyLayerHorizontalOffset = _tabController.animation
           .drive(Tween<Offset>(begin: Offset(0, 0), end: Offset(-0.05, 0)));
   
  -    _sleepLayerOffset = _tabController.animation
  +    _sleepLayerHorizontalOffset = _tabController.animation
           .drive(Tween<Offset>(begin: Offset(0.05, 0), end: Offset(0, 0)));
   
  -    _eatLayerOffset = _tabController.animation
  +    _eatLayerHorizontalOffset = _tabController.animation
           .drive(Tween<Offset>(begin: Offset(0.10, 0), end: Offset(0.05, 0)));
     }
   
  
positive.code:                               20 * textScaleFactor / 2
                            : 175 + 140 * textScaleFactor / 2,
                      ),
                      child: TabBarView(
                        physics: isDesktop
                            ? NeverScrollableScrollPhysics()
                            : null, // use default TabBarView physics
                        controller: _tabController,
                        children: [
                          SlideTransition(
                            position: _flyLayerOffset,
                            child: _FrontLayer(
                              title: GalleryLocalizations.of(context)
                                  .craneFlySubhead,
                              index: 0,
                            ),
                          ),
                          SlideTransition(
                            position: _sleepLayerOffset,
                            child: _FrontLayer(
                              title: GalleryLocalizations.of(context)
                                  .craneSleepSubhead,
                              index: 1,
                            ),
                          ),
                          SlideTransition(
                            position: _eatLayerOffset,
                            child: _FrontLayer(
                              title: GalleryLocalizations.of(context)
                                  .craneEatSubhead,
                              index: 2,
                            ),
                          ),
                        ],
                      ),
                    ),
                  ],
                ),
  
negative.code:     Key key,
      this.title,
      this.index,
      this.mobileTopOffset,
    }) : super(key: key);
  
    final String title;
    final int index;
    final double mobileTopOffset;
  
    static const frontLayerBorderRadius = 16.0;
  
  