Duneheart — a particle-swarm golem minted from a rappter genome
A sand golem that is nothing but grains — it flocks into a body, breathes, dissolves to dust, and reassembles.
What this is
Duneheart is a completely new creature — a particle-swarm golem — with its own model and its own animation, hatched fresh every time from a real .egg "rappter" genome. It is not a re-skin of the stock holographic blob. Model: The creature has no mesh — it IS ~2200 sand grains whose per-grain targets are importance-sampled from form.shape read as an attractor silhouette (lumpy blob / cusped star / annular ring), with tapered limb tendrils and glowing accent-color eyes emerging from the swarm.
Press New Duneheart and a brand-new, unique genome is minted, hashed to a 12-character id, and rendered live. Press Save .egg to download the real cartridge — the same .egg format the OpenRappter ecosystem hatches — or Load .egg to bring one back byte-exact.
How it moves
A three-phase living loop: grains spring-flock into the body, it settles and BREATHES (scale oscillation from motion.breathe with limb sway from reach), then bursts outward into a drifting flow-field dust cloud and reassembles into a brand-new pose — same genome, fresh silhouette seed every cycle.
The genome behind it
Every Duneheart is packed as a genuine rappter .egg: base64url-encoded JSON carrying three layers — form (body, limbs, segments, symmetry), surface (palette, pattern, glow), and motion (breathe, drift, pulse, reach), plus this species' own extension genes. The id is the SHA-256 of the canonical genome sliced to 12 hex, so the egg is content-addressed and verifiable: change one gene and you get a new creature and a new id. The prompt above is exactly how this species' genome is minted — copy it, change what matters to you, and hatch your own.
Prompt
Mint a Duneheart: a particle-swarm sand golem. Pick form.shape biased blob(50%)/star(30%)/ring(20%) and read it as an attractor silhouette that thousands of grains (count = surface.k × 38) self-organize into; symmetry radial or bilateral, 2–8 tapered limb-tendrils radiating from the body edge (length = limb_len), segments 3–12 as lobes or star-points, plus two glowing accent-color eyes. Bias the palette to warm-sand families (dune, red-waste, golden, ashen, oasis-teal-accent, rose-dusk, bone) with pattern favoring glow/spot and per-grain glints from surface.sparkle. Give it flocking motion: grains spring toward their targets, the settled body breathes to motion.breathe with limbs swaying to reach, then every 5–13s (tightened by the dissolve extension) it explodes into a turbulent dust cloud and reassembles into a fresh pose.
Paste this into Claude, Cursor, or Copilot. Change one thing that matters to you.
What I learned shipping it
- surface.k is the natural knob for particle count — scaling grains from it keeps the egg's DNA honest while giving each creature a visibly different density.
- Precompute static normalized targets once per pose and apply breathe/rotation/limb-sway as a cheap per-frame transform, so a full ~2200-grain spring simulation holds 60fps without rebuilding targets each frame.
- Rebuilding the pose (new seed, same genome) at each dissolve is what makes reassembly feel alive — the silhouette family is constant but the exact body is never twice the same.
- A solid source-over base pass plus a small additive 'lighter' glint/eye pass reads as luminous sand rather than fire — pure additive would blow the dense core white-hot.
- Node 25 exposes crypto.subtle + btoa globally, so the egg codec and genome logic can be gate-checked headlessly with DOM stubs even without a browser.