seedhammer-v1-companion/gui/assets
mineracks 9675c05ff1 emulator: real gui — lift upstream v1.3.0 gui/ + wire Platform
The Phase 2 scaffolding boot screen is replaced with the actual
upstream v1.3.0 gui package running in browser. cmd/emulator now
calls gui.NewApp(plat, version) + drives a.Frame() in a goroutine.

Lifts:
  gui/                         (top-level UI + state machine)
  gui/assets                   (icons, fonts, 9-patch images)
  gui/layout                   (constraint-based UI layout)
  gui/op                       (drawing op primitives)
  gui/saver                    (screensaver + idle timeout)
  gui/text                     (text shaping)
  gui/widget                   (button/menu/keyboard widgets)
All 11 .go files lifted verbatim from seedhammer/seedhammer @ v1.3.0
(commit 2f071c1d...), import paths rewritten seedhammer.com → mineracks.

browserPlatform now implements gui.Platform (12 methods):
  Events(deadline)   — drains v1.Event chan, maps to gui.ButtonEvent
                       (gui.Button enum order matches platform/v1.Button,
                        so the conversion is a direct uint cast)
  Wakeup()           — no-op (no sleep state in browser)
  PlateSizes()       — backup.SquarePlate, backup.LargePlate
  Engraver()         — nullEngraver stub (browser can't punch metal)
  EngraverParams()   — copy of mjolnir.Params {StrokeWidth: 38,
                       Millimeter: 126}. Inlined because tarm/serial
                       (mjolnir's USB dep) doesn't compile to js/wasm.
  CameraFrame(size)  — emits FrameEvent{Error: stubbed} so QR-scan
                       screens fall through cleanly; real handoff
                       lands when SeedSigner sim wires up (Phase 2.5)
  Now()              — time.Now()
  DisplaySize()      — 240×240
  Dirty(r)           — records rect, resets chunk cursor
  NextChunk()        — one-shot: returns full sub-image once per
                       Dirty cycle, then flushes the whole frame
                       buffer to JS via emulatorPaint()
  ScanQR()           — returns nil decodes (stub)
  Debug()            — false

The Engraver interface is satisfied by nullEngraver — Engrave() returns
"engraver not connected" so the GUI's engrave flow fails cleanly
instead of looking like it's working.

WASM grows 2.7MB → 8.0MB (gui package + btcd + crypto deps + fonts
all linked in). Acceptable for the v1 emulator one-time cache.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-28 20:53:06 +10:00
..
arrow-down.bin emulator: real gui — lift upstream v1.3.0 gui/ + wire Platform 2026-05-28 20:53:06 +10:00
arrow-down.png emulator: real gui — lift upstream v1.3.0 gui/ + wire Platform 2026-05-28 20:53:06 +10:00
arrow-left.bin emulator: real gui — lift upstream v1.3.0 gui/ + wire Platform 2026-05-28 20:53:06 +10:00
arrow-left.png emulator: real gui — lift upstream v1.3.0 gui/ + wire Platform 2026-05-28 20:53:06 +10:00
arrow-right.bin emulator: real gui — lift upstream v1.3.0 gui/ + wire Platform 2026-05-28 20:53:06 +10:00
arrow-right.png emulator: real gui — lift upstream v1.3.0 gui/ + wire Platform 2026-05-28 20:53:06 +10:00
arrow-up.bin emulator: real gui — lift upstream v1.3.0 gui/ + wire Platform 2026-05-28 20:53:06 +10:00
arrow-up.png emulator: real gui — lift upstream v1.3.0 gui/ + wire Platform 2026-05-28 20:53:06 +10:00
button-focused.9.png emulator: real gui — lift upstream v1.3.0 gui/ + wire Platform 2026-05-28 20:53:06 +10:00
button-focused.bin emulator: real gui — lift upstream v1.3.0 gui/ + wire Platform 2026-05-28 20:53:06 +10:00
camera-corners.9.png emulator: real gui — lift upstream v1.3.0 gui/ + wire Platform 2026-05-28 20:53:06 +10:00
camera-corners.bin emulator: real gui — lift upstream v1.3.0 gui/ + wire Platform 2026-05-28 20:53:06 +10:00
circle-filled.bin emulator: real gui — lift upstream v1.3.0 gui/ + wire Platform 2026-05-28 20:53:06 +10:00
circle-filled.png emulator: real gui — lift upstream v1.3.0 gui/ + wire Platform 2026-05-28 20:53:06 +10:00
circle.bin emulator: real gui — lift upstream v1.3.0 gui/ + wire Platform 2026-05-28 20:53:06 +10:00
circle.png emulator: real gui — lift upstream v1.3.0 gui/ + wire Platform 2026-05-28 20:53:06 +10:00
embed.go emulator: real gui — lift upstream v1.3.0 gui/ + wire Platform 2026-05-28 20:53:06 +10:00
gen.go emulator: real gui — lift upstream v1.3.0 gui/ + wire Platform 2026-05-28 20:53:06 +10:00
generator.go emulator: real gui — lift upstream v1.3.0 gui/ + wire Platform 2026-05-28 20:53:06 +10:00
hammer.bin emulator: real gui — lift upstream v1.3.0 gui/ + wire Platform 2026-05-28 20:53:06 +10:00
hammer.png emulator: real gui — lift upstream v1.3.0 gui/ + wire Platform 2026-05-28 20:53:06 +10:00
icon-back.bin emulator: real gui — lift upstream v1.3.0 gui/ + wire Platform 2026-05-28 20:53:06 +10:00
icon-back.png emulator: real gui — lift upstream v1.3.0 gui/ + wire Platform 2026-05-28 20:53:06 +10:00
icon-backspace.bin emulator: real gui — lift upstream v1.3.0 gui/ + wire Platform 2026-05-28 20:53:06 +10:00
icon-backspace.png emulator: real gui — lift upstream v1.3.0 gui/ + wire Platform 2026-05-28 20:53:06 +10:00
icon-checkmark.bin emulator: real gui — lift upstream v1.3.0 gui/ + wire Platform 2026-05-28 20:53:06 +10:00
icon-checkmark.png emulator: real gui — lift upstream v1.3.0 gui/ + wire Platform 2026-05-28 20:53:06 +10:00
icon-discard.bin emulator: real gui — lift upstream v1.3.0 gui/ + wire Platform 2026-05-28 20:53:06 +10:00
icon-discard.png emulator: real gui — lift upstream v1.3.0 gui/ + wire Platform 2026-05-28 20:53:06 +10:00
icon-dot.bin emulator: real gui — lift upstream v1.3.0 gui/ + wire Platform 2026-05-28 20:53:06 +10:00
icon-dot.png emulator: real gui — lift upstream v1.3.0 gui/ + wire Platform 2026-05-28 20:53:06 +10:00
icon-edit.bin emulator: real gui — lift upstream v1.3.0 gui/ + wire Platform 2026-05-28 20:53:06 +10:00
icon-edit.png emulator: real gui — lift upstream v1.3.0 gui/ + wire Platform 2026-05-28 20:53:06 +10:00
icon-flip.bin emulator: real gui — lift upstream v1.3.0 gui/ + wire Platform 2026-05-28 20:53:06 +10:00
icon-flip.png emulator: real gui — lift upstream v1.3.0 gui/ + wire Platform 2026-05-28 20:53:06 +10:00
icon-hammer.bin emulator: real gui — lift upstream v1.3.0 gui/ + wire Platform 2026-05-28 20:53:06 +10:00
icon-hammer.png emulator: real gui — lift upstream v1.3.0 gui/ + wire Platform 2026-05-28 20:53:06 +10:00
icon-info.bin emulator: real gui — lift upstream v1.3.0 gui/ + wire Platform 2026-05-28 20:53:06 +10:00
icon-info.png emulator: real gui — lift upstream v1.3.0 gui/ + wire Platform 2026-05-28 20:53:06 +10:00
icon-left.bin emulator: real gui — lift upstream v1.3.0 gui/ + wire Platform 2026-05-28 20:53:06 +10:00
icon-left.png emulator: real gui — lift upstream v1.3.0 gui/ + wire Platform 2026-05-28 20:53:06 +10:00
icon-progress.bin emulator: real gui — lift upstream v1.3.0 gui/ + wire Platform 2026-05-28 20:53:06 +10:00
icon-progress.png emulator: real gui — lift upstream v1.3.0 gui/ + wire Platform 2026-05-28 20:53:06 +10:00
icon-right.bin emulator: real gui — lift upstream v1.3.0 gui/ + wire Platform 2026-05-28 20:53:06 +10:00
icon-right.png emulator: real gui — lift upstream v1.3.0 gui/ + wire Platform 2026-05-28 20:53:06 +10:00
icon-skip.bin emulator: real gui — lift upstream v1.3.0 gui/ + wire Platform 2026-05-28 20:53:06 +10:00
icon-skip.png emulator: real gui — lift upstream v1.3.0 gui/ + wire Platform 2026-05-28 20:53:06 +10:00
key-active.9.png emulator: real gui — lift upstream v1.3.0 gui/ + wire Platform 2026-05-28 20:53:06 +10:00
key-active.bin emulator: real gui — lift upstream v1.3.0 gui/ + wire Platform 2026-05-28 20:53:06 +10:00
key-backspace.bin emulator: real gui — lift upstream v1.3.0 gui/ + wire Platform 2026-05-28 20:53:06 +10:00
key-backspace.png emulator: real gui — lift upstream v1.3.0 gui/ + wire Platform 2026-05-28 20:53:06 +10:00
key.9.png emulator: real gui — lift upstream v1.3.0 gui/ + wire Platform 2026-05-28 20:53:06 +10:00
key.bin emulator: real gui — lift upstream v1.3.0 gui/ + wire Platform 2026-05-28 20:53:06 +10:00
logo-small.bin emulator: real gui — lift upstream v1.3.0 gui/ + wire Platform 2026-05-28 20:53:06 +10:00
logo-small.png emulator: real gui — lift upstream v1.3.0 gui/ + wire Platform 2026-05-28 20:53:06 +10:00
nav-btn-primary.bin emulator: real gui — lift upstream v1.3.0 gui/ + wire Platform 2026-05-28 20:53:06 +10:00
nav-btn-primary.png emulator: real gui — lift upstream v1.3.0 gui/ + wire Platform 2026-05-28 20:53:06 +10:00
nav-btn-secondary.bin emulator: real gui — lift upstream v1.3.0 gui/ + wire Platform 2026-05-28 20:53:06 +10:00
nav-btn-secondary.png emulator: real gui — lift upstream v1.3.0 gui/ + wire Platform 2026-05-28 20:53:06 +10:00
progress-circle.bin emulator: real gui — lift upstream v1.3.0 gui/ + wire Platform 2026-05-28 20:53:06 +10:00
progress-circle.png emulator: real gui — lift upstream v1.3.0 gui/ + wire Platform 2026-05-28 20:53:06 +10:00
sh02.bin emulator: real gui — lift upstream v1.3.0 gui/ + wire Platform 2026-05-28 20:53:06 +10:00
sh02.png emulator: real gui — lift upstream v1.3.0 gui/ + wire Platform 2026-05-28 20:53:06 +10:00
sh03.bin emulator: real gui — lift upstream v1.3.0 gui/ + wire Platform 2026-05-28 20:53:06 +10:00
sh03.png emulator: real gui — lift upstream v1.3.0 gui/ + wire Platform 2026-05-28 20:53:06 +10:00
warning-box-bg.9.png emulator: real gui — lift upstream v1.3.0 gui/ + wire Platform 2026-05-28 20:53:06 +10:00
warning-box-bg.bin emulator: real gui — lift upstream v1.3.0 gui/ + wire Platform 2026-05-28 20:53:06 +10:00
warning-box-border.9.png emulator: real gui — lift upstream v1.3.0 gui/ + wire Platform 2026-05-28 20:53:06 +10:00
warning-box-border.bin emulator: real gui — lift upstream v1.3.0 gui/ + wire Platform 2026-05-28 20:53:06 +10:00