Initial commit.
[existenz.git] / IDEAS.md
1 ;;; ideas
2 ;;; - bridge between blender and engine, in addition to inotify-watching.
3 ;;;   this will be best possible with some ready to run rpc framework,
4 ;;    i.e. xmlrpc.server.SimpleXMLRPCServer
5 ;;;   source files if no bridge is available
6 ;;; - interaction with windows messaging, i.e. enable powermenu
7 ;;; - config.lisp loading a la emacs
8 ;;; - ensure conversion to CL-TUPLES::FAST-FLOAT on system boundaries,
9 ;;;   also add normalization and test for divergence on low optimization
10 ;;;   levels to *every* operation
11 ;;; - be sure about the coordinate systems, i.e. 2d+gui/3d
12 ;;; - how to do networking (iolib? or some other plain library?), sound
13 ;;;   (openal)?
14 ;;; - serialization? cl-store or something else?
15 ;;; - FINALIZE as per its description, i.e. register closures to directly
16 ;;;   deallocate the nested resources.  since this may occur in any thread,
17 ;;;   unloading of textures needs to be pushed to the main/opengl thread -
18 ;;;   the same goes for other values (openal?) similarly.  it may be
19 ;;;   possible to still retain often used resources in a separate cache,
20 ;;;   but that's just icing then.  better make a state-chart for all this
21 ;;;   behaviour, i.e. when is a resource (successfully) loaded, what
22 ;;;   happens at what stage
23 ;;; - replace missing resources with placeholders, which may still be
24 ;;;   corrected, i.e. by saving a file to the wanted name, or correcting
25 ;;;   an invalid file
26 ;;; - resource lookup by what?  filesystem like?  how are different
27 ;;;   authors sufficiently discriminated against?
28
29 ;;; future future ideas
30 ;;; - bytecode vm for scripting?  targeted to mathematics, i.e. full
31 ;;;   regular tower + vectors + matrixes + quaternions, which then may be
32 ;;;   optimized somehow
33
34 ;;; every object in the world is in the scene tree and in the spatial
35 ;;; trees.  if an object is removed, it is removed from all trees.  if
36 ;;; an object moves, it has to be reinserted in some of the spatial trees,
37 ;;; also if it changes its scale, rotation and furthermore its actual
38 ;;; geometry