import sys content = r''' function renderVitals(){const m=runtimeMetrics();const rows=[['Tick',m.tick??'—'],['Feuerrate',fmt(m.firing,' Hz',1)],['Target Hz',fmt(m.targetHz,' Hz',0)],['Achieved Hz',fmt(m.achievedHz,' Hz',1)],['Energie',fmt(m.energy,'',3)],['CPU',fmt(m.cpu,' %',0)],['RAM',fmt(m.memory,' %',0)],['Temperatur',fmt(m.temp,' °C',1)],['Fan',fmt(m.fan,' rpm',0)],['Disk',fmt(m.disk,' %',0)]];document.getElementById('wesen-vitals').innerHTML=rows.map(function(r){return '
'+r[0]+''+esc(r[1])+'
';}).join('');document.getElementById('wesen-recurrence-value').textContent=m.recurrence===null?'—':m.recurrence.toFixed(2);if(m.recurrence!==null){state.recurrence.push(m.recurrence);if(state.recurrence.length>100)state.recurrence.shift();}drawRecurrence();} function drawRecurrence(){const svg=document.getElementById('wesen-recurrence-chart');const values=state.recurrence;if(!values.length){svg.innerHTML='keine Messwerte';return;}const pts=values.map(function(v,i){return (i/Math.max(1,values.length-1)*240)+','+(52-clamp(v)*46);}).join(' ');const parts=pts.split(' ');const last=parts[parts.length-1].split(',');svg.innerHTML='';} function selectedNode(nodes){return nodes.find(function(n){return n.id===state.selected;})||nodes[0];} function renderInspector(nodes){const node=selectedNode(nodes);state.selected=node.id;const m=runtimeMetrics();const root=document.getElementById('wesen-inspector');const rows=node.source?Object.entries(node.source).filter(function(e){return ['string','number','boolean'].includes(typeof e[1]);}).slice(0,7):[];const generic=node.id==='kern'?[['Feuerrate',fmt(m.firing,' Hz',1)],['Tick',m.tick??'—']]:node.id==='innenzustand'?[['Regulation',m.regulation],['CPU',fmt(m.cpu,' %',0)],['Temperatur',fmt(m.temp,' °C',1)]]:node.id==='rueckkopplung'?[['Recurrence',m.recurrence===null?'—':m.recurrence.toFixed(2)],['Latenz',fmt(m.latency,' ms',1)]]:[['Status',nodeValue(node)],['Typ',node.kind]];const data=rows.length?rows:generic;document.getElementById('wesen-inspector-status').textContent=node.placeholder?'unbekannt':'beobachtet';root.innerHTML='
'+esc(node.icon)+'
'+esc(node.label)+''+esc(node.kind)+'
'+data.map(function(r){return '
'+esc(r[0])+''+esc(r[1])+'
';}).join('')+'

OBSERVED/UNKNOWN: keine erfundenen Ersatzwerte. Darstellung ist Visualisierung, keine Bewusstseinsmessung.

';} function renderConnections(){const root=document.getElementById('wesen-connections');const items=wesenConnectionArray();if(!items.length){root.innerHTML='

Keine realen Verbindungen gemeldet.

';return;}root.innerHTML=items.slice(0,14).map(function(item,index){const status=text(item,['status','state','available','connected'],'beobachtet');const kind=classifyConnection(item);return '';}).join('');} function renderHistory(){const root=document.getElementById('wesen-morphology-history');root.innerHTML=state.morphologyHistory.length?state.morphologyHistory.map(function(h){return '
'+h.count+' Knoten
';}).join(''):'

Noch keine Änderung der Körpergrenze.

';} function pushEvent(type,label,detail){state.history.unshift({time:new Date().toLocaleTimeString('de-DE',{hour12:false}),type:type,label:label,detail:detail});if(state.history.length>40)state.history.length=40;} function snapshot(){const m=runtimeMetrics();return{recurrence:m.recurrence,latency:m.latency,cpu:m.cpu,temp:m.temp,regulation:m.regulation,connections:wesenConnectionArray().length};} function recordEvents(){const next=snapshot(),prev=state.lastSnapshot;state.lastSnapshot=next;if(!prev)return;const changed=function(a,b,t){return a!==null&&b!==null&&Math.abs(a-b)>t;};if(changed(next.recurrence,prev.recurrence,0.01))pushEvent('feedback','Rückkopplung verändert',(prev.recurrence?.toFixed(2)||'?')+' → '+(next.recurrence?.toFixed(2)||'?'));if(changed(next.latency,prev.latency,0.5))pushEvent('feedback','Loop-Latenz verändert',(prev.latency?.toFixed(1)||'?')+' → '+(next.latency?.toFixed(1)||'?')+' ms');if(changed(next.cpu,prev.cpu,3))pushEvent('system','CPU-Belastung verändert',(prev.cpu?.toFixed(0)||'?')+' → '+(next.cpu?.toFixed(0)||'?')+' %');if(changed(next.temp,prev.temp,1))pushEvent('system','Temperatur verändert',(prev.temp?.toFixed(1)||'?')+' → '+(next.temp?.toFixed(1)||'?')+' °C');if(next.connections!==prev.connections)pushEvent('structure','Körpergrenze verändert',prev.connections+' → '+next.connections+' Verbindungen');if(next.regulation!==prev.regulation)pushEvent('system','Regulation verändert',prev.regulation+' → '+next.regulation);renderEvents();} function renderEvents(){const root=document.getElementById('wesen-events');const events=state.history.filter(function(e){return state.filter==='all'||e.type===state.filter;}).slice(0,20);root.innerHTML=events.length?events.map(function(e){return '';}).join(''):'

Noch keine Zustandsänderung im Beobachtungsfenster.

';} function updateLive(error){const label=document.getElementById('wesen-live-label'),dot=document.querySelector('.wesen-live-dot');if(error){label.textContent='Telemetrie nicht erreichbar';dot.dataset.state='critical';return;}const runtime=text(state.status||{},['state','runtime.state','status'],'verbunden');label.textContent=runtime;dot.dataset.state=statusClass(runtime);} ''' with open(sys.argv[1], 'a', encoding='utf-8') as f: f.write(content) print("Appended successfully")