Log inGet started
World

Builtin Library

Branchmain
Branchesmainpublish
Commitdd348ac6c3

README.md

procgen.cooks

The scene-wide cook monitor: what the generators are cooking now, what they cooked recently, and the frames they presented most recently. It takes no arguments. Reach for it to see whether a change is still cooking, how long a cook took, or which node a failed cook broke at.

  • active: the cooks in flight.
  • recent: the last 32 cooks that finished, newest first.

Each cook is { id, owner, graph, target, status, nodesCooked, nodesTotal, currentNode, durationMs, error, failedNode }: the entity whose Generator cooks it, the graph, what was cooked, status ("cooking", "done", "failed" or "cancelled"), the nodes cooked so far and the node running now, and, for a failure, the error and the node that broke. A finished cook's durationMs spans the whole regen: evaluation, realizing the output and refreshing the bake snapshot.

  • presents: the last 64 frames generators presented, newest first, each { owner, graph, frame, time, ms, how, outputs }: the frame and its graph time, the script milliseconds the present took, how it was made ("cook" when the graph was evaluated for the frame, "memo" when an earlier cook kept it, "device" when a new time was written into the runs already standing, "held" when it came from the frames held for a timeline cooked through), and each output's element count by output name ({ elements, moved }). Every present is reported through proc.cooks.presented as it lands, which is what procgen.onPresent arms a probe on.
local c = tools.use("procgen", "cooks")

Part of procgen.toolbox, called as tools.use("procgen", "cooks", ...) (zero procgen cooks in the engine shell). Returns { active, recent, presents }.