Here are a number of additional remarks:
to achieve such an ambitious project successfully, an extreme rigor must be adopted at each stage (analysis, development, documentation)
if you were to ask me to help you achieve this project, I would like to use the "simple to more and more complex approach" This means, I would like to concentrate on M1M data structures only at first and within M1Ms, select only a few properties (maybe pvTXT, pvM, pvRT and pvCT) and build the Data Store, the Editor and the Renderer objects necessary to correctly handle these properties (or maybe we could decide the Renderer is really a separate project that can be done a little later). Anyway, I would like these objects to be perfect, i.e. that you do not let me start working on implementing other properties until you consider the work on the first properties and the accompanying documentation to be really perfectly done. Then we can add one more M1M property, and test it until it is considered perfect. Etc. I am used to work on very complex projects like this one and I have learnt over years and years that this is an approach which leads to success.
as is recommended in all modern development systems, there should be a "total" independency of the various project modules (the Data Store, the Editor and the Renderer)
the latter point implies that the M1M data structure be revisited (this does not necessarily mean it should be changed, but maybe) because: