The error messages for packing errors are unhelpful, notably:
_Which_ chunk the error occurred in is not reported at all.
How much excess space is used is not reported either.
If there is more than one packing error, only the first is reported.
The error message does not describe what a packing error is.
The entire system should be redesigned. Preferrably, it should show entry sizes and remaining chunk-space live as the entries are modified. One possible design is this:
Controllers gain the ability to invalidate themselves and their parents.
Invalidated controllers have their names recalculated, and EntryChunkControllers recalculate their size minus capacity.
Entries should have an EstimateSize method which returns their size in bytes. This method should be efficient so it can run every time a minor change is made to an entry's editor control. By default, it could return Save().Length as a slow default.
This setup would also have the side-benefit of having entity names updated in the tree view as their names are modified in the control.
The error messages for packing errors are unhelpful, notably:
The entire system should be redesigned. Preferrably, it should show entry sizes and remaining chunk-space live as the entries are modified. One possible design is this:
This setup would also have the side-benefit of having entity names updated in the tree view as their names are modified in the control.