#!/usr/bin/env node // // gen-crossings — write a self-contained HTML page showing the "crossings" (the // 26 Human Design activations) AND the midpoint matrix for a birth moment, with // a "Show midpoints" toggle. The chart is pre-computed here and inlined as JSON, // so the page opens straight from disk with no server and no build step. // // Default birth: 1992-12-09 00:35 Europe/Brussels (Hasselt) — the golden // reference chart in test/reference-charts.test.js. // // Usage: // node scripts/gen-crossings.js // node scripts/gen-crossings.js --date 1990-04-16 --time 05:35 --tz Europe/Brussels --out scripts/crossings.html const fs = require('fs'); const path = require('path'); const { computeChart } = require('../src/chart'); function parseArgs(argv) { const out = {}; const a = argv.slice(2); for (let i = 0; i < a.length; i += 1) { if (!a[i].startsWith('--')) continue; const key = a[i].slice(2); const next = a[i + 1]; if (next === undefined || next.startsWith('--')) out[key] = true; else { out[key] = next; i += 1; } } return out; } function renderHtml(chart, label) { const json = JSON.stringify(chart); return ` Crossings & midpoints — ${label}

Crossings & midpoints

— the ${'26×26'} matrix of shorter-arc midpoints between every crossing.

Crossings — 26 activations

BodyPersonalityP long°DesignD long°

Midpoint matrix

Each cell is the Gene Key gate.line of the midpoint of its row & column crossing (shorter arc on the ecliptic). Hover a cell to highlight it.

`; } function main() { const args = parseArgs(process.argv); const birthdate = typeof args.date === 'string' ? args.date : '1992-12-09'; const birthtime = typeof args.time === 'string' ? args.time : '00:35'; const timezone = typeof args.tz === 'string' ? args.tz : 'Europe/Brussels'; const outFile = typeof args.out === 'string' ? args.out : path.join(__dirname, 'crossings-hasselt.html'); const chart = computeChart({ birthdate, birthtime, timezone, midpoints: true }); const label = `${birthdate} ${birthtime} ${timezone}`; fs.writeFileSync(outFile, renderHtml(chart, label)); console.log(`Wrote ${outFile}`); console.log(` ${label} · ${chart.humanDesign.type} · ${chart.humanDesign.profile} · ${chart.humanDesign.midpoints._meta.pairCount} midpoint pairs`); } main();