Playground/Arcade/Breakout
API ACTIVITY

Usage & budget

PLAYGROUND SAFETY LIMITS

Steady requests. Visible limits.

0 active · 0/20 queued

Browser: one start every 1.2 seconds (at most 50/minute), up to 2 active calls and 20 waiting. Shared by examples in this tab. Waiting requests cancel when their run is stopped; a full queue rejects new work without an API call.

Server: 60 requests per rolling 60 seconds and 2 concurrent calls per key, per server instance. Other tabs using the same key share that instance’s allowance. This in-memory safeguard resets on restart and is not a distributed or account-wide quota.

Source: playground policy in lib/requestRateLimit.ts. TypeSafe may impose separate limits. Provider HTTP 429 pauses calls until its reported reset; without a reset time, retry requires your action. HTTP 402 is a budget/billing failure, not a pacing limit. No automatic retries or background replay.

Your TypeSafe API key

Import your key to override the shared server default.

Saved on this browser until removed or site data is cleared. Masked on screen; sent only with Jev requests through this app. The saved value is never displayed.

Connecting
Arcade

Jev plays Breakout

Three paddle moves per frame. The game predicts where the ball will land; Jev keeps the paddle under it.

WORKSPACE GUIDE

Breakout

Keep the ball in play and clear bricks by moving the paddle left, right or holding still.

Ball and paddleJev choicePaddle move

What you provide

A seed and a player: Live Jev, the scripted rule, the random baseline, or you on the keyboard.

What happens

Each frame the game predicts where a falling ball will land and computes, for each paddle move, whether the paddle would cover it. Live Jev answers one choice question over the legal paddle moves.

What you get

Bricks cleared, lives left, and each frame's choice with its probabilities, compared with the random baseline on the same seed. Runs stop at 240 frames or when the lives run out.

Walk through a run

  1. 01

    Pick a player

    Scripted demo and Random baseline run locally. Live Jev uses the configured key, one request per frame.

  2. 02

    Play a seed

    The seed fixes each serve, so every player faces the same game. The dashed cell marks the predicted landing.

  3. 03

    Compare the score

    Bricks cleared and lives kept sit beside the random baseline on the same seed.

Try this

Watch the random baseline lose its lives, then run Live Jev on the same seed and count the lives it keeps.

Execution limits

The game predicts where a falling ball lands. Jev chooses left, stay or right each frame. It is reactive control, not planning, and malformed answers hold the paddle still.

Explore the example. Check the evidence.
Code computes the consequences. Jev picks the move.

Before every move, the game works out what each legal action would do: crash or not, distance to the goal, and a short look-ahead where noted. Jev reads those facts and chooses one action from the offered set. It is a reactive choice, not a planner, and a malformed answer plays a safe fallback that is counted separately. Scores are compared with a random baseline on the same seed, which sees the identical world.

Scripted demo

Ready · move 0 of 240

Scoreboard

seed 1
Bricks0
Random baseline, this seed
3
Random baseline, mean of 20 seeds
4.5
Scripted rule, this seed
15

Setup

A short hand-written rule plays locally. Not Jev, and no model call.

The seed fixes the whole world, so every player faces the same game. Live runs are capped at 240 moves and send at most one request a second.

The decision

Ball and paddleJev choicePaddle move

No moves yet

Press Play or One move. Each move shows the facts the game computed for every legal action and the choice that was made.

Move log

0 moves
Ball and paddleJev choicePaddle move

No moves yet

Every move lands here with who chose it: Jev, a forced move, a fallback, the scripted rule, random, or you.