iArt.ai
AI 모션 그래픽 소프트웨어, 누구나 사용할 수 있는 After Effects 대안, 텍스트 프롬프트로 몇 분 안에 애니메이션·설명 영상 제작
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Authentication Restful with MongoDB
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗A standalone canvas experience at https://imranakbarin.github.io/iakdevs/.
A visit without a link opens Today (assets/home.js): a card per experience with a small moving preview (Pip running through his kingdom, World art cycling through traditions, the touring car on the road, the garden, the reading nook) and what you have done there, read from what each experience already keeps on the device: Pip's best on today's world and the sights found, Road trip postcards collected, whether you have raked the garden. Tap a card to step in; ⌂ Today in the experience menu (and in Cozy Worlds' own menu) brings you back, and Esc or ✕ returns to where you were. The scene behind pauses while it is open. Links to an experience still go straight there; #today opens it.
assets/art-*-living.webp (see assets/living-art-notes.md).#pip-run).#<style>-<seed> opens a style at a seed, e.g. #gond-12345, #warli-7. Prefix painting- for the painted panorama (#painting-kangra-3). #zen-…, #road-… and #cozy-… open the other modes; #today (or no hash) opens the home screen. Seeds vary the starting layout; they do not regenerate painted panoramas. Editing the hash in an open tab loads that world.
assets/gond-benchmark.js replaces the Gond chunk grammar with a composition-first layout: one hero tree per chapter, an optional support tree whose placement is planned from a separate seeded stream so neighbouring chunks never collide, one animal story, rooted bank plants and patterned distant rises that run down behind the bank.
assets/creature-mind.js gives live-art creatures simple intentions. wander alternates rests (with an idle action) and purposeful walks between seeded waypoints; flight tours perches for birds and butterflies. Both are pure functions of time and seed, so paused redraws stay pixel-identical and evicted chunks rebuild exactly; gait phase follows distance actually covered, so nothing moonwalks.
add() now returns).assets/art-presence.js lets live art respond to the viewer without new controls; every response fades within a few seconds and reduced motion disables it.
Inputs are recorded on the scene clock, so paused redraws remain pixel-identical.
assets/art-ambience.js adds slow mist veils, cloud shadows and water glints to the painterly live-art styles (Kangra, Japan, China, Mexico). Mushroom Island's assets/mushroom-life.js animates the painted kingdom (mist, lamps, townsfolk, flocks, light shafts) and gives Pip's run star seeds to collect, a fairy companion and butterflies that lift off as he passes.
assets/art-wonders.js cuts each endless live landscape into long stretches (about a minute and a half of drifting). Most hold one rare sight, seeded and never the same twice in a row: a migrating flock, kites on the wind (strings down to the land), or a passing shower that leaves a rainbow once the cloud has gone by; fireflies when the theme is dark; petals on the wind in Japan, rising lanterns in China and papel picado garlands in Mexico. Each is drawn in the style's own ink and palette (Warli in white line), as a pure function of seed, stretch and scene time, so a paused redraw is unchanged. A quiet italic line under the style's name says what is passing. tests/art-wonders.test.cjs checks the no-repeat rule, every kind per style and deterministic drawing.
Drag across the sand to rake it: a five-tine rake follows your finger or pointer, carved with the same ridges and troughs as the steel ball's trail (a quiet hint says so on the first visit), and the garden renews with the next pattern as usual. A tap on the water still ripples it. About once a minute a small bird lands on the rim of the sand bed, hops in leaving tiny footprints, pecks and flies off (tap near it and it leaves sooner); by day a dragonfly hovers and darts over the lily pads. Raking by hand has its own sand hiss when sound is on.
assets/road-journey.js turns the drive into a trip between named places (original names). Each stretch heads for a town in the next landscape and the status line counts down to it ("Saltwind Bay in 1.2 km"). Arriving, as the new landscape takes over, shows a postcard: the town, how far you came from the last one and the weather on the way, stamped into a trip log kept on this device ("Stamp 6 of 20"). With a fixed place, towns come every stretch within it. It only reads the road's state.
assets/world-sound.js gives World art, Road trip and Zen garden sound, synthesized with WebAudio (no audio files). Road trip: an engine that follows the speed and pulls harder when overtaking, road and wind noise, rain, night crickets, waves on the coast, birds in the forest, a far horn in the city and a whoosh as an oncoming car passes. Zen garden: sand hissing under the steel ball (it follows the ball's speed), the bamboo fountain, a splash where you tap the pond, now and then a wind chime or a singing bowl, crickets and frogs by moonlight. World art: river and wind beds, birds and insects, and every so often a short phrase in a voice suited to the tradition (a breathy flute for the Indian styles, plucked strings for Japan and China, a guitar-like pluck for Mexico). Off by default: ♪ in the bar (or M); the choice is remembered and resumes on the first tap. Cozy Worlds, Mushroom Island and Pip Run keep their own sound, so the button hides there. tests/world-sound.test.cjs covers both modules.
pip-run.html + assets/pip-run.js (~40 KB of source, 13 KB gzipped) is a real game rather than an animation:
Hero feel: the painted Pip with classic platformer feel: squash and stretch, a braced skid pose, a forward lean at speed and distinct take-off/apex/landing poses.
Golden Sprout: some star blocks release a sprout that slides and drops; catching it makes Pip bigger. Big Pip smashes bricks from below and takes one hit (shrinking, with a flicker) instead of tumbling. The planner values bumping star blocks and predicts a sprout's slide-and-drop, so the demo grows in most runs.
Biomes with their own rules (release 3): regions of ~288 m run Mushroom Meadow, then Frost Ridge, Sky Isles and Glow Caves in a seeded order, with Meadow between cycles. Rules live in the shared physics, so the planner adapts without special cases: ice has low friction and acceleration (long skids), the sky has lighter gravity and gusting wind that drifts Pip, and caves are dark, lit only by Pip, crystals, seeds and star blocks (the thought lines glow above the dark). Each biome has its own terrain grammar (floating two-tile islands and spring pads in the sky; a jagged roof, guaranteed headroom and crystals in the caves) and its own tiles, parallax backdrop and weather. Gap tables are computed per biome from the take-off speed a short run-up can build, under a worst-case headwind. The next region's landmark (Mushroom Gate, Frost Spire, Sky Harbor, Crystal Heart) rises on the horizon and grows as Pip approaches, the HUD counts down to it, and a title card announces each region.
Director (viewers vs. the AI): while the demo plays, pick a tool (brick, creature, spring; keys 1 2 3 or the round buttons) and place it just ahead of Pip; 3 charges recharge every 6 s. The planner referees each placement by imagining Pip's futures with it: if every future tumbles, or no surviving future gets past a spot that one could before (a trap), it is refused as "Too cruel". Accepted placements force a visible replan and score: a reroute earns 20–100, a tumble on a fair trap "Gotcha! +150", and Pip using your spring +40. Springs are part of the shared physics, so the AI can use them.
A painted world (release 9): the ground is painted to match Pip rather than built from flat tiles. Earth, stone and stumps never change in play, so each chunk's are painted once into one canvas (paintChunk): soil that darkens with depth, strata, pebbles and roots, a grass cap with blades, tufts and flowers that rounds over cliff edges, faces lit from the upper left and shaded on the right, and per-biome dressing (snow lumps, sparkle and icicles; cloud billows with gold veins; glowing moss, glowcaps and stalactites). Stone blocks are bevelled and mossy, each a little different, and columns are tree stumps (snow-capped on the ridge, crystal pillars in the caves). Painted trees, rocks and the odd cottage from assets/road-painted-props.webp stand behind the ground on wide flat stretches, graded into each biome. Frost Ridge and Sky Isles get painted backdrops from (a snowy range with a pine ridge in front; the world far below the clouds), with drifting cumulus and islands that carry trees; the caves get light shafts and glowing crystal clusters. Bricks, star blocks, springs and creatures are re-painted with bevels, gloss, rim light and soft shadows, and a soft sun bloom and vignette (painted once, small, per biome) tie it together. Collision still reads the tile grid, so physics, the planner and ghosts are unchanged. Frame cost stays at the old level: only rows that hold something are kept, and the light is one cached overlay.
World tiles are 600 world units wide and cached per chunk. Tiles are blitted only up to the next tile's origin so translucent paint (hills, paper grain) never doubles along a seam. Bump the ?v= query on a script tag when its file changes.
assets/road-painted-mountains.webpPip's back hand (release 24): in the painted frame Pip's back hand ran past the edge of the picture and was cut off square, so it showed as a flat-topped block of skin. The cut skin (and its pale edge) is lifted from the body sprite and a rounded fist with curled fingers, a thumb and a wrist that reaches into the sleeve is painted behind the cuff in its place.
Weather, a journey book, and a stomp worth landing (release 23): most regions after the first now get one passing spell of weather, seeded and a function of distance like the hour, so ghosts and replays see the same sky. It is drawn and heard only: the rules stay the region's. A shower crosses the meadow with rain, splashes and puddles that ripple, linger and dry, and then a rainbow; a blizzard whitens the ridge with snow on the wind and a howl; a squall darkens the coast with driven rain, a heavier surf and thunder far off; a sunbreak sends shafts of light through the sky isles with a shimmer of chimes; and rain drips from the cave roof, catching what light there is and ringing where it lands. Each is a new find (15 sights now). Each landmark reached is stamped into a journey book kept on this device: the date it was first reached, how often, the best time to it from the chapter's start, and your own best when you played most of that chapter (a ghost rebuild stamps nothing). The chapter card says when a postcard is new or a time is beaten, and ✉ Journey (or B) opens a page of five postcards, each the landmark under its own sky with a perforated stamp and a postmark, the rest greyed with a question mark; the run waits while it is open. Stomps now land: the creature is squashed flat with a wobble, its eyes turn to spirals and stars go round its head before it vanishes in a poof; a ring of impact, star sparks and dust fly out; a Mossbud's leaf pops off and flutters down, a Puffwing bursts into feathers, a shell clacks and wobbles; Pip stretches up off it; a chain of stomps counts itself (×2, ×3...) in growing colours; the clock holds for a few frames and the view jolts (both in the render loop only, so the simulation, the planner and ghosts are unchanged); and the sound is a thump and a squish with a boing and a chime that climbs with the chain.
A speed pass (release 22): each frame paints fewer full-screen layers, for the same picture. The camera eases in only once the planner is properly tense, so calm stretches no longer draw the whole scene into a zoom buffer and copy it (about a third of all frames did). Distant ridges are filled down to the horizon or the foot of the stage instead of the bottom of the canvas. Each biome's sky gradient and sun glow are one small cached image, stretched. The hour's wash over the world and the sun's bloom and vignette are merged into one cached layer that is repainted only when the hour or the biome mix moves on. The cave darkness is drawn at half resolution. The racing ghost is greyed on a small buffer instead of through a canvas filter. HUD words come from cached images instead of being typeset every frame. On dense screens (twice the CSS pixels or more) the sky and everything far off is painted at half resolution and stretched, since it is soft and hazed anyway. Measured in headless Chromium with drawing forced to finish: a retina-sized window is 16-29% faster per frame across the five biomes, a phone 10-22% (the caves about even), and an ordinary desktop window up to 19%.
Sunset Coast (release 21): a fifth region joins the journey, so a lap is now meadow and then frost, sky, caves and coast in a seeded order. Its rule is soft sand: Pip is slower to get going and stops sooner (lower acceleration, more friction; the gap tables still re-derive from the take-off speed, which a short run-up still reaches). Its world: a warm sky over the sea with long clouds lit from below, the sun low on the water with a flickering path of glitter, headlands far off, swell lines that crowd and speed up toward the beach, and surf at the foot of the dunes, so every gap is sea (falling in makes a splash). Rock pools break up the sand the way the islands break up the sky. The ground is sand that darkens with depth, with wind ripples, shells and pebbles on top and weed hanging under the overhangs; columns are weathered pilings with barnacles and rope, stones have a wet sheen, crumble bridges are bleached driftwood, bricks are sandstone, and the drift ferry is a driftwood raft with a striped sail. Along the way stand leaning palms (with five tiles of headroom), shells and starfish, sandcastles with a pail, striped umbrellas over towels, driftwood and beached rowing boats; dune grass sways, gulls glide and spray glints, and the close foreground is dune grass on a sand bank. Footsteps hiss on the sand and leave prints. Its landmark is the Lighthouse: a red-banded tower on wet rocks with a railed gallery and a glowing lamp room. When Pip arrives the lamp catches and flares, twin beams sweep round over the sea and the gulls resting on the rocks and the rail lift off, to a foghorn, the lamp's chime and their cries. The coast has its own ambience (surf that rolls in and draws back, gulls now and then) and its own key for the score. The day now lasts six regions instead of five, so each lap meets the regions at a different hour (the second meadow still gets the starry night). Shared links use a new format, since older runs would replay on a different world.
Creatures that notice Pip, and quieter thought lines (release 20): the creatures react to Pip, drawn from the state of the world only, so the simulation, the planner's predictions and ghosts are unchanged. Their eyes leave the path ahead and follow him when he comes within a few tiles (up as he jumps over them, back over their shoulder once he has passed); a Mossbud's leaf perks up, a Shellback snail draws its head back under its shell as he approaches, a Puddlehop puffs its throat at him and a Puffwing beats its wings harder. A landing right beside them, a friend being stomped or a shell sliding past makes them flinch: they squash down with their eyes squeezed shut, and a stomp nearby makes the others jump. The planner's thought lines stay at a third of their strength while things are calm and come up when it is tense (in replays they show in full, since replays are about its thinking); they fade out over the eight tiles ahead of Pip instead of running across the scenery, and they give way to a landmark's arrival scene.
Smooth on a TV (release 19): resolution now follows the device. The canvas holds at most 4 million pixels (at twice a 4K TV's density it was asking for about 8 million on every one of its ten or so full-screen passes), and when frames keep coming slower than about 50 a second it renders a step smaller (80%, 64%, then 50% of the pixel density; two steps at once below about 24 fps) and lets the browser scale it up. Each step is judged over 1.5 s of frames after a second for caches to refill; a step that does not make frames faster (a display that only runs at 30 Hz) is taken back and the level settles. The level is remembered on the device for a week. A resolution change goes through the same path as a window resize, so ghosts still replay exactly. In a simulated 4K-density window Chromium went from 29 to a steady 58-60 fps in about 8 s; desktop and phone sizes keep full resolution.
Borders that blend, and a sound for each landmark (release 18): where one region gives way to the next, the ground no longer changes at a hard vertical line. Across 16 tiles around the border the soil crossfades from one biome's to the other's (brown loam into blue-grey frost, frost into lavender cloud, cloud into cave rock, rock back into loam), and the cap on top changes tile by tile in patches a few tiles long: snow drifts start on the grass at the foot of the Frost Spire, cloud billows over the last snow, moss creeps over the cloud and grass over the moss, the incoming cap's rounded edge lying over the old one. Footsteps, prints, kicked-up particles and the swaying grass follow the ground's look, so Pip's boots crunch on the first snow patch; the rules (ice, wind, darkness) still change at the border itself. A border chunk paints both looks, only where they mix, and every chunk is now painted ahead of time while the browser is idle instead of in the frame it scrolls in. Each landmark's arrival scene has its own synthesized sound, timed to what is drawn: the gate's caps boing as they bounce under a warm chord and a sprinkle of petals and bells; a rising shimmer climbs the Frost Spire and rings out as it flares, scattering glints; Sky Harbor's airship sounds its horn and its propeller hums away into the distance; the Crystal Heart's hum swells as each ring of light pulses out. The fanfare follows the scene.
Along the way, and a scene at each landmark (release 17): the route is dressed with small painted details, each placed like the props on level ground with three tiles of headroom under its whole width, inside its chunk and clear of the trees, rocks and cottages: split-rail fences, clusters of spotted mushrooms, wildflowers and lamp posts in the meadow; snowmen, frozen ponds, frosted fences and lamps on the ridge; bunting strung between poles and spinning pinwheels in the sky; glowing mushroom clusters and lanterns in the caves. Every region opens with a signpost naming the landmark it leads to, and a cottage gets a well beside it when there is room. When Pip reaches a landmark it plays a short scene (about four seconds, timed from the arrival so ghosts and replays see it too): the Mushroom Gate's caps bounce, its doorway fills with warm light and the arch bursts into petals; light climbs the Frost Spire until it flares, a beam stands from its tip and star glints burst out; the airship casts off from Sky Harbor, leans into the turn and sails away (it is gone when you look back); the Crystal Heart pulses rings of light. The chapter card now waits for the scene and sits higher. tests/pip-run.test.cjs checks every piece of dressing in four worlds and that each arrival plays its scene.
Painted set pieces (release 16): the last flat pieces are painted, each once into a cached sprite. Drift ferries: a lashed log raft with ring-cut ends and a veined leaf sail stirring in the breeze (meadow), a frosted ice slab with icicles (ridge), a cloud cushion with a gold ribbon (sky), a faceted amethyst slab that glows (caves). Lifts: a two-board platform hung on ropes from a beam with spoked pulleys that turn as it moves. Crumble bridges are long weathered boards, nailed and split, on a sagging rope (cracked ice, cloud, crystal elsewhere); the helping bridge is a board deck on a leafy vine; the podspitter a striped, glossy bulb. Star seeds are faceted golden stars around an amber heart, and the Golden Sprout a glossy golden fruit with two veined leaves.
One Pip in every pose (release 15): the drawn legs now carry every pose, not only the run, so the painted frames' cut-out legs no longer appear at all: in the air the pose follows the vertical speed (knee up and the other leg trailing on the rise, tucked at the top, reaching down for the ground as he falls), a landing crouches and blends back into the stride, a skid braces the front boot forward, and a tumble flips the same body. His front arm (sleeve and fist, lifted off the painted body, which keeps the shoulder so no gap opens) swings against the near leg as he runs and rises for balance in the air.
Placement (release 14): painted trees, rocks and cottages stand only where the ground is level and unbroken under their whole base and a tile beyond (a cottage needs nine tiles, an oak seven), within their own chunk, so nothing hangs over a cliff edge or is squeezed between a ledge and a gap; a cottage is tried wherever there is room for one. The kingdom painting and the mountain backdrops no longer repeat as mirror images (which showed a centre line and fused shapes into symmetrical ones, two mushroom houses into a heart): each is made into a strip whose two ends cross-dissolve, so copies join without a seam, and the kingdom is painted large enough that a screen shows it once. tests/pip-run.test.cjs checks every prop in four worlds stands on level ground.
A calmer jog, and things in their place (release 13): the clock runs at 40 ticks a second (from 46), so the whole game is about 13% calmer, and Pip's stride is longer: about six steps a second at full speed instead of nine. The landmark on the horizon is small and hazed into the sky with its foot fading out (it no longer stands mid-air at ground height), and is not shown underground; the full-size landmark on each plaza stands on the plaza's own ground with a contact shadow instead of bringing a painted mound of its own. Each sky island has one billowing cloud underside instead of a string of puffs, the cumulus sea sits lower and smaller, the close foreground is quieter (no bright blossoms by the buttons), and the cave mouth darkens later so golden hour and the caves do not muddy each other.
A run, not a waddle; a painted sky (release 12): the drawn legs now run: contact is under a third of the stride at speed, so there is a moment with both boots off the ground; the heel kicks up high behind, the knee drives through under the body and the boot reaches for the next step. The hips sit close together (they were spread like a duck's), the body leans into the run, rises in the flight and sinks at mid-stance, and the shoulders turn a little with each stride. The flat illustrations in the sky are painted now, each once into a cached sprite: the four landmarks (spotted mushroom caps on shaded stems under a flowering arch with a lantern; a faceted ice spire among shards; a floating island with trees, a pier and a shaded airship; a faceted crystal heart), the sky whale, the balloons (round, gored envelopes on wicker baskets), paper lanterns, the moon and the cave crystals. Below the Sky Isles a sea of cumulus replaces the flat bands, and the islands' undersides billow. The caves' far walls are crags from the mountain painting, darkened, and going into or out of the caves fades through the dark of the cave mouth instead of mixing a bright sky with dark rock.
A day on the road, depth and real strides (release 11): the sun goes down as the journey goes on, one day every five regions: day for the first chapters, a golden hour with a low sun, a lavender dusk with the moon rising, a starry night over the next meadow (fireflies, a warm glow around Pip, the birds give way to crickets and now and then an owl), then dawn. It is a function of distance, so ghosts and replays see the same sky; underground, the caves keep their own dark. Each frame blends the phases into one wash over the sky and one over the world, so night costs little. Out-of-focus plants (grass and blossoms, frosted tufts, cloud, dark stalagmites) pass close to the camera at the foot of the stage, faster than the world, and thin out around Pip. Footsteps crunch in snow and thud softly on cave moss, and a tree shedding its leaves rustles. Running legs are drawn now: the painted run frames were cut-outs that, stepped about 70 times a second, flickered faster than the screen could show them. Pip keeps his painted body, and his legs (short, cream, in glossy boots) follow one continuous phase from the distance run, half a cycle apart: a boot plants ahead of the hip and sweeps back, the heel rolls up, the leg swings through knee-first and reaches for the next step. The body sits as high as the planted boot allows, so it dips at each contact. Footstep sounds and prints land on the contacts. Jump, landing and skid poses stay painted.
Pip touches the world (release 10): footfalls throw up what the ground is made of: dust and grass clippings in the meadow, snow on the ridge, cloud in the sky, glowing spores in the caves, harder on a heavy landing; running through a flower kicks up its petals. Pip leaves footprints in snow (they fade over ~20 s) and in cloud, and in the caves the moss lights up under his boots and lights the dark around it. Grass along the front of the turf sways in a breeze, parts around Pip and the creatures and flattens where he lands. Leaves drift from the painted oaks and snow sifts from the pines, and a shower of them comes down when Pip runs past a trunk. Particles are spawned by the simulation from its own state (no randomness), so replays show them; prints, grass and leaves are drawn from the state at render time. Nothing feeds back into physics.
Sound (release 8): assets/pip-audio.js synthesizes everything with WebAudio (no audio files). Effects follow game events: footsteps that know the ground (grass, ice, cloud, stone, wood, crystal), jumps, landings weighted by impact, seeds that climb a pentatonic scale as you chain them, bumps, springs, stomps, crumbling planks, pods, tumbles, discoveries and an arrival fanfare. Each biome has a quiet ambience bed with occasional details (birds, ice tinkles, wind chimes, cave drips; sky wind follows the gusts). An optional sparse score plays a pad and a slow melody in each biome's own key and voice, a little fuller when the planner is tense. Off by default: the ♪ button (or M) cycles off → sound → sound + music, the choice is remembered, and sound pauses with the host's Pause and when the tab is hidden. A ghost rebuild and the planner's imagining are silent. tests/pip-audio.test.cjs runs it against a stub AudioContext.
Journey (release 7): each region is a chapter that ends at the next region's landmark (Frost Spire, Sky Harbor, Crystal Heart, Mushroom Gate), standing full size on a quiet plaza (creatures turn back at plaza edges, so the rule is part of the world). Pip slows to a walk across it, reaches the landmark and hops, the camera settles in, and a chapter card sums up the region: seeds, time, tumbles, new finds and, when racing a ghost, how far ahead or behind you were at that spot. The next region's title follows. The walk goes through the input log like any other input, so ghosts replay it exactly.
Set pieces, wonders and a calmer pace (releases 5–6): top speed is about 22% lower (gap sizes re-derive from the jump), and the simulation clock runs at 46 ticks a second (40 since release 13) with the renderer interpolating between ticks, so the whole game moves ~40% slower than at first while staying smooth. Each biome now lasts ~288 m (about a minute), set pieces come roughly every 65 m, and the planner's thought lines are reduced to a faint chosen path and its closest alternatives. Pieces are dealt from a bag that remembers the last six, so the route does not repeat itself, and new set pieces unlock as you go: drift ferries across chasms too wide to jump, lifts up cliffs too tall to jump, crumble bridges whose planks fall half a second after you land on them (and grow back), floating steps over a pit, and podspitters that spit seed pods along the ground. Ferries and lifts are one-way platforms whose position is a pure function of time, so the planner foresees them (it waits for a ferry, rides it, and steps off when ground is within a hop) and ghosts replay them exactly. Most regions also hold one wonder in the sky (a sky whale, lantern rise, balloon drift, meteor shower or aurora), never the same twice in a row. The first time you meet each piece or wonder, a small card names it ("3 of 10 found"), remembered on this device.
Ghost links and the daily world (release 4): the default world is the day's (UTC), the same for everyone. A run is stored as its seed, the simulation width and one 3-bit input per tick (run-length coded), plus the director's placements; the engine is deterministic (its sine is plain arithmetic, so browsers agree bit for bit), so that log rebuilds the run exactly. Share run copies a #pip-run-<code> link (about 1 KB for three minutes) that opens the same world with your run racing as a translucent ghost, with an ahead/behind readout and a flag where the ghost's run ended. Your best run of the day (once you have played yourself) is kept on this device and raced as "your best"; Race again (or R) restarts the same world. "New world" picks a random one.
Physics: fixed 60 Hz with sub-pixel motion; acceleration, skids, variable jump height (hold to jump higher), coyote time and jump buffering.
World: an endless seeded tile world from a chunk grammar (runs, gaps, steps, stump columns, stone pyramids, block tiers). Gap widths come from simulating the jump arc, so every stretch is clearable; difficulty ramps with distance.
Creatures: Mossbud walks and turns at walls; Shellback snail turns at ledges and retreats into a kickable shell that bowls others over; Puddlehop leaps toward Pip on a timer; Puffwing bobs through the air. Stomp them, or bump blocks from below to knock them off.
Demo player: when idle it presses the same buttons a person would. Every few frames it simulates ~40 candidate plans for 1.6 s against the real physics and predicted creature motion (including hopper arcs), then continues each rollout with a default policy (run, and leap where ground ends or a wall/creature is ahead, waiting for headroom under block rows). Average-position scoring and plan commitment stop it from procrastinating. Any key or tap hands control to the player; 9 s idle hands it back.
Controls: ← → / A D to run, Space / ↑ / W / Z to jump. On touch: a pad below the stage.
Visible mind: in demo play, each replan's rollouts are drawn as arcs: white futures, red ones that end in a tumble (with a break), gold for the chosen path.
Planner-driven drama: tension (the share of imagined futures that tumble within 40 frames) eases time down to ~0.55× and pushes the camera in; nothing is scripted.
Instant replays: a 6 s ring of recorded frames; close calls (a lethal option within 12 frames was avoided) and stomp chains replay at half speed with letterbox bars, at most every 30 s.
Memory: each tumble leaves a faint ghost mark. Rollouts near a mark keep a wider berth and avoid retracing it, a "!" shows when Pip approaches one, and a risk level rises after tumbles and relaxes with clean distance (≈2.4 tumbles per 3 min, down from ≈3.6).
Phones (portrait): the stage sits right under the host bar with larger tiles (12–13 across), and a console below it holds a journey strip (chapter, a mini Pip on the track, the ghost, the next landmark and the metres to it), the director tools, Sound/Restart/Share and the hint. Once you play by touch it becomes a thumb pad: the left quarter runs left, the next quarter runs right, the right half jumps, so thumbs need not aim. Tall phones show the chapter so far (seeds, time, finds, your best today) in the spare space. Where the browser supports it, landings, stomps, springs and tumbles give a light vibration while you play. Landscape keeps the full-height stage.
Never stuck: under a block row the demo leaps only under open sky, running off a lip and jumping in the coyote window when the row reaches the edge. After ~3 s without progress the planner grows impatient and commits to its best attempt instead of waiting forever (a late fall otherwise scores better than an early one). The generator leaves open sky after every block row, shrinks a gap after a short run-up, and brings the ground back into each biome's height range (so nothing is wedged under a cave roof). Two world rules guarantee progress: after three falls into the same gap a bridge grows across it, and after 30 s without progress a breeze carries Pip to the next safe ground. Both depend only on the world's state, so ghosts replay them.
tests/pip-run.test.cjs checks the gap table, finite physics, steady demo progress on four worlds, the director's referee, that a shared run (with a placement and a resize) replays frame for frame, that every biome's painted ground draws with sane geometry (a strict canvas stub rejects non-finite numbers and negative radii), once per chunk, and that whole frames render in every biome with footprints left in snow, cloud and moss.