seedhammer-v1-companion/font/doc.go
mineracks 3696dd6b34 Initial skeleton — Phase 1 scaffolding
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>
2026-05-28 18:25:03 +10:00

22 lines
989 B
Go

// Package font provides the v1 controller's pre-rasterised engraver fonts.
//
// The engraver itself knows nothing about glyphs — the Pi controller
// rasterises every character to MoveTo/LineTo segments before sending bytes
// down the USB-serial pipe. These fonts (Comfortaa, Poppins, and a
// constant-width fallback) are pre-baked OpenType segments compiled into
// the Go binary.
//
// Subdirectories carry the actual glyph data:
//
// - font/comfortaa/ — Comfortaa font, pre-rasterised
// - font/poppins/ — Poppins font, pre-rasterised
// - font/constant/ — constant-width fallback font
//
// Character set is ASCII-only. Lifting non-ASCII glyphs requires either
// new fonts upstream or a deliberate decision to add Unicode support to
// the v1 engrave pipeline (out of scope for this companion port).
//
// Status: STUB — directory tree mirrors upstream layout; glyph data to be
// lifted verbatim from upstream seedhammer/seedhammer at v1.3.0.
package font