(function(){ window.HPX = window.HPX || {}; window.HPX['knowledge-graph'] = function(el){ const U = window.HPX._u; const k = U.canvas(el), ctx = k.ctx; const pal = U.palette(el); const tx = U.text(el, '#e7e7ef'); const labels = ['AI','ML','LLM','Graph','Node','Edge','Claude','GPT','RAG','Vector', 'Embed','Neural','Agent','Tool','Memory','Logic','Data','Train','Infer','Token', 'Prompt','Chain','Plan','Skill','Cloud','Edge','GPU','Code','Task','Flow']; const N = 28; const nodes = Array.from({length:N}, (_,i) => ({ x: U.rand(40, 300), y: U.rand(40, 200), vx: 0, vy: 0, label: labels[i%labels.length], c: pal[i%pal.length] })); const edges = []; const made = new Set(); while (edges.length < 50){ const a = (Math.random()*N)|0, b = (Math.random()*N)|0; if (a===b) continue; const key = a { // physics for (let i=0;i