SmallsomeFormats · Language · ArchitectureJörg Burbach

FormA Geometry & scenes

FormA stores compact geometry and complete scene resources. Geometry is kept separate from scene attributes, so vertices and triangle indices are not duplicated.

A little technical detail

Coordinates are signed Int32 values in millimetres. Vertex and index streams choose the smallest delta-varint or delta-byteplane representation, optionally using PackBits. Scenes can carry cameras, materials, lights, normals, UVs and spatial regions; textures reuse RFXL. Encoding is lossless relative to the supplied integer geometry.

Comparison & examples

A synthetic mesh with 257 vertices and 255 triangles. The source coordinate and index buffers total 6,144 bytes. The FormA download contains the corresponding geometry. Size savings refer to these integer buffers, not to an OBJ or rendered image.

RepresentationDownload / sizeDecoded preview
Encoded geometry1,947 bytes
Original Int32 XYZ3,084 bytes
Original U32 triangles3,060 bytes

Encode & decode

Operation

OBJ positions use metres and are rounded to signed Int32 millimetres. OBJ exports preserve geometry, normals and UVs, but not the complete scene contract. Scene JSON retains the FormA attributes and embedded texture pixels; external OBJ material files are not loaded. Processing stays in your browser. Input limit: 64 MiB.

No file loaded.