The .drft container · const
ATTR_RELIEF
Added in 1.3, and it is the same story as grain one bit along.
Explained in The .drft container.
const ATTR_RELIEF: numberimport { ATTR_RELIEF } from '@driftengine/drft';In depth
MeshData.relief and MeshBuilder.setRelief shipped in engine 0.23.0 and the container was
never taught the bit, so a mesh carrying microscopic relief went through writeDrft and came
back without it. Everything else survived, which is what made it invisible: a round trip gave
the right shape with its surface texture gone, and that reads as a lighting problem rather
than as a format dropping an array. Found from outside by a test that writes every optional
attribute and reports all the losses rather than the first.
Next free bit and appended last, for the reason spelled out above: a 1.2 reader meets the arrays it knows where it expects them, stops before this one, and draws the asset smooth, which is what a reader that has never heard of relief should produce.