3D pendulum divination powered by true QRNG (Outshift or qrandom.io): quantum integers steer anchor pulls; swing motion maps to swappable reading circles, optional live mic entropy, 2D disc view, and quantum circle shift voting.
Live: https://alecmccutcheon.github.io/Quantum-Pendulum/
npm install
npm run devOpen the URL Vite prints (usually http://localhost:5173).
- Click the gear icon (bottom-right).
- Paste your Outshift QRNG API key (
x-id-api-key). - Save — the key stays in browser localStorage only.
Optional: copy .env.example to .env.local and set OUTSHIFT_QRNG_API_KEY= for local dev (never commit).
- Outshift — requires API key
- qrandom.io — no key
If the chosen source is down, measurement fails. The UI shows which source was used.
Swap the disc under the pendulum for different readings — yes/no/maybe, elements, emotions, direction, and more can be added in src/data/divinationCircles.ts. Meaning comes from which sector the bob’s swing highlights, not from a fixed question format.
Set GITHUB_PAGES=true when building. The app uses CORS relays for qrandom.io in production (see src/lib/qrngProviders.ts). Local dev uses the Vite /api/qrng proxy in vite-plugin-qrng.ts.
Configure base in vite.config.ts to match your Pages path.
src/api/qrng.ts— QRNG clientsrc/lib/quantumPendulum.ts— batch fetch and impulse mappingsrc/data/divinationCircles.ts— swappable sector circlesdocs/PENDULUM_PHYSICS_RESEARCH.md— physics research and architecture notessrc/components/pendulum3d/— Rapier + React Three Fiber simulationsrc/pages/Home.tsx— main UI
npm run build
npm run preview