const D = eda.pcb_Drc || eda.pcb_Document; let cur = null; try { cur = await eda.pcb_Drc.getCurrentRuleConfiguration(); } catch(e){ return {err:String(e).slice(0,200)}; } const c = cur.config || cur; const SS = c['Spacing']['Safe Spacing']; const out = {name: cur.name, keys: Object.keys(SS)}; const k0 = Object.keys(SS)[0]; const e = SS[k0]; out.entryKeys = Object.keys(e); const tk = Object.keys(e.tables)[0]; const t = e.tables[tk]; out.tableKeys = Object.keys(t); const ct = t.content; out.rows = ct.length; out.rowLens = ct.map(r=>r.length).slice(0,20); out.content = ct.map(r=>r.map(v=>typeof v==='number'? v : String(v).slice(0,12))); if (t.header) out.header = t.header; if (t.rowHeader) out.rowHeader = t.rowHeader; return out;