encodeFixed32Field function
Encodes a fixed32 field (wire type 5) into buffer.
Proto3 rule: if value is 0, nothing is written (default value is omitted).
The unsigned 32-bit value is serialized as a field tag followed by 4
little-endian bytes.
Returns the same buffer list, possibly with bytes appended.
Implementation
List<int> encodeFixed32Field(List<int> buffer, int fieldNumber, int value) {
if (value == 0) return buffer;
encodeTag(buffer, fieldNumber, 5);
encodeFixed32(buffer, value);
return buffer;
}