FWC-1§2Normative
Terminology
Precise vocabulary. Later sections use these words with exactly these meanings.
| Term | Definition |
|---|---|
| payload | The original bytes the author wants delivered — for FWC-1 always UTF-8 text, in practice an HTML document. |
| body | The payload after optional compression and optional encryption. This is what the CRC covers and what the length field counts. |
| header | The fixed 12-byte prefix described in §3. |
| container | header ‖ body — the complete byte stream written into the carrier. |
| carrier | The RGBA pixel buffer of a square PNG image, together with a mapping rule (§4) that says which bits of which channels hold container bytes. |
| mode | The carrier mapping in use: noise or lsb. |
| capacity | The maximum body length a given image size and mode can hold, i.e. total carrier bytes minus 12. |
| cover | In lsb mode, the visible image whose two least-significant bits per channel are overwritten. |
| host page | The tiny HTML document that references the favicon and embeds the loader (§8). |
| loader | The dependency-free script in the host page that decodes the container and replaces the document. |
| encoder / decoder | Any software that produces, respectively consumes, an FWC-1 PNG. The Studio and the loader are one encoder and one decoder among many possible. |
Notation
a ‖ bdenotes byte concatenation.- Multi-byte integers are big-endian (network byte order) unless stated otherwise.
- Bit 0 is the least-significant bit.
flags & 0b01therefore tests bit 0. - Pixel data is addressed as the flat
Uint8ClampedArrayreturned bygetImageData: indexiis channeli % 4(0 = R, 1 = G, 2 = B, 3 = A) of pixel⌊i / 4⌋, pixels in row-major order from the top-left.