automated snapshot

This commit is contained in:
sumi
2025-12-15 22:29:06 -06:00
parent 80b59f4e82
commit 73c0471d54
3 changed files with 195 additions and 110 deletions

39
sketch.go Normal file
View File

@@ -0,0 +1,39 @@
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
}