vectors operations: * x + - < matrices (with extended matrices) (at least 4x4). perspective correction textures 3D ooz triangle texture mapping. 2D blitting with alpha transparency. mipmapping. area cache. world: coordinate system? Zylinder | Cartesian | Spherical. Newton is using Cartesian. euclidian vector space? current time. total energy. array of fields. field: kind = spherical|? center = ? force = math-function. array(map?) of objects (with refcount??) object (mutable by its own translation or rotation?): charge? potential energy (per field?). impulse. mass. [derived: kinetic energy = p²/2m] how can the object change (in size, form... etc)? How stable is it? how can the object move? can only parts of the object move? object symmetry? where is the object('s center of gravity?) in the world. which direction does the object currently face (unit vector, not some arbitrary angle). array of triangles. triangle: texture-ref vector-refs(??? + try-locked projection cache) (3). normal vector. projection: world array of views (per eye). view: focus (z+ ) position in world direction facing in world projection cache[vector] => projection (if that makes sense?).