mirror of
https://github.com/mineracks/seedhammer-v1-companion.git
synced 2026-06-26 22:01:05 +10:00
A browser-based companion for SeedHammer v1 hardware. Three coordinated PWAs (composer, emulator, combined-sim) plus an optional Android wrapper, inspired by Gangleri42's SeedHammer II fork but retargeted to v1's Pi-Zero / WaveShare / MarkingWay hardware. What's in this commit: - LICENSE: Unlicense (matching upstream) - README.md: project overview + status + roadmap - CREDITS.md: upstream provenance + pinned baseline SHAs - docs/architecture/: five authoritative design docs (lifted from the prep work in mineracks-infrastructure): * BASELINES.md — pinned SHAs, license audit, path-mapping table * v1-engrave-spec.md — MarkingWay USB-serial wire protocol audit * v1-buttons-and-ui.md — GPIO map, UI screen flow, keyboard map * sh1e-spec.md — composer-to-Pi envelope format spec * seedsigner-reuse.md — Pyodide strategy + jumbo (SeedSigner+) support - Go package skeleton with doc.go contracts: backup, bezier, bspline, engrave, engrave/wire, engrave/wire/sh1e, font (+ comfortaa, poppins, constant), gui, input, internal/golden, platform/v1 - cmd/ entrypoints with stub main(): composer, emulator, combined-sim, seedsigner-sim - web/ static-shell skeleton - go.mod (module github.com/mineracks/seedhammer-v1-companion, Go 1.22) - go build ./... + go vet ./... both clean Next: lift universal packages (backup, font, bezier, bspline) from upstream seedhammer/seedhammer at v1.3.0 verbatim. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
25 lines
1.2 KiB
Go
25 lines
1.2 KiB
Go
// Command emulator runs the SeedHammer v1 controller firmware in a browser.
|
|
//
|
|
// Compiles to WebAssembly via GOOS=js GOARCH=wasm. The HTML/CSS shell that
|
|
// hosts this WASM lives under web/emulator/.
|
|
//
|
|
// The WASM hosts the real v1 gui/, input/, and engrave/ packages, with
|
|
// hardware-side drivers (driver/wshat for buttons, driver/drm for the LCD,
|
|
// driver/libcamera for the camera, driver/mjolnir for the engraver)
|
|
// replaced by browser-side mocks:
|
|
//
|
|
// - Buttons → keyboard events (arrows / Enter / 1, 2, 3)
|
|
// - LCD → HTML5 canvas
|
|
// - Camera → mock that reads QRs from sibling panes on the same page
|
|
// - Engraver → null sink (preview mode) or visual playback animation
|
|
//
|
|
// Status: STUB — implementation will lift upstream v1.3.0 gui/ and input/
|
|
// packages, with browser-side platform adapters in platform/v1/.
|
|
//
|
|
// Modelled architecturally on Gangleri42's cmd/wasmemu at:
|
|
// https://github.com/Gangleri42/seedhammer/tree/seedhammer-features/cmd/wasmemu
|
|
// (pinned at 0a3c63efb125d17d8ec86ce739ecd058c8747cfe), but his wasmemu
|
|
// emulates SH-II's touch UI — v1 is button-driven, so we rebuild from scratch
|
|
// while keeping his PWA shell pattern.
|
|
package main
|