home/ atoms/ sc-jitlib-ndef-proxyspace

SuperCollider JITLib's Ndef replaces a running graph on re-eval while ProxySpace requires push before tilde-name access

JITLib provides two livecoding surfaces. Ndef(\name, {…}) creates a named proxy that replaces its running node whenever the block is re-evaluated — the ergonomic default. ProxySpace allows the short-hand ~name = {…} but requires p = ProxySpace.push(s.boot) first; using ~name before push treats it as a plain Function and .play errors. When a re-eval fails, the old graph keeps playing; fix the error and re-evaluate, watching the post window.

Examples

Ndef(\a, { SinOsc.ar(440) * 0.1 }).play — re-eval with new freq replaces live. ~a = { SinOsc.ar(220) * 0.1 } without ProxySpace.push → plain function, .play call fails.

Assessment

Contrast Ndef and ProxySpace usage: which works out-of-the-box, what setup does ProxySpace require, and what happens when either form receives a re-eval with a syntax error?

“For ProxySpace: `p = ProxySpace.push(s.boot)` first; `p.pop` to leave.”
context/ · L5-debug/supercollider.md · chunk 1