Files
sumi/sketch.go
2025-12-16 17:45:21 -06:00

39 lines
562 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
}