Proposal by @Tgr:
data-parsoid dsr offsets are language-dependent. When emitted by JS code, the offsets are UCS2 offsets. But, when emitted by Parsoid/PHP code, they are likely going to be byte offsets (or unicode char offsets). This means that for selective serialization purposes, we cannot use offsets generated by Parsoid/JS in Parsoid/PHP code and vice versa. However, if we know the type of offsets stored in the data-parsoid blob, by adding appropriate offset converters to both Parsoid/JS and Parsoid/PHP in the API layer before selective serialization, we can interchangeably use data-parsoid blobs generated by either Parsoid codebase in the other codebase. This means if we need to switch back and forth between Parsoid/JS and Parsoid/PHP in the initial deployment stages, we can do so without having to tightly co-ordinate clearing / versioning of data-parsoid blobs stored in RESTBase to prevent incorrect use of data-parsoid blobs.