How can we help you?

Slab Format

Chairmander
September 02, 2022

The Slab format encodes tile and prop information to be able to copy and paste it between clients.

Encoding / Decoding

The slab format is a binary data format (as opposed to a text based one) containing information on version, used assets and asset positions. This binary data is first packed using gzip to decrease size and then for compatibility with network streams and easier sharing through text chat clients it is encoded using base64. Programmatically creating slab strings naturally requires these steps to be applied in order.

To decode an existing slab string (for example one copied from TaleSpire itself), these steps need to be done in reverse order, so first base64 decode and then gzip unpacking, which leaves the raw binary data ready to be parsed.

Binary Format

See this repository on GitHub for documentation on the slab format, as well as a small demonstration application for decoding and encoding the current version.

Notes:

  • The slab format is by no means finished and can change in the future to be better optimized and/or support more features. For example the slab format should also include the ability to copy and paste miniatures in the future, as this is not implemented yet it is expected that there will be an update to the format once that feature ships.