 
         // if the source and destination are both offscreen, warp the
         // sprite to where they are going
-        // TODO Path boolean endsOff = !_vbounds.contains(nx, ny);
-        if (false /*TODO Path!_vbounds.intersects(sprite.getBounds()) && endsOff*/) {
+        var endsOff :Boolean = !_vbounds.contains(nx, ny);
+        if (!_vbounds.intersects(sprite.screenBounds) && endsOff) {
             sprite.cancelMove();
             sprite.placeAtLoc(loc);
             return true;

    {
        var cx :int = sprite.x;
        var cy :int = sprite.y;

        // if this panel is not yet showing, warp the sprite directly
        if (!visible) {

        _proxrad = int(Math.max(_proxrad, Math.sqrt(_isoView.size.x*_isoView.size.x +
            _isoView.size.y*_isoView.size.y)));
        recomputeProximate();

        _vbounds = new Rectangle(0, 0, _isoView.size.x, _isoView.size.y);
    }

    override public function willEnterPlace (plObj :PlaceObject) :void
