seedhammer-v1-companion/bspline/doc.go
mineracks d62384658d Lift bezier/ + bspline/ from Gangleri42 fork
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>
2026-05-28 18:29:29 +10:00

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