Thanks Pierre, I will definitely try to use this rather than my home- grown tweening stuff.
Cheers Paul On 15-Jan-08, at 8:41 AM, Pierre GIRAUD wrote: > Hi Paul, > > I would like to get you informed that I started working on a global > "transition effect manager" for the google-like popups purpose > (specifically for the popup resize and the animated panning). It's > available as a new Tween class and Easing (.Linear, .Exponential, > etc...) classes. > > I think this is generic enough to be used in other contexts and as I > was writing this down, I thought that it could be helpful for your > transition sandbox code as it would let you simplify much of it > (startTransition() for example). > > You can find : > - a working example in > http://dev.openlayers.org/sandbox/camptocamp/panto/examples/tween.html > - tween and easing classes in > http://svn.openlayers.org/sandbox/camptocamp/panto/lib/OpenLayers/Tween.js > , > - example usage in : > http://svn.openlayers.org/sandbox/camptocamp/panto/lib/OpenLayers/Map.js > (new panTo method). > > Don't hesitate to ask if you need more details. > > Regards, > Pierre > > On Jan 15, 2008 2:11 AM, Paul Spencer <[EMAIL PROTECTED]> wrote: >> Hi all, >> >> I've been reminded a couple of times recently of the work I have been >> doing in the pagameba/transition sandbox. I would like to complete >> that work in the next few weeks and present it for integration into >> trunk. >> >> In reviewing the current status, I realized that one of the reasons >> why I stopped working on it was that I got blocked by some challenges >> in implementing the animation effect that required more invasive >> changes than I wanted to make at the time. I'll give a brief >> overview >> of what changes have been made first, then ask my question. >> >> The purpose of the changes in the sandbox is to address one issue and >> introduce a new feature into OpenLayers. The issue that I wanted to >> address was the 'flash' on pan of singleTile layers and on zoom of >> any >> layers. The new feature that I wanted to create was the ability to >> create transition effects on zoom. In discussing these issues with >> Erik, we came up with a way of introducing this new transition >> capability in such a way as the default behaviour fixed my first >> issue >> while providing a framework for implementing the new features. >> >> The basic change that we architected was to create the concept of a >> 'back buffer tile' that sits behind every tile. The back buffer tile >> is a clone of the tile that is updated through separate logic. When >> the foreground tile is updated, the back buffer tile is made visible >> as a place holder until the tile has loaded its new image. Actually, >> it stays visible until the layer has finished loading. >> >> We then scoped out two transition effect, 'resize' and 'animate'. >> The >> 'resize' effect simply resizes the back buffer tile image so that its >> geographic extent is correct within the new zoom level. This >> stretches or compresses the size of the image and you get a visual >> place holder that is more or less correct until the new images >> arrive. The 'animate' effect does the same thing, except it scales >> the back buffer tile gradually between its old size/location and the >> new size/location. >> >> The current status of the sandbox is that the base architecture and >> the 'resize' effect have been implemented and seem to work well. The >> 'animate' effect is implemented but it suffers from a couple of >> issues: >> >> 1) if the layer is panned before zooming, the transition starts where >> the layer was before panning. This is due to a decision I made to >> update the back buffer tile position when the transition completes >> rather than just before it starts. I'm sure I had a good reason for >> that, but I can't think of it right now. This is fixable and I have >> toyed with a couple of ways of fixing it but neither struck me as the >> right way so I am still thinking on this one. >> >> 2) if not all the tiles in the grid are being used for a given zoom >> level, then the back buffer tiles are being left visible and can be >> seen during zooms. I had originally intended to hide the back buffer >> tile when the main tile was hidden, but doesn't work since the back >> buffer tile needs to be visible while the main tile is loading and >> potentially after it has loaded if the surrounding tiles haven't >> finished loading. >> >> 3) there is some potential for problems if the map is zoomed while >> the >> map is still animating, depending on the state of the tile loading. >> >> In order to solve these issues, I feel like I have to make some >> intrusive changes that I need some time to consider carefully, and >> some review from those more knowledgeable than me about the >> implications of some of the changes. >> >> I would like your feedback on whether I should prepare a patch with >> the basic back buffer tile support and resize effect (minimizing >> changes to the current code base), and do a separate animation effect >> in a later patch, or wait and do a single patch with everything in it >> (potentially introducing changes with wider impact)? >> >> Cheers, >> >> Paul >> ___________________________________________ >> >> Paul Spencer >> Chief Technology Officer >> DM Solutions Group Inc >> http://www.dmsolutions.ca/ >> >> _______________________________________________ >> Dev mailing list >> [email protected] >> http://openlayers.org/mailman/listinfo/dev >> Cheers, Paul __________________________________________ Paul Spencer Chief Technology Officer DM Solutions Group Inc http://www.dmsolutions.ca/ _______________________________________________ Dev mailing list [email protected] http://openlayers.org/mailman/listinfo/dev
