mirror of
https://github.com/mineracks/seedhammer-v1-companion.git
synced 2026-06-26 22:01:05 +10:00
First batch of code lifts: hardware-agnostic curve math packages.
- bezier/: cubic + quadratic Bezier curve representation +
tessellation. Lifted verbatim from Gangleri42/seedhammer
@ 0a3c63ef path bezier/. Stdlib only.
- bspline/: B-spline curves + an LP-based optimiser that finds the
smallest engrave-stroke representation of a path. Lifted from
Gangleri42/seedhammer @ 0a3c63ef path bspline/. Depends on
bezier/ + gonum (BSD-3, brought in transitively).
Import paths rewritten from `seedhammer.com/X` to
`github.com/mineracks/seedhammer-v1-companion/X`. No other changes.
go build ./... and go test ./bezier/... ./bspline/... both clean.
Doc.go stubs updated to reflect LIFTED status with the source
commit pinned.
Deferred to next commit:
- backup/ (needs bc/fountain + bc/ur transitively for UR codes)
- font/{comfortaa,poppins,constant}/ (needs font/bitmap runtime)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
12 lines
543 B
Go
12 lines
543 B
Go
// Package bspline provides B-spline curve tessellation + optimisation for
|
|
// the engrave pipeline.
|
|
//
|
|
// Used by the OpenType font rasteriser for glyphs that use B-spline rather
|
|
// than Bezier segments, and by the optimiser that finds the smallest
|
|
// engrave-stroke representation of a given path.
|
|
//
|
|
// LIFTED from https://github.com/Gangleri42/seedhammer/tree/seedhammer-features/bspline
|
|
// at commit 0a3c63efb125d17d8ec86ce739ecd058c8747cfe. Hardware-agnostic.
|
|
// Depends on bezier/ + the gonum linear-programming library.
|
|
package bspline
|