- Create codegen/index.js with pure branchDescendants, emitBranch,
generateCallWithError, and generateCFile — zero DOM dependencies
- blocks-proc.js adapters delegate to CodeGen with browser instanceof check
- run.js uses the same CodeGen module instead of duplicating block classes
with their own branchDescendants/emitBranch logic
- Load codegen/index.js in browser before blocks-proc.js