Two new entries added to the BOOKS section:
(1) The Plot (BEL Books, 1999–2014; ISBN 978-1-891451-02-7) — Bob Enyart's full
covenantal framework book. Tagged: Israel, covenant, divorce, Bride of Christ, Times of Gentiles,
Romans 11, Replacement Theology, dispensationalism, Luke 21:24. Linked to articles
near-israel + near-israel-2.
(2) The Plot — Excerpt: The Bride of Christ (type: paper, PDF from media.kgov.com) —
the wife/Bride distinction: Israel as divorced wife, Church as Bride of Christ, wedding guests
as distinct third category. Direct PDF link:
media.kgov.com/files/enyart-The-Plot-excerpt-on-the-bride.pdf.
Both entries sync'd to admin/deep-research.html.
Bride excerpt also linked inline from both Israel article source blocks.
images/fine-tuning-dials-a.svg through -d.svg). Flagellum uses images/flagellum-labeled-diagram.svg. The Gaza source photo is saved as images/hero-genocide-gaza-child-full.jpg.https://plausible.io/js/pa-Od3BFtOx0ajTcbxWxR9Cp.js and the official queue plus plausible.init(). No data-domain attribute. Public pages that already load ginh-track or cf-analytics get it from one include. Cloudflare beacon stays. No Admin links on public pages.index.html: #back, .dhp-lock-hint, #reveal-close, .rev-eyebrow, .art-tag, .art-read-badge, .share-btn, #splash-copy. 8 fixes in articles.html: ar-back, ar-filter-btn, track-badge, ar-card-id, ar-tag, ar-card-series, com-banner-eyebrow, com-banner-chip. 2 fixes in explore.html. 6 fixes in explore-now.html. 3 inline JS template literal fixes in explore-near.html (YouTube badge, Watch label, Champion required — individual Edit calls per apostrophe rule). 4 fixes in explore-gate.html (1 CSS + 3 inline HTML). 3 fixes in explore-commentary.html: .com-cat .32rem, .ean-eyebrow .38rem, .ean-sig .38rem — all to .78rem. Opacity raised to .72 floor where applicable.membership.html: tier-badge .36rem, tier-price span, cta-btn, cta-champion, champion-pill .32rem, mem-val-title, form-heading, mem-btn, form-note, drip-heading — all to .78rem. 4 fixes in membership-success.html (3 CSS + 1 inline). 10 fixes in champion.html: champ-nav-badge .34rem, gate link, champ-eyebrow .38rem, champ-signout, champ-tab .4rem, cp-heading, cp-label .34rem, cp-btn, cp-note, rec-type .3rem. 9 fixes in about.html (8 CSS + 1 inline). 10 fixes in about-hedrick.html (4 CSS + 6 inline: RSR eyebrow, corvette note, origin/Moriah eyebrows, Hedrick cite, tier-tooltip-head).stacks.html: stacks-eyebrow, src-badge, sf-btn, sf-count, sv-btn, thread-years, sc-tag, sc-year, sc-ginh-link, sc-pdf-badge. 4 fixes in contact.html. 9 fixes in site-map.html. 2 fixes in privacy-policy.html. 4 fixes each in rsr-hedrick.html and openness-debate.html: track-label, status-badge, rsr-num, back-link. 10 fixes in animations.html: an-eyebrow, an-stat-label, an-cat-link, an-section-label, an-feat-tag, an-feat-file, an-feat-cta, an-cat-count, an-card-file, an-tag. 6 fixes in deep-research.html (5 CSS + 1 JS template literal). bibsac-archive.html — 0 hits, clean.replace_all used for 4 identical code badge spans (YHWH, ATP SYNTHASE, binary, φ=1.618) — same font-size:.52rem;color:rgba(201,147,42,.42) string in root file; 5 occurrences in visual/ subdirectory version.article-no-genocide.html (NO·XII) is registered in js/article-registry.js, js/release.js (status:'live'), js/page-meta.js, and site-map.html. The article list on explore.html is dynamically rendered from GISN_REGISTRY.no — the article appears there automatically via the JS renderer. The static header "The Objections — Eleven Arguments" was the only stale reference (now updated to "Twelve Arguments"). changes.html had not been updated since Session 20 (May 21); sessions S21, S22, S24 (two sub-sessions), and S25 were all absent. All five blocks now restored.article-c-1.html: .sf-cta .4rem → .78rem. 2 inline fixes in article-c-3.html: div label .44rem and anchor .48rem — both individual Edit calls (inline style attributes). 3 CSS fixes in article-c-4.html: rsr-topic-label, rsr-episode-date, rsr-episode-link — all .48rem/.52rem → .78rem. article-c-2.html — 0 hits, clean.article-res-1.html: tomb-img-caption, tomb-eyebrow, tomb-link, tomb-sign-caption, tomb-sign-eyebrow, tomb-sign-ref, inner-transition::before, inner-scene-eyebrow, fact-ref-btn, flyout-head, flyout-ref-source, flyout-ref-link — all to .78rem; opacity raised to .72–.78 range. 2 CSS fixes in article-res-2.html: obj-label .52rem → .78rem / opacity .7 → .82; obj-answer-label .48rem → .78rem / opacity .6 → .78.article-gate-crucifixion.html: crux-timeline .tl-source .65rem / opacity .4, crux-medical-head .7rem / opacity .55, crux-analogy-label .65rem / opacity .5, crux-source-ref .64rem / opacity .4 — all to .78rem / .72. 7 MultiEdit replacements in article-gate-messiahs.html: ball-analogy-label/cite, cc-dates, cc-outcome group (.co-died/.co-faded/.co-unique opacity), jt-table th, pb-head, pb-list li .pb-ref — all sub-.72rem raised; opacity raised where below .72.article-now-butterfly.html. 8 fixes in article-now-beauty.html (3 CSS + 5 inline HTML). 7 fixes in article-now-awe.html (4 CSS + 3 inline figcaption). 6 fixes in article-now-human-form.html. 1 fix in article-now-logos.html. 11 CSS fixes in article-now-brutalism.html. 9 fixes in article-now-1.html (8 CSS + 1 inline). 62 total fixes across 7 NOW files.article-near-starlight.html. 10 CSS fixes in article-near-symbols.html. 1 fix in article-near-stacks.html. 3 fixes in article-near-language.html. 8 CSS fixes in article-near-israel.html. 11 CSS fixes in article-near-israel-2.html. 4 CSS fixes in article-near-scofield.html. 5 CSS fixes in article-near-gaza.html. 52 total fixes across 8 NEAR files.article-now-brutalism-v2.html was created in S22 as a Cloudflare edge cache bypass. User confirmed access to the corrected original; v2 deleted per instruction. article-now-brutalism.html is now the canonical file and received 11 readability fixes in this session.article-now-brutalism-v2.html — no cache entry = immediate live fix. Confirmed working in live incognito. Also: verdict ticker (verdict-ticker component) removed per user request. CLAUDE.md Rule 21 added: edge cache diagnosis protocol.css/article.css full audit: 29 sub-0.72rem declarations fixed across nav, sidebar, eyebrows, labels, footers, search UI, butterfly nav, source cites, print button.runQA() before the for loop. Fetches js/release.js + js/article-registry.js at runtime, regex-parses both, cross-validates against PAGES manifest. Live articles absent from PAGES = ERROR. Registry sync gaps = WARNING. manifest-integrity check ID registered in renderByCheck(). Playwright confirmed zero new errors.ctx.letterSpacing removedctx.letterSpacing = '0.1em' is an invalid CanvasRenderingContext2D property. Throws TypeError in Safari and strict Chrome, silently crashing the entire inline <script> block — buildNav() and initSidebar() never ran, page was blank. Removed the one invalid line. Also removed ledeGate('now-brutalism', { ledeParas: 2 }) — article now fully open to all visitors. Playwright confirmed clean.tables/members (legacy REST Table API) ≠ Cloudflare D1. membership.js reads D1 only via Worker. Adding to REST table has zero effect on access. Fix: "Add Champion Subscriber" form added to Admin panel. addChampionToD1() calls POST /api/register-member on the Cloudflare Worker directly (writes to D1). Pre-fills date input +1 year._injectShareStrip() IIFE.share-strip before .article-footer on every article page. Three buttons: Copy link (clipboard API), Share on X (Twitter intent URL), native share (navigator.share guard — mobile only). CSS injected once via <style id="share-strip-css">. Playwright confirmed .share-strip selector found on article-now-1.html.stacks.html, bibsac-archive.html, about.html, membership.html, champion.html, contact.html, article-near-israel.html, article-near-israel-2.html, article-no-genocide.html. Each entry carries title, description, canonical image URL, type, slug, and JSON-LD schema. The page-meta.js script tag was also physically injected into stacks.html, membership.html, about.html, and champion.html (previously absent).prebiotic-chemistry key removed'prebiotic-chemistry'. The stub version (lines ~4969–4980: 2 relations, 0 sources) silently overwrote the authoritative definition (~line 2982: 6 relations, 2 sources) at runtime. Stub removed; rich version retained. All other previously-flagged RGP node IDs in article HTML were verified present in the registry — no other missing definitions found.@media blocks in article.css. Breakpoints confirmed: ≤767px (legibility overrides: hero, toolbar, body padding, stat callout, pull quote, nav footer all handled), ≤600px (hedrick commentary, gate, txr-grid collapse), ≤480px (mosaic float label hide), ≤400px (very small phone title/padding floor), tablet 768–1024px. Grid layout: .article-wrap is 1fr 0px by default; .bn-toggle hidden at ≤900px so no left-padding clash. All 94 pages carry correct viewport meta tag. No overflow/layout issues found. Playwright on article-now-1.html: clean (3 expected external 404s only).article-c-1: 3 sections, strong prosecutorial argument about the substitution error in atheist-God debates. article-c-2: structured sections I–III, brain numbers + C.S. Lewis argument from reason. article-c-3: 4 sections, butterfly cipher + mystery-revealed framework. Each article has read-lede, multiple section-head landmarks, prose paragraphs, and a pull-quote. File-size flag was a false positive — content quality is high.no-genocide flipped livearticle-near-israel.html (NEAR·IX) and article-near-israel-2.html (NEAR·X) added to articles.html NEAR track cards, qa-check.html PAGES manifest, page-meta.js registry, and release.js (both status:'live'). RSR video entries renumbered XI/XII/XIII. article-no-genocide.html flipped from 'review' to 'live' and added to OG registry.site.js nav via CHAMP_LIBRARY and TEASER_ITEMS. stacks.html and bibsac-archive.html both now have OG tags via page-meta.js. Homepage teaser card remains a future decision (content call, not technical gap).Both Israel articles (38KB + 41KB) existed but were orphaned — visible only in site-map.html and js/search.js. Added to: articles.html NEAR track (NEAR·IX and NEAR·X cards), qa-check.html manifest, js/page-meta.js PAGES registry with correct OG images (arg-israel-jerusalem-panorama.jpg and arg-israel-map-blood.jpg), js/release.js as status:'live'. Also renumbered the existing RSR/O'Connor video entries (XI, XII, XIII) to avoid collision.
js/release.js status changed from 'review' to 'live' for no-genocide. The article (95KB) was fully written — it was only the release flag preventing public visibility. Also added to js/page-meta.js PAGES registry so OG metadata is correct.
Both files were 388-byte redirects pointing to _archive/openness-debate.html and _archive/rsr-hedrick.html — an _archive/ directory that does not exist. Any visitor following a link (from about.html, article-c-4.html) would hit a 404. Replaced both files with proper placeholder pages: clean dark-themed layouts explaining the content with a back button. rsr-hedrick.html now links directly to the two RSR video articles in the NEAR track.
Card in animations.html linked to butterfly-showcase.html (root level) — file is at visual/butterfly-showcase.html. Corrected href to visual/butterfly-showcase.html.
pipeline-test.html was a publicly accessible dev test file — deleted. rgp-node-test.html was a live RGP node editor exposed at root — moved to admin/rgp-node-test.html where it belongs. Both were P1 security/hygiene items.
Prior audit flagged import { GNIInteractive } from '/interactive/index.js' in article-now-3.html, visual/fine-tuning.html, and interactive/embeds/*.html as "404s in production." Verified: all 13 JS files exist (interactive/index.js, SceneShell.js, CameraController.js, LabelManager.js, InteractionManager.js, PerformanceManager.js, AccessibilityPanel.js, themes.js, types.js, two scene files, two scene data files), all 3 CSS files exist. Absolute paths (/interactive/…) are valid in Cloudflare Pages production. No code changes needed — was a dev-environment false alarm.
Prior audit flagged bio-coherence + bio-sys-01 through bio-sys-12 as missing © 1995–2026 GODISNOWHERE. Grep confirmed all 13 pages already contain the correct footer-copy element. No changes needed.
Full sitewide QA audit dashboard built from qa-results-latest.json (94 pages, 45,922 bytes). Score ring: 41% clean, Grade C+. Sections: error table (8 hard errors, all internal-hrefs), warning breakdown by type and track (103 warnings — 55 div-balance, 47 empty sidebar slots), info table (27 rgp-inline-nodes), per-track severity matrix, 9 prioritised repair cards (R1–R9) with code snippets, executive summary with Sprint 1/2/3 roadmap and score projections. Self-contained, no external dependencies.
12-node constellation canvas was completely black. Root cause: external scripts (js/site.js, js/cell-zoom.js, js/content-strings.js) resolving from root /js/ but failing from /visual/ path. Fix: all JavaScript inlined — fully self-contained. Canvas restored with per-node colours, signal pulse animations, DPR scaling, hover detection, butterfly BG watermark, and touch support.
New sections added: Fine-tuning constants gauges (α, G, Strong Nuclear Force) matching crimson screenshot — CSS horizontal gauges with life zone bracket, death zone overlays, red OBSERVED arrow. Mini butterfly SVG with animated shimmer. Champion membership 6-card grid with 🔒 lock overlays.
5-part open-access article on the Butterfly Effect as theological argument. Personal testimony woven through: (1) drive-through meal note left for the next car; (2) SCIF SPARC 1+ workstation revival; (3) Black Hawk pilot's question at altitude — "If you were to die today, do you know for certain you are heaven-bound?" Sections: sensitive dependence on initial conditions, coherence cascade, the Lorenz attractor as theological frame, Champion CTA for 5 locked continuation parts. Hero canvas with cascade propagation animation.
Commentary track standardised with gold circuit butterfly identity. Previous: plain purple accent (rgba(120,80,150)), no banner, no visual identity. New: full .com-banner identity block — deep pure-black background matching the JPEG's own black, gold circuit board grid overlay, 240px butterfly image with mix-blend-mode:lighten (black bg drops out seamlessly), floating/rotation animation with gold+blue drop-shadow glow. Right panel: eyebrow, title, italic tagline, Editorial/Reflection/Personal Essay chips. Responsive stack on mobile. COM card colours repaleted to gold/deep navy throughout.
Gold circuit butterfly image downloaded — images/butterfly-commentary.png (61KB, downloaded from the retired hosting CDN).
GA4 wired sitewide via js/site.js. Root cause of zero GA data: page-meta.js (which held the real ID) loads on only 13 of 94 pages. The homepage and every major article had either no GA tag or the hardcoded placeholder G-XXXXXXXXXX. Fix: GA4 snippet injected at the top of js/site.js — which loads on all 94 pages — with a window.__ga4_loaded guard to prevent double-firing. Hardcoded placeholder removed from article-no-1.html, article-now-1.html, article-res-1.html, article-res-2.html. Measurement ID: G-M6PEE0BWL8. First data visible in GA4 Realtime within 30 seconds of next deploy.
article-now-butterfly.html was an orphan — existed in the project but linked from only one page (visual/mosaic-now-1.html). Registered sitewide across all 6 required systems:
articles.html— NOW · BUTTERFLY card added to NOW track gridsite-map.html— added between NOW·XI and NOW·XIIIqa-check.html— added to PAGES manifest (track:'now') so it gets auditedjs/search.js— full body copy added (drive-through, SCIF, Black Hawk, coherence keywords)js/page-meta.js— OG/title tags, canonical, Schema.org registeredjs/release.js—status:'live'flag set so membership gate reads it correctly
Edges now guaranteed visible via linkThreeObject custom renderer. Root cause of prior invisibility: WebGL caps gl.lineWidth() at 1px on most GPUs, and the library's internal tube geometry was not rendering reliably. Fix: bypassed the library entirely. Each link now rendered as a custom THREE.Line + LineBasicMaterial at 0.70–0.95 opacity with AdditiveBlending. Strong/medium relation types use two parallel hairlines — additive overlap creates a visible glow effect.
Glow halos tightened: r × 3.2 → r × 1.2 — halo now a crisp corona just beyond the sphere surface, clearing the inter-node corridors so lines show through. Centre opacity raised to 0.55 for a brighter but smaller halo.
Particles boosted: 2–4 per edge (was 1–3), width 2.0–3.0 world units. Moving tracers make connections legible at any zoom level.
Garden Tomb image replaced + slow pan animation added. The prior generated placeholder image is replaced with the actual photograph at godisnowhere.org/images/arg-garden-tomb.jpg. Rendered as a CSS background-image with @keyframes tomb-pan animating background-position 0%→100%→0% over 22 seconds (ease-in-out, infinite) — a slow cinematic left-to-right-to-left pan across the tomb garden scene.
Romans 1:4 tile mosaic block added to Resurrection article. Photo of the actual ceramic sign mounted at the Garden Tomb entrance in Jerusalem — "Jesus Christ declared with power to be the Son of God by the Resurrection from the dead · Romans 1:4". Two-column layout (photo + verse/context), inserted between the Hedrick quote and Section IV (Skeptic Scholars). Styled in Playfair Display italic with Oswald uppercase reference label. Fully responsive.
Visual Mosaic subtitle rewritten. Previous: "Three arguments from physics, biochemistry, and biology. Each one alone is compelling. Together they are conclusive." → New: "Information Science, Radical Sophistication and The Universe formed into a simple yet compelling look at the CODE in Everything. The simple and easy way to get to the truth." Updated in all 4 copies (root, visual/, tools/gs-patches/ × 2).
Nodes: canvas Sprite → real THREE.Mesh spheres. SphereGeometry(r, 32, 24) + MeshStandardMaterial (metalness 0.18, roughness 0.48). Responds to all scene lights for genuine specular highlights and shadow gradients. Initials baked into 256px canvas texture with radial vignette. Photo nodes swap material map asynchronously on image load.
Four-light PBR rig. Warm key light (top-left-front, 3.5 intensity) + cool fill (opposite side, 1.4) + warm rim (back, 1.0) + 5 family-coloured PointLights at cluster centres (0.8 each, 600-unit range). AmbientLight raised to 2.8.
Emissive torus rim ring per node (TorusGeometry, additive blending, family colour) — always-visible edge glow independent of lighting. Soft additive glow Sprite halo behind each sphere.
Edges: invisible → always visible. Root cause: linkWidth(0) + linkColor('rgba(0,0,0,0)') were being set on non-active edges. Fixed: resting state always width 1.2–2.0 + opacity 0.75. On node select, non-neighbours dim to rgba(80,80,100,0.25) — never invisible. All reset paths (background click, btn-reset) restored consistently.
linkDirectionalParticles raised to 2–4 per edge for all relation types.
Batch 10 — 69 new nodes in 10 clusters:
Classic Philosophers: Hume, Kant, Kierkegaard, Pascal, Anselm, Russell, Leibniz, Spinoza, Descartes.
ID Movement: Phillip Johnson, Ann Gauger, Jonathan Wells, Paul Nelson, Jonathan McLatchie.
Consciousness/Mind: Frank Jackson, Mary's Room, Patricia Churchland, Ned Block, Antonio Damasio, Substance Dualism, Nagel-bat.
Historical Jesus depth: Craig Evans, E.P. Sanders, Dale Allison, Raymond Brown, John Meier, Josephus.
Secular depth: Peter Singer, A.C. Grayling, Simon Blackburn, Michael Ruse.
Books: Blind Watchmaker, Pensées, Critique of Pure Reason, Darwin on Trial, Problem of Pain, Surprised by Joy, Brothers Karamazov, Language of God, End of Faith.
Arguments/Concepts: Pascal's Wager, Arg. from Reason, Transcendental Arg., Arg. from Miracles, Arg. from Desire, NOMA, Bayesian Confirmation, Modal Logic, Leap of Faith, Deism, Pantheism, Natural Theology, Cosmological Arg. (general).
Organisations: Faraday Institute, Unbelievable? Podcast, Reasonable Faith, McLean v. Arkansas.
Science-Faith: Polkinghorne extended, Teilhard de Chardin, William James, JP Moreland extended, NT Wright extended.
Misc: Voltaire, Peter Kreeft, John Henry Newman, Atheism, Theism, Agnosticism, Fideism, Karl Barth, Dietrich Bonhoeffer, John Hick, Michael Lynch, Horizontal Gene Transfer.
+28 Wikimedia photos in NODE_IMAGE_MAP. All 5 topic families expanded. Apostrophe parse bug fixed (Van Til label). Duplicate keys cleaned.
Knowledge Graph deep-link widget added to all 56 articles. Each article now has a "Explore in Knowledge Graph" banner before its footer, linking to rgp-graph.html?node=[primary-node-id]. On load the graph auto-flies to and selects the relevant node, opening its detail panel. Consistent design: dark strip with graph icon, node label, and CTA button.
linkColor 8-digit hex bug fixed. return col + 'dd' produced 8-digit hex strings Three.js cannot parse — edges rendered invisible. Fixed: return col + .linkOpacity(0.82).
7-layer photorealistic sphere canvas. 256px canvas per node: (A) halo glow, (B) off-centre radial base gradient, (C) specular highlight top-left, (D) fill light bottom-right, (E) Fresnel rim ring + shadowBlur, (F) Oswald 800 initials, (G) type badge pill. Async Wikimedia photo overlay with vignette shading on load.
Loading hero overlay. CSS radial gradient backdrop + 10-point CSS star shimmer ::before. zoomToFit(800, 120) 1.8s after init.
ACES Filmic tone mapping. THREE.ACESFilmicToneMapping, exposure 1.15, THREE.SRGBColorSpace. 2000-star THREE.Points cloud.
+54 new nodes (165→223). Evolution sophistication (Gould, Eldredge, Conway Morris, Cambrian, OOL, RNA World, Wistar, Denton…), cosmology (BGV, Vilenkin, Guth, Hawking, Penrose, Krauss), philosophy (Dennett, Searle, Chinese Room, Plantinga EAAN, Nagel, Ontological Arg), historical Jesus (Carrier, Dunn, Paul, Crucifixion), books (Mere Christianity, God Delusion, Signature in the Cell, Return of the God Hypothesis…), persons (Lennox, Collins, McGrath, Davies, Dyson, Ayala, Miller, Coyne, Woese, Margulis).
Alex O'Connor cluster (wes-huff, jl-schellenberg, divine-hiddenness, article-no-new-guard). Meyer↔Flew bridge nodes. STUB_STUBS cleaned. All 5 RGP_TOPIC_FAMILIES expanded.
Cosmos background removed — replaced with pure dark THREE.Color(0x07070a).
Sphere size = information density. nodeSize() uses cube-root scaling of direct relationship count, range 4–26px radius. More connections = larger sphere.
Edge thickness = relationship count. .linkWidth() counts bidirectional relation references per edge pair. Proportional thickness 0.6–4.5px, ×1.8 on active ego-graph edges.
Photorealistic node textures. NODE_IMAGE_MAP: 25+ Wikimedia Commons author photos and book covers mapped onto sphere surfaces via THREE.MeshLambertMaterial({ map: tex }). Async loader with Promise cache — material swaps in when photo arrives. Emoji canvas fallback for concept/claim nodes (makeIconTexture): 128×128 canvas per entity type (💬 claim, 📖 book, 🎬 video, 🏛 org, 👤 person, 💡 concept).
How-To modal. "How to Use" button in topbar opens full-screen overlay with 4 sections: Reading the Graph, Navigation Controls, Filters & Search, Research Tray. Visual swatches for sphere sizes and line weights. Closes on ×, footer button, or backdrop click. JS event listeners fully wired.
Agent Operating System established. Based on Anthropic engineering best practices for agentic Claude workflows.
docs/CLAUDE.md — 13-section master instruction file: 14 standing rules, production URL, 7-step per-task workflow, mandatory post-run report with 1–10 self-scoring scale, site priorities, development rules, safety constraints, wordmark rules, key file registry, deploy protocol.
docs/QA_CHECKLIST.md — 3-tier quality gate spec. Tier 1 (always): Playwright console, standing greps, wordmark, footer. Tier 2 (by change type): new page, navigation, content, CSS, JS, library, rgp-graph. Known acceptable failures table.
docs/LEDGER.md — 4 new standing rules. POST-RUN REPORT FORMAT section added. CLAUDE.md reference added.
site-map.html: Added RGP Knowledge Graph — 3D to Dev Tools. Added NEAR·XI (Scofield), NEAR·XII (Starlight & Time), NEAR·XIII (Gaza Narrative) to NEAR section with correct champion-tier badges.
deep-research.html: Added RGP Knowledge Graph — 3D Interactive Network resource entry linking to rgp-graph.html.
Rebuilt as a full 3D force-directed graph using 3d-force-graph (Three.js). The previous Sigma.js 2D flat renderer is replaced entirely.
Features: drag-rotate in 3D space · scroll-zoom · right-drag-pan · animated flow particles on semantic edges (supports/challenges glow green/red) · ego-graph highlighting (non-neighbours fade to near-invisible, active edges light up) · family-seeded cluster positions in 3D · all 101 nodes always visible with proper force separation. Node inspector panel, search, filters, tray integration, URL params, share URL — all preserved.
Previous Sigma work preserved in changelog: TypeErrorroot-cause fix (type: rel.relation → type: 'line'), CDN→local sigma+graphology, visual overhaul, search-overrides-filter, family-clustered seeds, two-phase FA2.
Phrase admin rebuilt with live database persistence. Saves directly to the splash_phrases Table API — no copy-paste required. Edit · toggle active · drag-reorder — all changes auto-save and apply immediately to the live homepage.
index.html splash rotator upgraded: now fetches active phrases from tables/splash_phrases API on each page load, sorting by sort_order. Falls back silently to the hardcoded SPLASH_PHRASES array in content-strings.js if the API is unreachable. No deploy required to change phrases.
Root cause of "admin edits don't work": admin tool was static HTML — it saved to localStorage only, and generated a copy-paste export block. The export was never pasted into content-strings.js. The new tool bypasses this entirely via API.
NEAR·IX (Israel Does Not Exist — Part I: The Theology) and NEAR·X (Part II: The Evidence) added to the champion cards array, between NEAR·VIII and the Scofield article. site-map.html already had both articles in its data — no change needed there.
8 butterfly PNG images downloaded and saved to images/butterflies/ — all RGBA transparent PNG, 200×200px. Colors: gold, blue, cyan, purple, red, green, magenta, white. images/butterfly-gold-full.png replaced with the new gold-200 PNG (previous upload was JPEG, stripping alpha). The gold butterfly is the site-wide favicon and Champion/nav badge across ~120 pages.
Slider thumbs replaced with butterfly images across 14 files. All ::-webkit-slider-thumb and ::-moz-range-thumb rules: removed border-radius:50%, background:#fff, border, box-shadow. Replaced with background: transparent url(butterfly-COLOR-200.png) center/contain no-repeat, size 36×36px. Each bio-sys page gets the color-matched butterfly. Hover = drop-shadow glow in the system accent color. Active = scale(1.28). Color map: DNA→cyan, Epigenetics→purple, Histones→gold, Methylation→green, Sugar Code→red, Enzymes→red, RNA→cyan, Ribozymes→magenta, Error Corr→gold, Differentiation→cyan, Folding→purple, Signaling→blue, article-now-1b→gold, flagellum→gold.
AI emojis removed from all 12 system cards. Replaced with inline SVG icons — each hand-drawn, colored to match the system accent color, 36×36px. Systems: DNA (double helix), Epigenetics (circular arrows), Histones (triple sliders), Methylation (silence/mute), Sugar Code (branching tree), Enzymes (gear), RNA (scissors), Ribozymes (molecule), Error Correction (shield + checkmark), Differentiation (fork tree), Folding (spiral), Signaling (signal arcs). No emoji, no external font dependency.
Hero animation fully rewritten as 3D interactive coherence sphere. Replaces flat 2D orbit ring. Features: true 3D perspective projection (Y + X axis rotation), 12 nodes on a torus ring with depth-based scale, 3D sphere shading (radial gradient + specular highlight per node), back-to-front z-sort for correct depth ordering, all-edges web (adjacent + diameter cross-connections). Interactive: mouse drag to rotate ring, hover tooltip showing system name in accent color, click once = activate + pulse burst ring, click active node = navigate to deep-dive page. Touch support. Tooltip injected as a positioned div overlay. Cursor changes to pointer on node hover.
Sigma process polyfill hardened (3 rounds). Round 1: defines window.process + bare process via Object.defineProperty. Round 2: added try/catch layers, env-type guard, bare-process null-check. Round 3 (May 18 follow-up): added var process = window.process; as a top-level var declaration — this is the critical fix: webpack sigma UMD reads the var-scoped process binding at parse time; Object.defineProperty on window does not reliably create this binding in Edge/Chrome. Also added onerror on sigma CDN tag + unpkg fallback + hard init guards.
Icon image prompt sheet created. 12 detailed AI render prompts — one per bio-coherence system — with global style spec (photorealistic 3D gold metal, transparent PNG, 256×256px, cinematic lighting). Per-system: object description, material, lighting, composition. Target paths: images/icons/sys-01-dna.png through sys-12-signaling.png. When rendered, SVG fallbacks in bio-coherence.html will be swapped for the raster PNGs.
Info pane now sticky on mouse-off. Previously the right-hand node detail panel cleared immediately when the cursor left a node — unreadable. Fix: clearHover() no longer calls clearNodeInfo() or resetWTM(); pulse highlights reset but panel content persists. Panel updates on hover of a new node. Click empty canvas to explicitly dismiss.
Byline and meta description corrected in both files. "D.J. Hedrick" was fabricated — correct name is Daniel K. Hedrick.
SPLASH_PHRASES array replaced with 8 curated phrases per user request. Removed: "One word. Two universes.", "What you see depends on where you stand.", "Fourteen letters.", and 4 others. Added: "All truth is subjective. Is that absolutely true?" and "The ambiguity is not a bug it is a feature."
Worker reachability test now accepts HTTP 404 as well as 405 — both confirm the Worker is live. Previously showed false failure when Worker returned {"error":"Not found"} on GET to root.
Added "Changes Log ↗" quick-link to site-map.html header (top-right), mirroring the existing "← Home" back link.
Root cause: The bio-coherence canvas fired clearHover() on mouseleave — so the moment a user moved their mouse to the right detail panel to read, the panel wiped. Impossible to read any node detail.
Fix: Added lockedNode variable. First click on a node locks the panel (dot turns node color, hint text updates). Moving off the canvas no longer clears a locked panel. Second click on the same node enters zoom. Click on empty canvas releases the lock. Zoom exit also clears lock.
lockedNode = -1 variable alongside hoveredNodeclearHover() now early-returns if lockedNode >= 0exitZoom() sets lockedNode = -1Node → child page links. Each of the 12 nodes now shows a gold "Full Article →" button in the detail panel, linking directly to its bio-sys-XX deep-dive page (opens in new tab). NODE_PAGE[] array maps node index to file path.
const NODE_PAGE = [...] — 12 entries, index matches NODES array_injectDetailChrome(idx) — injects lock hint + deep-link on first call, updates href + label on every call<n.lb> — Full Article →, opens in new tabshowNodeInfo() (hover) and showZoomDetail() (zoom)Cloudflare Web Analytics beacon wired in. Created js/cf-analytics.js — a single-token loader. All public-facing HTML pages (root, bio-sys, visual, interactive, social, rgp-illustrations) now include <script src="…/js/cf-analytics.js">. Admin and tools pages excluded.
Beacon fires once token is set: open dash.cloudflare.com → godisnowhere.org → Analytics → Web Analytics → Add site, copy the token, paste as CF_BEACON_TOKEN in js/cf-analytics.js, deploy.
js/cf-analytics.js — IIFE loader, injects beacon script only when token is not 'REPLACE_ME'Root cause: [email protected] UMD build was compiled by webpack with baked-in process.env.NODE_ENV probes that fire inside the IIFE before any polyfill can be assigned to window.process. Graph stayed stuck at "Initialising renderer…" with TypeError: Cannot read properties of undefined (reading 'process') in sigma.min.js.
Fix: Pinned CDN to [email protected] (last clean UMD build without the webpack polyfill issue). Strengthened the window.process polyfill IIFE to also guard window.global. Added post-load Sigma availability check.
window.process, window.process.env, window.process.env.NODE_ENV, and window.globalif(typeof Sigma === 'undefined') console.error(...)graphology=true | sigma=true | fa2=inline | nodes=101 ✅Multiple bugs diagnosed and fixed. All data tabs were stuck at "Loading…" indefinitely, Chart.js was blocked by Edge Tracking Prevention, and Worker status was invisible on failure.
(1) Path bug: admin/admin.html lives at /admin/admin; calling fetch('tables/page_visits') resolved to /admin/tables/page_visits (404). Fixed with const TABLES_BASE = '../tables' — all fetch calls updated.
(2) Chart.js CDN blocked: cdn.jsdelivr.net is flagged as a tracker by Microsoft Edge Tracking Prevention. Switched to unpkg.com (not flagged).
(3) Infinite hangs: fetchAll() and fetchMembersFromWorker() had no timeouts. Added AbortController with 10s and 8s limits respectively.
(4) Worker status: When the Cloudflare Worker at godisnowhere-email.daniel-k-hedrick.workers.dev is offline, fetchMembersFromWorker() previously returned silently. Now tracks _workerStatus ('ok' | 'down') and injects a status banner in the Subscribers and Members tabs.
const TABLES_BASE = '../tables'; all fetch('tables/...') calls replaced with fetch(\`${TABLES_BASE}/...\`)cdn.jsdelivr.net → unpkg.com/[email protected]/dist/chart.umd.min.jssafeChart(canvasId, config) — wraps new Chart(); renders text-table fallback if Chart.js blocked or throwsnew Chart( calls → safeChart( (pages, inferences, devices, referrers)fetchAll(): AbortController 10s timeout per page; catches abort error gracefullyfetchMembersFromWorker(): AbortController 8s timeout; sets _workerStatus = 'ok' | 'down'renderWorkerStatus(containerId): gold warning banner if Worker offline, green confirmation if onlinemarkRead() + deleteMsg() hardcoded tables/ prefix → ${TABLES_BASE}/tables/${tableName} → ${TABLES_BASE}/${tableName}safeChart() fallback fires cleanly ✅Root cause diagnosed and fixed: 48 <input type="range" class="cs-slider"> elements had full data-sys/metric/default/inverted attributes but the updateSliderTrack() function used getComputedStyle(slider).getPropertyValue('--cs-color') — which returns empty for inline-style custom properties on <input> in Chromium. Additionally, setting .style.background on a range input is overridden by ::-webkit-slider-runnable-track.
Fix: Replaced the broken background gradient approach with a ::before pseudo-element on .cs-slider-wrap driven by --slider-pct / --slider-color CSS custom properties set via wrap.style.setProperty(). Track fill is now reliable cross-browser.
.cs-slider-wrap::before track fill overlay (z-index:0, behind thumb)::-webkit-slider-runnable-track set to background:transparentgetSliderColor() now uses slider.style.getPropertyValue('--cs-color')updateSliderTrack() sets --slider-pct + --slider-color on wrapper elementgetSliderDeg() — degradation 0–100 per slider, accounting for inverted metricsCascade warning system added. When any system degrades below 40% health, a .cs-cascade-warn block slides in on that card with a specific explanation of what fails downstream — cross-system dependencies named explicitly (e.g. Error Correction offline → Eigen's Error Catastrophe → genome degrades in ~40 generations).
.cs-cascade-warn, .warn-visible, @keyframes warn-slide-in.cs-card-status badge — green/warn/critical with pulse animation at critical.cs-card.card-snapback shake animation when crossing critical threshold.banner-warn / .banner-critical with pulsing glowAll 12 bio-sys-*.html pages audited for slider functionality. All are fully wired — each has addEventListener('input', update) on 4 sliders, a live score panel, and contextual consequence text. No action required.
The Plot — Bob Enyart: Added to Deep Research Library
2 filesBride Excerpt Linked in Israel Articles + Plot Source Updated
2 files
Source block updated. Replaced old hosted-CDN PDF link with canonical
media.kgov.com/files/enyart-The-Plot-excerpt-on-the-bride.pdf link.
Added description of the wife/Bride distinction (Israel = divorced wife; Church = Bride of Christ —
distinct entities, neither replacing the other). Both links now present: kgov.com/the-plot + Bride PDF.
New source block added after Section IV (Atheist) panel. Connects the wife/Bride distinction directly to the theological legitimacy argument: the 1948 state has no covenantal standing as either the restored wife (Romans 11 conditions unmet) or the Bride (the Bride is the Church). Bride PDF link + link back to Part I.
changes.html — Append-at-Top Restructure
1 file
Structural pattern change. Sessions now use .session-block wrappers
with a .session-header at the top of each block showing: session date, session label,
and a .session-header-time badge with time to complete.
New sessions are prepended above a clearly marked insertion comment.
Hero subtitle updated to "Sessions appended at top."
Filter chips moved above session blocks (persistent across all sessions).
Hero stats updated: 23 created, 15 modified, 3 bugs, ~760KB.
Old timeline-pill elements preserved for visual dividers between older sessions.
Bug Fix: rgp-graph.html — Graph Never Rendered
1 filegraphology-layout-forceatlas2 UMD bundle (both v0.9.2 and v0.10.3) threw
Cannot read properties of undefined (reading 'process') at parse time —
before the global window.ForceAtlas2 was ever registered. The _fa2
alias therefore resolved to an empty { assign: () => {} } stub.
Result: 0 layout iterations. 101 nodes stacked invisibly at circular seed coordinates.
The graph canvas was present and Sigma loaded; the layout simply never ran.
Three-part fix:
(1) FA2 CDN <script> tag removed entirely.
(2) window.process polyfill added before all CDN scripts:
window.process = window.process || { env: { NODE_ENV: 'production' } }.
(3) Replaced _fa2 alias block with an inline pure-JS
spring/repulsion force-directed layout implementing the same assign(graph, opts)
API — 80 iterations at init, batched RAF iterations on "Run Layout" button.
Playwright diagnostic confirms: fa2=inline | nodes= 101. No JS logic errors.
Graph renders on live site.
NEAR Track · Champion: "Israel Does Not Exist" (Parts I + II)
2 filesPart I: The Theology. First-person Hedrick voice. 8 sections: (I) confession of 20-year Zionistic tendencies, (II) God divorced Israel (Jer 3:8, Hosea 2:2), (III) hen/chickens — He is still calling (Matt 23:37), (IV) Romans 11 cut off / conditional restoration, (V) Luke 21:24 Times of the Gentiles not yet fulfilled + Bob Enyart The Plot Chapters 2–3 reference block, (VI) why Replacement Theology is also wrong, (VII) Scofield as manufactured theology, (VIII) theological verdict panel + Part II companion link. Access: Champion. Track: NEAR · Philosophy & Politics.
Part II: The Evidence. Opens with Netanyahu lede quote (Dec 31 2025: "Christian Zionism facilitated the rise and success of Jewish Zionism"). Section I: three church strikes — Church of Saint Porphyrius (Oct 2023, 18 dead), Holy Family Church (Dec 2023, 2 sniped; Jul 2025, 3 killed), 33+ Palestinian Christians killed. Section II: Rabbi Ovadia Yosef — "Goyim were born only to serve us" verbatim, sourced Jerusalem Post / Haaretz Oct 2010. Section III: Shas in Netanyahu's coalition — Interior Ministry — coalition table. Section IV: Netanyahu as self-described atheist — no theological claim to the land. Section V: Greater Israel Project — Smotrich, Ben Gvir, coalition platform. Section VI: unanswerable argument panel. Section VII: political verdict. Access: Champion. Track: NEAR · Philosophy & Politics.
Navigation Updates for Israel Articles
2 files
+2 <url> entries in the NEAR / Bridge Track group:
article-near-israel.html and article-near-israel-2.html.
Priority 0.85 both, lastmod: 2026-05-17.
+2 Champion cards in the NEAR — Philosophy section:
NEAR·IX — Israel Does Not Exist: The Theology and
NEAR·X — Israel Does Not Exist: The Evidence.
Both IDs added to CHAMP_IDS set: 'near-israel', 'near-israel-2'.
GNI Framework — Task D: JSON Data Export
1 file
Pre-compiled JSON data for the Flagellum Motor scene. 22 PartDef entries across 4 anatomical layers (outer, middle, inner, axle). Exact JSON mirror of flagellum.parts.js — includes _meta block with all fields: id, label, symbol, category, layer, r, angleDeg, shape, tooltip, panelBody, viability, engineeringNote. Use with GNIInteractive.mount({ scene: 'flagellum', dataUrl: '/interactive/scenes/flagellum/parts.json' }) to override data at runtime without redeploying JS. Completes Task D alongside constants.json (25 entries, 21.5 KB) created in the prior session.
GNI Framework — Task E: Sitemap + Site-Map
2 files
+3 <url> entries under a new <!-- INTERACTIVE EMBED PAGES (GNI Framework v1.0) --> comment block, placed before the Visual/Animation Pages group. Priority 0.85 for the directory, 0.80 for each embed. lastmod: 2026-05-17. Pages indexed: interactive/index.html, interactive/embeds/fine-tuning.html, interactive/embeds/flagellum.html.
+3 NEW-badged cards in the Pages & Hubs section, after the fine-tuning-3d card: Interactive Embeds — GNI Framework Directory (interactive/index.html), Interactive Embed · Fine-Tuning Control Room, Interactive Embed · Flagellum Motor Cross-Section. All three searchable via the site-map filter by title, file path, or track key.
GNI Framework — Task A: TypeScript → JS Compilation
13 files
Compiled public API entry point. SCENE_REGISTRY with lazy import() factories for both scenes. GNIInteractive.mount(), .unmount(), .listScenes(), .registerScene(). Exposes window.GNIInteractive global for non-module usage.
Root orchestrator. RAF loop, ResizeObserver, visibilitychange pause, 5 sub-system instantiation (Camera, Labels, Interaction, Performance, A11y), mountScene(), analytics emit() via runtime-checked window.gtag / window.plausible, fallback image on failure.
5 core sub-system modules. InteractionManager: hover/click/keyboard, tooltip + side-panel DOM, viability bar, gni:select CustomEvent. CameraController: pointer/wheel/touch/keyboard, damped lerp, custom matrix math. LabelManager: HTML overlay + SVG connector per-frame projection. PerformanceManager: 60-frame rolling FPS, high→medium→low quality adaptation. AccessibilityPanel: skip link, SR list, ARIA announcer, pause/glow/reset toolbar.
Fine-Tuning scene renderer + data. Canvas 2D BaseScene — 25 constants on 3 concentric rings (radii 140/240/340 px). Ambient ring rotation drift, hover/select glow halos with sine-wave pulse, viability arc overlays, particle field (80/40/0 by quality tier), hitTest() with 6 px slop. constants.data.js: 25 ConstantDef entries with full tooltip/panelBody/viability. constants.json: same data for dataUrl runtime override.
Flagellum Motor scene renderer + data. Canvas 2D BaseScene — cross-sectional motor schematic. Live rotor set (MS-ring, C-ring, rod, export apparatus, filament, hook) rotates at ~0.5 Hz. Hook wobble via sin(rotorAngle × 0.7). Proton particles cross inner membrane. Layer shells as doughnut rings. flagellum.parts.js: 22 PartDef entries across 4 layers with full engineering notes.
Theme constants + empty types stub. themes.js: THEMES map with CSS var objects for gold-cosmic, bio-green, mono; resolveTheme() helper with gold-cosmic fallback. types.js: empty export {} — TypeScript interfaces erase to nothing at runtime.
GNI Framework — Tasks B + C: Article Wiring + Landing Page
3 files
GNI embed inserted. New <section> with id="fine-tuning-viz" (580 px, gold-cosmic theme) added between the existing dial-section and image-section. One <script type="module"> mounts the scene via GNIInteractive.mount(). Fallback image: the 37-dials diagram.
GNI embed inserted. Flagellum Motor Cross-Section embed (540 px, bio-green theme) inserted between section VI ("The Bacterial Flagellum") and section VII heading. Fallback image: images/hero-now-3-atp-synthase.jpg.
GNI Framework landing page / directory. Topbar nav, hero stats (2 scenes, 47 hotspots, 3 themes, 0 build steps). Two scene cards each with live viz preview (520 px height), embed code <pre> block with copy button. Developer notes grid (6 cards). Both scenes mounted on load: fine-tuning (gold-cosmic) + flagellum (bio-green). copyCode(id) uses navigator.clipboard.writeText().
New Visual / Animation Pages
4 filesMaster sortable animation gallery — 30 animation cards across 6 sections, Biology / Astronomy / Featured filter bar, mini canvas preview animations (procedural 2D), live-drawn thumbnails, responsive grid. Serves as the central index for all visual content on the site.
Bacterial Flagellum — Rotary Motor Animation — Canvas animation of the cross-section motor (L/P/MS/C rings, rod, hook, helical filament), proton particle stream around stator, real-time RPM display. Three Goldilocks sliders: Proton Motive Force (50–250 mV), Coupling ratio (1–36 units), Hook stiffness (1–100). Eight component cards detail each structural element. Argument-from-design section with ID irreducible complexity framing.
37 Constants — Universe Fine-Tuning Simulation — Canvas animation of an expanding particle universe that collapses (turns red / contracts) when any dial is pulled out of its viable range. Grid of 37 interactive dials, each mapped to a real physical constant. Preset buttons: Reset, Perturb One, Chaos Mode. Hero cycles through 4 dial-image variants with a gold flash crossfader, HUD pips, hover-pause, and window.heroGoTo() API.
Fine-Tuning Control Room — Three.js WebGL Scene — Full 3D interactive scene built with Three.js r160 (importmap, no bundler). 25 constants on 3 concentric orbital rings with procedural dial geometry (torus bezel, circle face, 12 tick marks, animated needle). 1,800-star starfield, 600 gold ambient particles, 4 pulsing ring halos, central orb. HTML label overlay via camera projection. Hover tooltips, click → side panel with viability bar. Orbit camera (OrbitControls), raycasting, keyboard nav (Tab/Arrow/R/Space/Esc), category filter, pause + glow toggles. WebGL fallback with link to 2D version. prefers-reduced-motion + visibilitychange support.
Modified Existing Pages
1 file
Fixed 5 placeholder image IDs — The coherence showcase page had 4 distinct placeholder IDs that were replaced with the correct uploaded image URLs (later localized to images/):
hero background (dBEpbZds), ATP Synthase rotating (I60fGXQc), Kinesin walker (rO2f6avG), ATP Synthase cross-section (kyJuIpdL), and proof-section repeat of hero (dBEpbZds).
Hero subtitle text updated — The .sh-sub tagline was changed:
"…Follow the evidence wherever it may lead."
"…Now is the time to know."
Navigation & Site Structure
4 files
Added 22+ new <url> entries — All new visual pages, bio-sys-* pages (12 entries), bio-coherence hub, mosaic pages, and the animation gallery added with appropriate priority weights (0.80–0.88). Also includes visual/fine-tuning-3d.html.
Added 17+ new page cards to the Pages & Hubs SECTIONS array — Animation Gallery, The 12 Systems Showcase, Bacterial Flagellum, 37 Constants Fine-Tuning, Fine-Tuning 3D, Bio-Coherence Hub, and all 12 bio-sys-*.html pages.
Fixed broken mosaic-no-2.html reference — The MOSAIC_MAP lookup contained a link to a page that doesn't exist, causing a dead navigation node. Entry removed and commented. Two new entries added: now-2 → visual/fine-tuning.html, now-1b → visual/coherence-12.html.
Updated node-to-href navigation map — Argument graph nodes for fine-tuning, flagellum, irreducible-complexity, michael-behe, molecular-machines, and cosmological-constant now point to the correct new visual pages instead of stale or generic targets.
Bug Fixes
2 fixesWrong:
l7ulUKbJ → LBVthM81 → Y4Xbinw3 → 07LXlfdJFixed:
wPqULKvR → ihUuACAW → lLQquDh8 → 6NcsDdKU9 occurrences replaced across 3 code sections (hero divs, img tags, JS preload array).
MOSAIC_MAP['no-2'] pointed to mosaic-no-2.html which does not exist, causing a 404 when the graph node was clicked.Fix: Entry removed from map and replaced with comment noting the page is not yet built. The
now-2 node was re-routed to visual/fine-tuning.html as a relevant destination.