wirelab QuiltWire v0 playground · the 16-byte wire, felt first-person
frame 16 B · magic 0x51 · ver 01 · kinds TICK/DELTA/ALARM/LINKMETA/ACK · CRC16-CCITT-FALSE (poly 0x1021 · init 0xFFFF · LE)

frame builder§4.2

Pack a QuiltWire v0 frame byte by byte. The CRC is computed live over bytes 0–13 and appended little-endian — the same CCITT-FALSE core the ESP32 firmware and link-core/src/wire.rs share, kept honest by the golden vector.

GOLDEN PASS
crc16(bytes 0..13) =
decoder idle — this is test_frame_roundtrip, in page form.

noise gamethe wire is a claim

Push frames down a noisy line. Damage (bit flips, dropped bytes) is visible — the CRC catches it. Loss (buffer overrun) is invisible — the decoder only ever sees it as a gap in seq. The line drains at a fixed 12 frames/s no matter how loud TX shouts. That is the pacing lesson.

goal: 50 accepted frames, ≥ 90% of offered LINE · drains 12 f/s fixed
0
OFFERED (TX)
0
ACCEPTED (DECODER)
0
CRC FAIL (ARRIVED DAMAGED)
0
SEQ GAP (NEVER ARRIVED)
0
OVERRUN LOST (SENDER-SIDE)
PACING LESSONpress run — then push TX past 12 f/s and watch where the frames go.

chain explorertape + receipts

Twenty walks, two steps each, generated in your browser. Every walk is sealed with a digest over its bytes and the previous digest — the round-1 sha-receipt shape. Road stamps record which link carried it and why it was chosen. Tamper with one walk and every descendant seal breaks.

⚠ honest label: digests here are a 64-bit rolling FNV-1a — a stand-in for sha256, chosen so this page stays dependency-free. It commits to bytes like sha256 does, but it is not cryptographic. The real ledger uses sha256 receipts.
hashed bytes per walk: kind=DELTA · cell 7 · seq u16le · tick u32le · step₁ f32le · step₂ f32le · road · reason · prev_digest