Alembic File Format Specifications

This is my summary of gingerBill's article.

Ogawa

The entire Ogawa spec:

header{magic: [5]byte, flag: u8, version: [2]byte, root_group_offset: u64le}

group{len: u64le, children: [len]u64le}
data{len: u64, data: [len]byte}

if bit 63 = 1, child is an offset to data (bit masked)
if bit 63 = 0, child is an offset to a group

from gingerBill

The Ogawa header:

MAGIC :: "Ogawa"

File_Header :: struct {
    magic:   [5]byte, // "Ogawa"
    wflag:   enum byte { writing = 0x00, closed = 0xff },
    version: [2]byte, // {0, 1}
    root_group_offset: u64le,
}