Thoughts
--------
What entities are there:
Types (meta-data to describe them)
Objects (instances of types)
Files (static data)
Arrays (of objects, SoA, AoS)
Algorithms
Functions / Methods
Levels (sets of files)
Memory (heap, stack, code)
Scripting
Gameloft had
.rkn files and .rki files.
The rkn files contain the metadata about types
The rki files are instances of these
Consider types as having no functions
- So these are purely memory layout - padding, member ordering etc.
- Can map in to memory from file if fixed sizes etc
- Can script too
- Can re-arrange member variable order if use getters/setters and hide impl with generated code
- perhaps idea is to declare a struct in a declarative way and have code gen to make
the getters and setters and a pimpl and the meta data to describe it
- perhaps can code gen for SoA and AoS variants depending on declaration of it
- so it is by default that any type can have an array of them created
Consider types as static - the types that exist are fixed in place at compile time
can't be changed at runtime (some systems might be able to do this, but do we need it?)
Objects can be created dynamically.
Functions can be script or C++ functions, they can call each other, and understand all the registered types