Files
sumi/sketch.go
2025-12-15 22:29:06 -06:00

40 lines
557 B
Go

package main
import (
"github.com/gen2brain/raylib-go/raylib"
)
type Sketch interface {
Draw(ctx *RenderCtx)
}
/** Ports **/
type Ports map[string]Signal
func MakePorts() Ports {
return make(Ports)
}
/**
* materialize current value for all ports
**/
func (p Ports) Eval(t float64) map[string]float64 {
out := make(map[string]float64, len(p))
for name, sig := range(p) {
out[name] = sig.Eval(t)
}
return out
}
/** RenderCtx **/
type RenderCtx struct {
Width int32
Height int32
Time float64
Ports map[string]float64
Cam rl.Camera2D
}