The idea. Build a level, then play it in one of three modes. In
slingshot (the default) you fling your hero emoji at the villains — emoji stamped
in target material — and break them all to clear the level.
Placing. Arm a shape in the tray, tap the board to stamp it in the current
material. 🖌 paint is different: drag to color in a freeform blob — it becomes one solid
piece. Double-tap 🖌 to switch tools: the paint brush, a ✏️ pencil for fine lines, a
text cursor that places typed words as real physics pieces, or a 🧽 eraser that scrubs
paint and text away (other pieces are safe). While painting, the paint row beside the
materials holds the tool, a color swatch (tap for the 🎨 color wheel — opacity slider, 💧
eyedropper, and your last 5 colors quick-saved), a three-size selector, and three stroke
toggles: 📏 ruler makes strokes perfectly straight, 🪣 fill closes the
stroke and floods its interior, and 🪞 mirror paints both sides of the board's
centerline at once. Freehand strokes get a light smoothing pass so jitter disappears.
Adjusting (✋). Tap a piece to select. Drag to move — it lifts above your finger
and edges magnet-snap flush (blobs skip the magnet). Pinch resizes. Drag a
corner grab of the dashed guide box to free-rotate — it soft-snaps to 15° so
decline ramps are easy to dial in. Twist or ⟳ rotates too. The arrow pad nudges one grid
square per tap.
Looking (🔍). Toggle 🔍, then pinch to zoom up to 4×, drag to pan, double-tap to
reset.
MATERIALS — the swatch row picks the material a new piece is stamped in (and
re-materials the selected piece). Material carries all the physics; shape is separate.
- wood — light; breaks under a firm hit.
- stone — heavy; barely breaks (needs a hard hit).
- metal — heaviest; never breaks.
- ice — slippery, and melts away during Test.
- rubber — bouncy; never breaks.
-
target — fragile green; this is the villain material — the thing to destroy.
Emoji stamped in target are your villains.
THE SELECTED PIECE — tap a piece to select it; its controls appear in the
inspector.
-
⧉ copy — duplicates the piece right next to itself, carrying
every attribute with it (material, angle, size, ⚓ anchor, ↔ path, ✎ note, 🔗
weld, 🖼️ sprite, 🛡️ role, and its ✨ hit effect). The copy is selected and spawns as a
👻 passthrough ghost so it can be dragged out of the overlap instead of being trapped
in it.
- ✕ remove — deletes the piece (undo brings it back).
- ⟳ rotate — turns the piece 90° clockwise.
-
⚓ anchor — pins the piece in place; it becomes immovable static geometry in
Test (walls, ramps, ledges).
-
🎨 recolor — opens the color wheel to repaint the selected piece in any color;
“material color” goes back to the material's own paint. Physics is untouched — only
the look changes.
-
🅰 edit text (text pieces) — rewords text placed with the text cursor;
the piece resizes to hug the new glyphs.
-
⤒ / ⤓ front & back — moves the piece over or under whatever it overlaps
(draw order); physics is unaffected.
-
👻 passthrough — (shown when Solid pieces is on) lets the selected piece
overlap its neighbours while you position it, drawn as a see-through ghost. New pieces
and copies start this way; the moment a ghost loses focus it settles solid, pushed
cleanly out of any overlap. Toggle 👻 to slip an already-placed piece through a tight
spot.
-
↔ moving platform — gives the piece a patrol path (drag the ↔ handle to set the
far end; it ping-pongs between the two points). Movers matter most in drop &
drive.
-
✎ note — attaches a note: your intent in words. It rides inside the schema so
it travels with the level to Claude and back. 🎤 can dictate it.
-
🔗 weld — fuses this piece to the piece you selected just before it, so they
move as one rigid body in Test. Tap one piece, then another, then 🔗. Tap 🔗 again to
unweld. (A painted blob is already one welded piece.)
-
🖼️ sprite (emoji only) — skins the emoji with your own uploaded image
instead of the glyph. Tap again to remove and go back to the glyph.
-
🛡️ shield / protect (target only) — turns a villain into a
hostage: a piece you must not destroy. If any protected target breaks,
the level fails. Use it to force careful aim. Off = an ordinary destroy-me villain.
-
✨ hit effect (emoji only) — picks what the emoji does the moment it's
destroyed in Test (see EFFECTS below). Tap to open the picker.
-
🏁 goal / flag — marks any piece as the goal zone: the catch tray to
land in for drop, the flag to reach for drive. Tap again to clear it.
The
readout under the controls shows the selected piece's position, size, and
angle. The
arrow pad in the corner nudges it one grid square per tap.
EFFECTS (✨) — a hit effect fires the instant an emoji is destroyed in Test (when
your hero smashes it). Purely for flair, except
explode, which also shoves and
chain-detonates neighbours. A copied piece keeps its effect, so you can build a whole
cluster of poppers or bombs from one.
- 🫧 pop — vanishes in a quick bubble-pop puff of light specks.
-
💥 explode — a blast that shoves nearby pieces and detonates breakable
neighbours; chain reactions emerge. 💣 / 🧨 use this by default.
-
🧩 break apart — shatters into tumbling shards (in its material colour) that
fall and fade.
- 💧 splash — bursts into droplets that arc up and rain down.
- 🎉 confetti — erupts into a shower of colourful confetti strips.
An emoji with an effect will break on a solid hit even in a material that normally never
breaks, so the effect can play.
Modes (⚙ Settings). Settings cycles the mode: slingshot → drop →
drive. In drop the hero spawns at the start pad and falls;
tap anywhere to hop, but only while it's resting on something (or a split-second
after rolling off an edge). Villains are hazards — touching one flashes red and restarts
you at the top (an attempt counter ticks up; nothing is destroyed). Reach the 🏁 goal (a
catch tray) to clear. Drive (Red Ball) gives you on-screen ◀ ▶ and a jump to steer
the hero to the 🏁 goal; villains are lethal there too. Drop and drive never break pieces
— but ice still melts.
World shape (⚙ Settings). A level's size is part of its data: wide 1600×900
or tall 900×1600 (tall suits drop and portrait play). Switching keeps every object
where it sits and just flags how many pieces landed out of bounds — nudge them back in.
Backdrops, the floor, zoom-to-fit and the agent brief all follow the level's shape.
Backdrops (⚙ Settings). The backdrop lives in Settings so it doesn't crowd the
editor. Pick scenery, or 🖼 upload your own image (cover-fit to the level's size). 📋
copies a ready-made brief for an image agent — it states the exact dimensions and floor
line for the current world shape; add your style notes, generate, import. A faint
alignment grid overlays while editing.
Test (▶). Gravity exists only here, built fresh from the schema and thrown away on
■ — the level is never touched by physics. In slingshot, drag the hero back from the
launcher and release to fire. In drop, tap to hop; in drive, use the on-screen controls.
The schema ({ }). The level is JSON. Copy it into a Claude chat; paste Claude's
levels back and Load. 💾 saves named versions grouped into scenes, alongside committed
levels.