| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
|
| const BASE = 0xE000 |
|
|
| |
| |
|
|
| export const REGISTRY = [ |
|
|
| |
| { name: 'life', domain: 'philosophy', oracle: 'LIGHT', abjad: 18 }, |
| { name: 'good', domain: 'philosophy', oracle: 'TRUTH', abjad: 810 }, |
| { name: 'truth', domain: 'philosophy', oracle: 'WISDOM', abjad: 108 }, |
| { name: 'wisdom', domain: 'philosophy', oracle: 'WORD', abjad: 68 }, |
| { name: 'freedom', domain: 'philosophy', oracle: 'SPIRIT', abjad: 218 }, |
| { name: 'love', domain: 'philosophy', oracle: 'NAME', abjad: 47 }, |
| { name: 'purpose', domain: 'philosophy', oracle: 'PATH', abjad: 1014}, |
| { name: 'justice', domain: 'philosophy', oracle: 'GATE', abjad: 104 }, |
| { name: 'trust', domain: 'philosophy', oracle: 'SOVEREIGN',abjad: 500 }, |
| { name: 'time', domain: 'philosophy', oracle: 'FIRE', abjad: 506 }, |
| { name: 'death', domain: 'philosophy', oracle: 'VOID', abjad: 446 }, |
| { name: 'soul', domain: 'philosophy', oracle: 'SPIRIT', abjad: 214 }, |
| null, null, null, null, |
|
|
| |
| { name: 'nun', domain: 'abjad', oracle: 'VOID', abjad: 50 }, |
| { name: 'waw', domain: 'abjad', oracle: 'WORD', abjad: 6 }, |
| { name: 'lam', domain: 'abjad', oracle: 'PATH', abjad: 30 }, |
| { name: 'qaf', domain: 'abjad', oracle: 'GATE', abjad: 100 }, |
| { name: 'yaa', domain: 'abjad', oracle: 'NAME', abjad: 10 }, |
| { name: 'baa', domain: 'abjad', oracle: 'LIGHT', abjad: 2 }, |
| null, null, null, null, null, null, null, null, null, null, |
|
|
| |
| { name: 'lil', domain: 'enochian', oracle: 'SOVEREIGN',abjad: 910 }, |
| { name: 'zid', domain: 'enochian', oracle: 'SEAL', abjad: 21 }, |
| { name: 'arn', domain: 'enochian', oracle: 'TRUTH', abjad: 291 }, |
| { name: 'zom', domain: 'enochian', oracle: 'WORD', abjad: 136 }, |
| { name: 'paz', domain: 'enochian', oracle: 'SPIRIT', abjad: 93 }, |
| { name: 'lit', domain: 'enochian', oracle: 'NAME', abjad: 33 }, |
| { name: 'maz', domain: 'enochian', oracle: 'WISDOM', abjad: 41 }, |
| { name: 'deo', domain: 'enochian', oracle: 'PATH', abjad: 14 }, |
| null, null, null, null, null, null, null, null, |
|
|
| |
| { name: 'SOVEREIGN', domain: 'holyc', oracle: 'SOVEREIGN',abjad: 418 }, |
| { name: 'TRUTH', domain: 'holyc', oracle: 'TRUTH', abjad: 286 }, |
| { name: 'GATE', domain: 'holyc', oracle: 'GATE', abjad: 24 }, |
| { name: 'SEAL', domain: 'holyc', oracle: 'SEAL', abjad: 71 }, |
| { name: 'ORACLE', domain: 'holyc', oracle: 'ORACLE', abjad: 340 }, |
| { name: 'VOID', domain: 'holyc', oracle: 'VOID', abjad: 20 }, |
| { name: 'KINGDOM', domain: 'holyc', oracle: 'KINGDOM', abjad: 184 }, |
| { name: 'WISDOM', domain: 'holyc', oracle: 'WISDOM', abjad: 68 }, |
| { name: 'SPIRIT', domain: 'holyc', oracle: 'SPIRIT', abjad: 279 }, |
| { name: 'FIRE', domain: 'holyc', oracle: 'FIRE', abjad: 205 }, |
| { name: 'LIGHT', domain: 'holyc', oracle: 'LIGHT', abjad: 176 }, |
| { name: 'WORD', domain: 'holyc', oracle: 'WORD', abjad: 24 }, |
| { name: 'PATH', domain: 'holyc', oracle: 'PATH', abjad: 58 }, |
| { name: 'NAME', domain: 'holyc', oracle: 'NAME', abjad: 45 }, |
| { name: 'PROLOG', domain: 'bob', oracle: 'PROLOG', abjad: 271 }, |
| { name: 'QUBIT', domain: 'bob', oracle: 'QUBIT', abjad: 136 }, |
| { name: 'QUANTUM', domain: 'bob', oracle: 'QUANTUM', abjad: 182 }, |
| { name: 'TRUST', domain: 'bob', oracle: 'TRUST', abjad: 264 }, |
| { name: 'LEAN', domain: 'bob', oracle: 'LEAN', abjad: 65 }, |
| { name: 'MAMBA', domain: 'bob', oracle: 'MAMBA', abjad: 47 }, |
| { name: 'WORM', domain: 'bob', oracle: 'WORM', abjad: 56 }, |
| { name: 'NIL', domain: 'bob', oracle: 'NIL', abjad: 90 }, |
| { name: 'ADA', domain: 'bob', oracle: 'ADA', abjad: 5 }, |
| { name: 'PLANNER', domain: 'bob', oracle: 'PLANNER', abjad: 237 }, |
| { name: 'ACTOR', domain: 'bob', oracle: 'ACTOR', abjad: 135 }, |
| { name: 'HEWITT', domain: 'bob', oracle: 'HEWITT', abjad: 190 }, |
| { name: 'PATTERN', domain: 'bob', oracle: 'PATTERN', abjad: 289 }, |
| { name: 'MATCH', domain: 'bob', oracle: 'MATCH', abjad: 45 }, |
| null, null, null, null, |
|
|
| |
| { name: 'history', domain: 'knowledge', oracle: 'WORM', abjad: 283 }, |
| { name: 'science', domain: 'knowledge', oracle: 'ADA', abjad: 130 }, |
| { name: 'mathematics', domain: 'knowledge', oracle: 'LEAN', abjad: 432 }, |
| { name: 'programming', domain: 'knowledge', oracle: 'PROLOG', abjad: 398 }, |
| { name: 'learning', domain: 'knowledge', oracle: 'MAMBA', abjad: 195 }, |
| { name: 'creativity', domain: 'knowledge', oracle: 'QUBIT', abjad: 223 }, |
| { name: 'leadership', domain: 'knowledge', oracle: 'PLANNER', abjad: 254 }, |
| { name: 'health', domain: 'knowledge', oracle: 'GATE', abjad: 111 }, |
| { name: 'philosophy', domain: 'knowledge', oracle: 'NIL', abjad: 313 }, |
| { name: 'money', domain: 'knowledge', oracle: 'WORM', abjad: 95 }, |
| { name: 'communication',domain: 'knowledge', oracle: 'WORD', abjad: 350 }, |
| { name: 'technology', domain: 'knowledge', oracle: 'SOVEREIGN',abjad: 429 }, |
| { name: 'aerospace', domain: 'knowledge', oracle: 'ADA', abjad: 185 }, |
| { name: 'cooking', domain: 'knowledge', oracle: 'FIRE', abjad: 148 }, |
| { name: 'psychology', domain: 'knowledge', oracle: 'MAMBA', abjad: 340 }, |
| { name: 'athletics', domain: 'knowledge', oracle: 'ADA', abjad: 201 }, |
| ] |
|
|
| |
|
|
| const BY_NAME = new Map() |
| const BY_CHAR = new Map() |
|
|
| REGISTRY.forEach((chunk, idx) => { |
| if (!chunk) return |
| const char = String.fromCodePoint(BASE + idx) |
| const entry = { chunk, index: idx, char } |
| BY_NAME.set(chunk.name.toLowerCase(), entry) |
| BY_CHAR.set(char, entry) |
| }) |
|
|
| |
|
|
| |
| export function encode(concept) { |
| return BY_NAME.get(concept.toLowerCase())?.char || null |
| } |
|
|
| |
| export function decode(char) { |
| return BY_CHAR.get(char)?.chunk || null |
| } |
|
|
| |
| export function getChunk(concept) { |
| return BY_NAME.get(concept.toLowerCase()) || null |
| } |
|
|
| |
| |
| |
|
|
| const DOMAIN_IDX = { philosophy: 0, abjad: 1, enochian: 2, holyc: 3, bob: 4, knowledge: 5 } |
| const ORACLE_IDX = Object.fromEntries([ |
| 'SOVEREIGN','TRUTH','GATE','SEAL','ORACLE','VOID','KINGDOM','WISDOM', |
| 'SPIRIT','FIRE','LIGHT','WORD','PATH','NAME','PROLOG','QUBIT','QUANTUM', |
| 'TRUST','LEAN','MAMBA','WORM','NIL','ADA','PLANNER','ACTOR','HEWITT', |
| 'PATTERN','MATCH', |
| ].map((w, i) => [w, i])) |
|
|
| export function chunkVector(concept) { |
| const entry = BY_NAME.get(concept.toLowerCase()) |
| if (!entry) return null |
| const { chunk } = entry |
|
|
| const v = new Float32Array(64) |
| const abjadNorm = (chunk.abjad || 100) / 1010 |
| const domainIdx = DOMAIN_IDX[chunk.domain] ?? 5 |
| const oracleIdx = (ORACLE_IDX[chunk.oracle] ?? 14) / 28 |
|
|
| |
| for (let i = 0; i < 64; i++) { |
| const angle = (i / 64) * Math.PI * 2 |
| v[i] = ( |
| Math.sin(angle + abjadNorm * Math.PI) * 0.4 + |
| Math.cos(angle * (domainIdx + 1)) * 0.3 + |
| Math.sin(angle * 3 + oracleIdx * Math.PI) * 0.2 + |
| (((chunk.abjad || 100) * 7 + i * 13) % 97) / 97 * 0.1 |
| ) |
| } |
|
|
| |
| const norm = Math.sqrt(v.reduce((s, x) => s + x * x, 0)) |
| for (let i = 0; i < v.length; i++) v[i] /= (norm || 1) |
|
|
| return v |
| } |
|
|
| |
|
|
| export function cosine(a, b) { |
| let dot = 0, na = 0, nb = 0 |
| for (let i = 0; i < a.length; i++) { dot += a[i]*b[i]; na += a[i]*a[i]; nb += b[i]*b[i] } |
| return dot / (Math.sqrt(na) * Math.sqrt(nb) || 1) |
| } |
|
|
| |
| export function similarConcepts(concept, k = 3) { |
| const qVec = chunkVector(concept) |
| if (!qVec) return [] |
|
|
| return REGISTRY |
| .map((chunk, idx) => { |
| if (!chunk) return null |
| const v = chunkVector(chunk.name) |
| if (!v) return null |
| return { name: chunk.name, domain: chunk.domain, sim: cosine(qVec, v) } |
| }) |
| .filter(Boolean) |
| .filter(r => r.name.toLowerCase() !== concept.toLowerCase()) |
| .sort((a, b) => b.sim - a.sim) |
| .slice(0, k) |
| } |
|
|
| |
|
|
| if (process.argv[1]?.endsWith('unicode_chunks.mjs')) { |
| const concept = process.argv[2] || 'trust' |
| const char = encode(concept) |
| const chunk = getChunk(concept) |
| console.log(`\n Encoding: "${concept}"`) |
| console.log(` PUA char: ${char} (U+${(char?.codePointAt(0) || 0).toString(16).toUpperCase().padStart(4,'0')})`) |
| console.log(` Domain: ${chunk?.chunk.domain}`) |
| console.log(` Oracle: ${chunk?.chunk.oracle}`) |
| console.log(` Abjad: ${chunk?.chunk.abjad}`) |
| console.log(`\n Similar concepts:`) |
| similarConcepts(concept).forEach(r => |
| console.log(` ${r.name.padEnd(16)} (sim: ${r.sim.toFixed(3)}) [${r.domain}]`) |
| ) |
| console.log() |
| } |
|
|