Paper Galaxy — 3D Semantic Projection
A new WebGPU-powered 3D galaxy view of the entire corpus ships under
/unthinking/galaxy/.
- Each star is a paper. Color encodes stance (supports / balanced / challenges); size and pulse mark smoking-gun evidence — the heaviest findings become suns the rest orbit.
- In-browser embeddings. EmbeddingGemma 300m (q4 ONNX) runs on WebGPU via Transformers.js — nothing leaves the page. UMAP-js projects 768-dim embeddings to 3D.
- Physics-based interaction. Planets orbit smoking-gun suns with spring dynamics; drag-and-repel pins a planet and locally repels neighbors. Cosine-similarity search keeps the matched planet in frame.
- Light / auto / dark theme toggle.
- Persistent cache. Embeddings + positions persist to IndexedDB keyed on a corpus fingerprint — first visit indexes in ~30–60s, every visit after is instant. Adding a paper busts the cache automatically.
- Shareable deep links via
?paper=ID, clickable legend filters, keyboard shortcuts, paper-aware sidebar.
Agent-Loop Page
New standalone deep-dive: "An agent is software around an LLM" — animated INPUT → LLM → OUTPUT loop with rich HTML tooltips on every box, growing context window, and theme support.
Corpus Growth & Count Integrity
- Corpus expanded to 364 papers (269 supports / 80 balanced / 15 challenges, 35 smoking guns, 1353 relationships).
- New
scripts/sync_counts.pymakescorpus.jsonthe single source of truth and programmatically rewrites every hardcoded count across README, docs, galaxy, AGENTS.md, workflow.md, synthesis, and rebuttals — enforced in CI to catch drift.
Tooling & CI
Makefilefor the corpus → galaxy workflow.- CI asserts
apps/galaxy/public/corpus.jsonstays in sync with the canonical index and that hardcoded counts never drift. - GitHub Pages deploy now builds and publishes the galaxy app under
/galaxy/alongside the main site. Removed the unused Render deploy config.