home/ atoms/ eval-frozen-reactive-term-proxy

A Hydra sketch with no time or reactive term is static by construction, the [NOW] proxy for a frozen-frame check

The true frozen-frame check — measuring inter-frame difference over time while motion was intended — is [L3]-blocked. Its static [NOW] proxy is whether the sketch contains any time or reactive term at all: a time thunk (() => …), the time variable, or an a.fft[i] read. If none is present, the sketch is static by construction and cannot animate, which is detectable today by reading the code. A constant parameter therefore signals a frozen frame whenever motion was intended, without needing a screenshot.

Examples

.rotate(0.1) is a constant — static by construction, no motion. .rotate(() => 0.1 + a.fft[0]*0.3) contains a reactive thunk, so motion is at least possible.

Assessment

Describe the [NOW] proxy for a frozen-frame check. Given .scale(1.2) versus .scale(() => 1 + a.fft[0]*0.3), which is static by construction and why?

“*[NOW] proxy:* does the sketch contain any time/reactive term (`() => …`, `time`, `a.fft[i]`)? None ⇒ static by construction.”
context/ · evaluation/heuristics.md · chunk 2