Skip to content

zozo123/unity-loop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

unity-loop

How AI vibes Unity on islo.dev sandboxes — Claude-vision tournament over presentation variants.

Project page: https://zozo123.github.io/unity-loop-page/

Live champion: https://ssotep9384qyc19npfpqg8h7q.share.islo.dev (24h islo share — refresh from runs/champion.json)

Writeup: docs/POST.md

Built on: islo.dev — agent sandboxes with snapshots, shares, gateway egress.

Inspired by: pokeloop (GA over LLM policies), meta-harness-on-islo (proposer/eval loop).


What this is

A bandit-search loop where Claude vibes the presentation of a Unity WebGL scene. Each variant is a JSON spec of CSS + page chrome wrapped around a fixed Unity build. N islo sandboxes serve N variants in parallel. Claude (vision) judges screenshots against a target prompt. Winner is promoted to the gh-pages champion.

The Unity wasm is fixed — Lightning VFX by @MirzaBeig. Variation lives in the wrapper. That's the honest thing to do without a 10GB Unity Editor image; rebuilding .wasm inside the sandbox is a separate ticket (docs/POST.md#tier-3).

Quick start (offline, deterministic — ~5s)

bin/unity-loop demo            # 6-round canned trajectory, 1.2 → 4.8 score
bin/unity-loop viz             # serve the dashboard
# open http://localhost:8765

You should see scores climb 1.2 → 2.4 → 3.1 → 3.7 → 4.4 → 4.8 for task synthwave, with the converging variant rendered live.

Real run (Claude API + N islo sandboxes)

export ANTHROPIC_API_KEY=...
bin/unity-loop loop --task synthwave --k 4 --steps 6

Spawns K islo sandboxes (one per variant), each serving Unity + variant CSS via Caddy, calls Claude vision for the judge round, writes runs/<run-id>/, updates runs/champion.json. The page repo's CI re-deploys gh-pages on champion change.

Layout (mirrors meta-harness-on-islo)

islo.yaml             base sandbox config
tasks/<name>/         prompt.md (target aesthetic)
harness/v<N>/         system.md + proposer template
bin/unity-loop        orchestrator (eval | propose | loop | viz | demo)
bin/proposer.py       reads runs/, asks Claude for next variant
bin/judge.py          Claude-vision scoring of screenshots
bin/host.py           spawns islo sandbox, templates variant, shares port
bin/agent_sim.py      deterministic offline agent stand-in (for `demo`)
unity/template.html   Unity host with {{VARIANT_CSS}} + {{VARIANT_HTML}} slots
unity/Caddyfile       precompressed gzip + COOP/COEP + application/wasm
viz/index.html        single-file dashboard (timeline + variants + judge trace)
runs/                 populated by the loop; runs/champion.json drives the page

Credits

MIT.

About

How AI vibes Unity on islo.dev sandboxes — Claude-vision tournament over presentation variants

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors