Treat DOM elements like objects sliding around on the page.
This is currently considered experimental.
Everything is either a Surface
or a SurfaceObject
. A Surface
can contain contain many SurfaceObject
s and a SurfaceObject
must belong to a Surface
.
This is what defines the boundaries of motions for SurfaceObjects
. This can be a DOM node, the window, or manually specified bounds.
These are the objects that do the moving. They move within the bounds of the SurfaceObject
that they belong to.