Plugin Data Guidance

Awesome, last questions @menno ~ am I correct in thinking that:

  1. Each class that calls archive.Write3dmChunkVersion(MAJOR, MINOR); manages its own version?

  2. If you’re writing stuff, you have to maintain the order? I write A, B, C – if I no longer need B, I have to leave it there to maintain the order?

    public void WriteDocument(BinaryArchiveWriter archive)
    {
      archive.Write3dmChunkVersion(MAJOR, MINOR);
      archive.WriteString("A");
      archive.WriteString("B");
      archive.WriteString("C");
    }
    public void WriteDocument(BinaryArchiveWriter archive)
    {
      archive.Write3dmChunkVersion(MAJOR, MINOR);
      archive.WriteString("A");
      archive.WriteString(string.Empty); //No longer needed but maintains order
      archive.WriteString("C");
    }

Or is this just a case where you change major number since the format of the chunks changed?

    private const int MAJOR = 2; //Was previously 1
    private const int MINOR = 0;

    public void WriteDocument(BinaryArchiveWriter archive)
    {
      archive.Write3dmChunkVersion(MAJOR, MINOR);
      archive.WriteString("A");
      //archive.WriteString(string.Empty);
      archive.WriteString("C");
    }

At the moment we aren’t incrementing the major number – maybe we should be?