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