SYQEL.dev

Review & budgets

We publish our review criteria in full, on purpose: if you can see the bar, you can clear it. Every submission — every version — passes the same gates, and the same checks run inside Studio while you author, so a rejection is never a surprise. Machines check safety and performance; a human decides what publishes.

The gates, in order

  1. Extract — archive sanity and size.
  2. Static analysis — imports may be the world SDK, three, and a fixed set of three/addons/* only. No eval, dynamic import(), network APIs, storage, timers, ambient globals, realm/prototype tricks, or absolute-URL literals; document only as createElement('canvas'). v1 worlds are fully procedural (no external assets). The full list is in agents.md.
  3. Typecheck — against the pinned world-SDK types.
  4. Rebuild — with SYQEL's pinned toolchain. The fleet only ever runs bytes SYQEL built.
  5. Behavioral — your world is built headless under instrumentation; any attempted network or global access fails the gate.
  6. Budgets — the table below.

Then human review, then publication into the signed channel. Apps verify the channel signature and each module's integrity hash before anything renders. A published world can be delisted by you, or revoked by SYQEL — revocation removes it fleet-wide.

Performance budgets

Calibrated on real TV hardware (Fire TV Stick 4K Max, Apple TV 4K).

BudgetLimitWhy
Source archive≤ 2 MBSubmissions are source, never bundles — SYQEL rebuilds them.
Built bundle≤ 256 KBWeight belongs in CDN assets, not code.
Staged build≥ 5 slices, no slice > 40% of a real buildTVs take frames between slices.
Draw calls (est.)≤ 300The difference between 57 fps and 25 fps on a TV.
Triangles≤ 600k
Textures≤ 2048×2048 each, ~64 MB totalProcedural — painted in a canvas.
Built bundle≤ 256 KBWorlds carry no external assets in v1.