Skip to content

Releases: Open-Resin-Alliance/LumenFormat

Release list

LUMEN v1.0

Choose a tag to compare

@PaulGD03 PaulGD03 released this 19 Sep 01:58

The first published revision of the LUMEN print file format. Its class is
initial publication - there is no earlier revision for it to be a correction, an
addition or a break against, so nothing this tag says is measured against a predecessor.

status.json
declares the revision published and names this tag as the ref that holds its text. From here
the text of v1.0 is immutable (§10.3):
a correction ships as v1.0.x, an additive change as v1.1 with header.version = 1, and a
breaking change as v2.0 with header.version = 2.

What v1.0 specifies

  • The container: LUMN magic, the chunk directory at the end of the file, the trailer,
    and the 32-bit CRC over the file's tail.
  • Every chunk type: HEAD, META, PROF, AUTH, LROV, PREV, LTBL, ZDIC,
    LAYR, LHAS, VOXL and EXTD, with the EXTD vendor-ID registry and its critical
    rule.
  • Layer encoding: binary, grayscale, split and attached run-end encoding, and the
    encoder's choice of tag, which §5.7 leaves to the writer.
  • Compression: zstd frame framing and the shared trained dictionary.
  • The sector model and per-layer settings - base values, the bottom and transition
    blend, and the LROV overrides a reader must apply.
  • Encryption: AEAD units bound to their chunk and directory index, Argon2id password
    sections, and X25519 machine binding.
  • Validation: the loose and strict checks of §11, each named as the corpus names it, in
    the specification's own order.

What ships beside the text

  • The byte-exact conformance corpus under
    test-vectors/:
    16 valid and 66 invalid vectors with manifest.json, generated by make_vectors and
    checked by verify_vectors, which share no code.
  • lumen-format 1.0.0, the reference encoder,
    decoder and validator, which names the revision it was written against.

The specification's working text stays on main; §10.2 and §10.3 say what a reader may do
with each later change.