We do not as a rule cache
                                any features - in part so we can work
                                with massive content.
                                
                                
                                As a framework we want to be as
                                  light on resources as possible, and
                                  leave it up to applications that use
                                  uDig to choose when (and what) to
                                  cache.
                                
                                
                                There is a cache checkbox in the
                                  style editor you can tick as an
                                  experimental option, it keeps the
                                  features in a spatial index (and pull
                                  features in as needed as your scroll
                                  around. It is very effective when
                                  working with things like WFS.
                                
                                
                                The second question is a bit more
                                  interesting, wanting features in world
                                  coordinates.
                                
                                
                                If you want to do that make a
                                  request of the feature source and fill
                                  in the viewport CRS in the Query
                                  object. The features will be
                                  reprojected as they come out of the
                                  database or shapefile. Indeed in some
                                  cases the data sources supports native
                                  reproduction allowing us to do less
                                  work in uDig.
                                
                                
                                Note that the features that are
                                  drawn on screen are subject to
                                  "decimation" by the rendering engine,
                                  we throw out coordinates on the fly,
                                  based on the math transform
                                  constructed between the original data,
                                  the world CRS and the affine
                                  transformation to the screen. The
                                  earlier we can throw out coordinates
                                  the less information involved in
                                  drawing, and the faster we can update
                                  the screen.
                                
                                
                                Jody