Type a name. The identity cubebear|<name> is hashed with SHA-256 and those bytes become the bear — no configuration, no randomness, no takebacks. The same name will always produce the same bear.
This is where provable identity stops being a slogan inside this forest. Pick a bear: Shinrin recomputes its entire trajectory from tick 0 — herd-aware, using this world’s recorded coupling history — and compares the replayed hash with the live one here. That does not prove a match to yuragiengine.com or to a BSV mainnet anchor (different float equations). Use “ask the engine to attest” on a linked bear for the engine’s own replay.
Retracing the pendulum's phase trajectory (θ, θ̇) tick by tick, live — ● replay in progress, ● where the live bear stands now. They should land on the same point.
This forest’s local epoch log uses YURAGI|life|v1|id|tick|hash for its own simulated anchors. The canonical engine at yuragiengine.com stamps mainnet state anchors as YURAGI|v1|id|tick|hash PushDrop outputs (Living UTXO life epochs separately use YURAGI|life|v1|…). Same idea — spendable proof — but Shinrin hashes are not the engine’s float hashes.
Advance many blocks at once. Still deterministic — the same number of steps, just quicker. The chain height in the HUD counts every block.
Each bear's inner metronome is a dot on the circle. Raise the Kuramoto coupling K and watch independent personalities fall into a shared rhythm — with no coordinator. The order parameter r measures it: 0 is scattered individuals, 1 is one herd.
Coupling mixes bears together, so proving a coupled bear replays the whole herd with the recorded K history. Individuality and togetherness, both auditable.
Every epoch (50 blocks) the herd elects a leader. Each ballot is a pure readout of bonds, traits, and phase — zero dice, zero politics-as-noise. Leadership is a title: it never changes the fluctuation equations or K.
Aye/nay from each bear’s die state right now. Carried motions only nudge expression (gather / lantern drift) — physics untouched.
Each bear's move comes from its live state at this tick. No dice — but no fix either: neither bear, nor you, can know the move without running the equations.
Jump across the realm. Outer landmarks sit past the heart valley — High Tor, Drift Shore, Starwell, and the rest.
Published seeds — Witness is read-only (lives keep moving). Fork a copy when you want to leave a trace. Sibling floats only; not engine or mainnet hashes.
Shinrin is not a game with NPCs. It is a life simulator where every creature is a deterministic dynamical system — a chaotic logistic die, a phase-oscillator metronome and a driven Duffing pendulum, coupled — read out through sigmoids into four personality traits that choose one of six actions every timechain block: explore · rest · greet · create · wander · sing. Expression-layer recall / craft metaphors are inspired by the engine mind layer — they never fold experience into the float core.
Shinrin is a sibling of the Yuragi Engine — same metaphors (identity → D/M/P → traits → action; cubebear|<name>), own browser-side float equations. It does not embed core/fluctuation.js, so state hashes here will not match engine / mainnet hashes. Canonical engine, guide, and SDK: yuragiengine.com · /guide · npm: yuragi-engine.
A bear's identity is world-independent. The genome lives in the name; a world is nothing but an event log. Name Kuma in two worlds and you get the same soul — same physics, same temperament — living two different lives. Export a log and your world, with everything you did in it, travels as plain JSON.
Or publish a share link from the current world — anyone opening ?w= recomputes the same forest (Shinrin floats, not engine hashes).
The canonical registry of souls lives at yuragiengine.com. Shinrin shares the philosophy (name → genome → D/M/P → traits → action) and the cubebear|<name> identity convention, but runs its own browser float core — not a byte-copy of the engine. Linking registers / invites names and can ask the engine to attest its life (herd + mind aware). Embed the real engine without a server via npm: yuragi-engine (createLife / createLifeFp).
Invite brings an engine bear into this world: same genome, fresh biography here. Its engine life continues untouched — one soul, many worlds.