-
Notifications
You must be signed in to change notification settings - Fork 0
Jote
Jote - a data non grata
In the project namespace all items with physical position are coined 'jotes' (like a jot or 'one iota') This fresh name is given to avoid thinking of each datum of figment data (each jote) as a point, or a particle or an atom. Every jote has position and movement values which are points in space, but can be any kind of thing or object, not automatically having the radius or mass of a particle. Jotes are just things located within the figments virtual space, and the most complex aspect of co-ordinating and optimising fancy seems to be the addressing and organisation of everything within that.
The basic properties of jotes are stored in simple arrays, ie. jote number 20's x-dimension value is addressed: jote.x[20], if it has mass that can be addressed jote.mass[20]. This scheme is known as 'Structure of Arrays' (SoA) layout and contrasts with the 'Array of Structure' (AoS) layout which seems more common in OO design. AoS might have benefits for code design and extensibility, but SoA allows for more efficient accesss patterns as reading a selection of a jotes elements (such as only position) accesses only the position arrays memory.