@@ -134,3 +134,44 @@ cannot silently disagree (MFIC: external oracle).
134134core CRC-32 (+FFI) → container codec + round-trip oracle → CLI verb → cross-impl
135135differential → web UI (after Peter picks the mockup). Ping Einstein at the core
136136and CLI milestones.
137+
138+ ## Web-UI mockups (for Peter's pick — the one hard gate)
139+ The issue's core complaint is "no CLEAR way to decode." Both options add a paste
140+ box + a metadata panel; they differ in how the decode path is surfaced. (Text
141+ mockups — I can't see rendered output; Peter picks, then I build.)
142+
143+ ### Option A — Explicit Encode / Decode tabs (Einstein's lean: most discoverable)
144+ ```
145+ ┌ ▶ ENCODE ┐ ┌ DECODE ┐ <- mode tabs (decode is now obvious)
146+ ENCODE: [ drop a file / click to choose ]
147+ output: ( ) plain text (*) .pbf.json container
148+ (keeps filename, dates, perms + self-check crc32)
149+ [ Copy ] [ Download photo.png.pbf.json ] [ Clear ]
150+
151+ DECODE: paste encoded text OR a .pbf.json container:
152+ [ ............................................ ]
153+ ...or drop a .pbt / .pbf.json file
154+ ┌ Detected: printable-binary-file container ─────┐
155+ │ name: photo.png 12.3 KB modified 2026-06-20 │
156+ │ mode 0644 integrity: ✓ crc32 verified │
157+ └─────────────────────────────────────────────────┘
158+ [ Download photo.png ] [ Clear ]
159+ ```
160+
161+ ### Option B — Auto-detect, single unified surface (fewer clicks; decode implicit)
162+ ```
163+ Drop a file or paste below — auto-detects ENCODE vs DECODE.
164+ [ drop a file / click to choose ]
165+ ──────────────── or paste ────────────────
166+ [ raw text, printable-binary, or a .pbf.json container ............ ]
167+ ┌ Auto-detected: .pbf.json container -> DECODE ────────┐
168+ │ -> photo.png · 12.3 KB · modified 2026-06-20 │
169+ │ integrity ✓ crc32 verified │
170+ └───────────────────────────────────────────────────────┘
171+ (other states: "plain bytes -> ENCODE", "printable-binary -> DECODE")
172+ [ Copy ] [ Download ] [ Clear ]
173+ ```
174+
175+ ** Recommendation:** A — it makes decode unmistakable (directly answers the
176+ issue), and the metadata panel + container option are equally expressible in B.
177+ Awaiting Peter's pick before building index.html.
0 commit comments