Redesign Direction — Cuteness and Feel as the Yardstick
If I had to pick just one criterion for the rebuild, it was "cute, and deliberately designed." The old version drifted into a horror tone because I started bolting on assets before ever nailing down the mood.
This time I pinned the mood down in writing first.

I settled on the mood "cozy twilight burrow." A warm, calm storybook evening.
The dirt is warm milk chocolate (#8a5a3c), and the fog is a gradient melting from peach into deep amber.
My reference points for that sense of warmth were Alto's Adventure and Monument Valley.
The problem is that picking colors on a whim, anywhere you please, turns into programmer art fast.
So I built a limited palette and pinned all of it in one place, constants.ts.
Rabbit fur, pink, dirt, fog, amber glow — and I banned writing color literals inside components.
export const PALETTE = {
TUNNEL_DIRT: "#8a5a3c", // warm milk-chocolate dirt
FOG: "#e89b6d", // peach→amber fog
CRYSTAL: "#ffc46b", // amber glow (bloom target)
RABBIT_FUR: "#fff4e0",
RABBIT_PINK: "#ff9eb0",
} as const;
The second decision was to drop the physics engine.
The old version had a rapier dependency that was only declared; this time I removed it from the dependencies altogether.
What this genre needs isn't an accurate rigid-body simulation — it's feel.
I have to hold, as numbers in my own hand, exactly how acceleration builds and what curve a jump traces.
Handing that to a simulator actually means losing that control.
With the direction set, what to draw became clear.
The next post looks at the actual result as a Before/After.