A boolean array's destination: one byte per element, 0 or 1.
It carries no bound, and that is the whole reason it is a shape of its own
rather than a IntegerArrayTarget.typedUint8Array. §4.4 gives a boolean
no width bound — every non-zero wire value is true — so there is no interval to
state and nothing for the width check to compare. A raw store would be wrong
twice over: 256 would mask to 0 and turn true into false. The decoder
NORMALIZES instead, writing 1 for any non-zero, which is also the only value
§4.4 lets an encoder emit back — so a filled destination re-encodes canonically
with no conversion step in between.
A
booleanarray's destination: one byte per element,0or1.It carries no bound, and that is the whole reason it is a shape of its own rather than a IntegerArrayTarget.typed
Uint8Array. §4.4 gives a boolean no width bound — every non-zero wire value istrue— so there is no interval to state and nothing for the width check to compare. A raw store would be wrong twice over: 256 would mask to0and turntrueintofalse. The decoder NORMALIZES instead, writing1for any non-zero, which is also the only value §4.4 lets an encoder emit back — so a filled destination re-encodes canonically with no conversion step in between.