home/ atoms/ eval-out-presence-black-frame-proxy

A Hydra sketch with no .out() is guaranteed blank, so .out() presence is the [NOW] proxy for a black-frame check

The true black-frame check — measuring mean canvas luminance — is [L3]-blocked because it needs a screenshot. Its static [NOW] proxy is whether the sketch contains an .out() call at all: a Hydra chain with no .out() renders nothing, so its absence guarantees a blank canvas and is checkable today by reading the code. A present .out() does not guarantee a non-black frame (the content could still be dark), so the proxy is a necessary-not-sufficient screen: it catches the guaranteed-blank case without perception.

Examples

osc(30).kaleid(4) with no trailing .out() is guaranteed blank — flag it now. osc(30).kaleid(4).out() passes the proxy, though it could still render dark for other reasons a screenshot would catch.

Assessment

Explain why the presence of .out() is a necessary-but-not-sufficient [NOW] proxy for a black-frame check. What does its absence guarantee?

“*[NOW] proxy:* is there an `.out()` in the sketch at all? (no `.out()` ⇒ guaranteed blank — checkable now).”
context/ · evaluation/heuristics.md · chunk 2