ViPaq Protocol

ViPaq is a protocol for compactly encoding the packing information of a single bin.

By using efficient binary-level encoding, ViPaq enables:

This page describes what ViPaq is. The exact format is documented per version - see the ViPaq Protocol page for v3.0.x, or pick your version from the Versions page.

🎯 Purpose

Binacle.Net’s API provides detailed packing responses that can get large with many items. ViPaq condenses this data into a single portable string, ideal for storage, transmission, or quick sharing.

βš™οΈ How It Works

ViPaq encodes one packing result: a single bin plus the items packed into it.

It carries:

That is everything needed to redraw the packing, and nothing else. Items come back in the order they were sent.

πŸ”„ Strings Do Not Move Between Versions

A ViPaq string is only readable by an implementation that speaks the same version of the format, and the format changed in Binacle.Net v3.0.0.

If you run an old and a new image side by side, their strings do not interoperate. An old string handed to a new decoder fails with a format error rather than being silently misread, so the failure is visible rather than producing a wrong packing.

Stored strings are worth regenerating after an upgrade. Consult the page for your version for the format itself, and the API documentation for your version for where ViPaq data is available.