What's TPT+? It's my suggested name for the next TPT project. It will fix a major problem with the current TPT, but as it will fundamentally alter the way TPT works, it will need to be a separate project from TPT, rather than simply being the next version of TPT. The problem with all versions of TPT up though version the current version 90.2 is that it depends on 1 array for storing particles (and also just 1 array for each category of every other type of thing that needs a frame-by-frame update). There is just one "parts" array. This creates problems such as a line of C4, ignited in the middle just doing a "fast burn" in one direction while actually exploding in the other direction. The TNT fixed this problem, but it shouldn't have required a dedicated element to behave as an explosive should behave. The fact is, that when something is updated from frame to frame, it should behave toward its surroundings equally in all directions. This could be fixed if you used 2 "parts" arrays. Each frame, particles from the current frame go into the "parts1" array, then the particles positions, velocities, etc would be updated and the output would go into the "parts2" array, which would then be displayed on screen. Then when the next frame was to be processed, the "parts2" array would be simply copied into the "parts1" array, and then the whole process (updating the particles from the "parts1" array into "parts2" array) would begin again. Anything that was was to be different in the next frame from the current frame, would be rendered into the "parts2" array, including movements of existing particles, changing of the other properties of existing particles, adding new particles, or the removal of current particles.
You would likewise have 2 photon arrays (for energy particles), 2 air arrays (for pressure, air velocity, and ambient heat), and 2 Newtonian gravity arrays. Any set of things that needed to be updated from frame to frame, would be represented by 2 arrays, rather than the current method which is 1 array.
Needless to say, this would break all current saves, because all current saves depend on the incorrect 1-array method used in TPT as it currently exists. This is why it won't work as a standard upgrade won't work. TPT must always be able to run previous TPT saves. Therefore my suggestion as that TPT developers (or any others who may want to try this) go ahead and create a project parallel to TPT, that uses this 2-arrays-per-updatable-object-type technique. TPT+ is just my suggestion for what this new project might be called.
Edited 3 times by Videogamer555. Last: 1st Oct 2014
Many particle functions already take into account direction issues(which is a byproduct of particle update order), and some do not. Examples of elements that do include ARAY, PIPE, LIFE, TRON, TNT, IGNC, WIFI(I think it does now), I'm sure someone else could list more. The issue with explosions is that it uses an extremely old function, most recent elements won't have this behavior.
This isn't a major problem as you describe, because all of the current directional issues are most likely kept for compatibility reasons (SWCH), and could be fixed if anyone cared to.
Having 1 array is not causing the problem, the actual implementation of certain reactions is.
And besides, the parts array is not a map of particles arranged by coordinate, it's just a flat list. Particles are located in indices from 0 to 235007 and their positions don't even matter. That's what makes updating kind of wonky.