Skip to content

Conventions

@docs/claude-memory/MEMORY.md

This checkout ships with the memory that was used to build it. docs/claude-memory/ holds the index, topic files, feedback_* lessons and archive/, exported from the author’s Claude Code project memory at release time (files about the commercial side are left out). Install it as your own project memory so recall works across sessions:

Terminal window
npm run setup:claude-memory # copies docs/claude-memory/ to ~/.claude/projects/<slug>/memory/
npm run setup:claude-memory -- --dry-run
  • MEMORY.md is a ROUTER, not a store: one short line per topic, the detail lives in the topic file. Read the topic file before touching that subsystem. Keep it under ~17 KB.
  • <slug>.md = a campaign or subsystem map · feedback_<slug>.md = a reusable lesson (glob them) · archive/ = settled campaigns, still worth grepping.
  • file:line citations were true when written. Verify before relying on one.
  • Absolute paths were rewritten at export: <repo root> is this checkout, <physics workspace: pinionfall/physics> is the physics workspace, and (a local plan file, not included) marks a planning document that did not ship.
  • The product is Pinionfall. The sun is Naliay. The star of the home system is called Naliay inside the game and in these notes. Never blanket-rename either.
  • Bodies: Naliay = sun, Meroros = home, Merys = luna, Vorythos = cinder, Nath = pearl, Vovaneo = ember, Thenor = goliath, Venor = forge.
Terminal window
npx tsc --noEmit
npm run build
npm run test:densityparity # the Rust density against its golden, and against JS

Run every test:* script that covers the files you touched. Tests are tsx scripts with a hand-rolled check(); there is no test framework.

vendor/rapier3d/ is prebuilt. The density function has three implementations (WGSL, TypeScript, Rust) that change together, in the same commit, layer order included. The lattice, hash and gate decisions agree exactly; transcendentals may differ by a few f32 ULPs by design (see the header of src/physics/density-parity.test.ts). Rebuild the WASM only from the pinionfall/physics workspace (git clone --recurse-submodules, then follow its README); vendor/rapier3d/provenance.json records what was built.

npm run setup:assets restores the binary assets from the GitHub Release matching your checkout, character animations included (provenance: scripts/check-animation-provenance.mjs).

Written by release:site-sync from CLAUDE.md at v2026.09.22. Edit the engine document, not this page.