1import"./transform-5-yBcI5s.js";import{l as M}from"./linear-D4ItRTfQ.js";import{o as R}from"./ordinal-B-SEvE7q.js";import{s as Y}from"./select-Bb0xHksB.js";import{j as C}from"./json-BE1jc2-Q.js";import{u as D}from"./uniform-CQuiuiNZ.js";import{c as F}from"./category10-D7Iw8EHd.js";import"./init-Dmth1JHB.js";import"./defaultSource-BdWLI0gj.js";import"./colors-Cc3OSVma.js";const r={square_size:.9,layer_ratio:.7,radius:2,interval:10,n_layers:8},q=600,x=200,n=q/r.n_layers;let f=n*r.square_size;const B=R(F);async function $(I,H){const h=Y(I).append("svg").attr("preserveAspectRatio","xMinYMin meet").attr("viewBox",[0,0,q,x]),o=await C("assets/eagle/sota/inputs.json"),g=o.points.length,k=o.edges,b=o.colors_in,u=o.colors_out;function N(t){const s=h.append("g").attr("transform","translate("+t*n+" ,0)");t===0||t===r.n_layers-1?f=n*r.square_size:f=n*r.square_size*r.layer_ratio;const d=(n-f)/2,a=(x-f)/2,_=M().domain([0,1]).range([d,d+f]),m=M().domain([0,1]).range([a,a+f]);for(var c=0;c<o.points.length;c++)for(var y=c+1;y<o.points.length;y++)k[c][y]===1&&s.append("line").attr("class","edge").attr("id","edge_"+c+"_"+y).attr("x1",_(o.points[c][0])).attr("y1",m(o.points[c][1])).attr("x2",_(o.points[y][0])).attr("y2",m(o.points[y][1])).attr("stroke","black").attr("stroke-width",1).attr("visibility","hidden");return s.selectAll(".background").data(o.points).enter().append("circle").attr("class","background").attr("cx",i=>_(i[0])).attr("cy",i=>m(i[1])).attr("r",r.radius).attr("fill","white"),s.selectAll(".node").data(o.points).enter().append("circle").attr("class","node").attr("id",(i,e)=>"node_"+e).attr("cx",i=>_(i[0])).attr("cy",i=>m(i[1])).attr("r",r.radius).attr("fill",(i,e)=>t===0?"rgb("+b[e][0]+","+b[e][1]+","+b[e][2]+")":t===r.n_layers-1?"rgb("+u[e][0]+","+u[e][1]+","+u[e][2]+")":B(t)).attr("opacity",(i,e)=>t===0||t===r.n_layers-1?1:D(.4,1)()).attr("visibility","hidden").attr("fallback_color",(i,e)=>t===0?"rgb("+b[e][0]+","+b[e][1]+","+b[e][2]+")":t===r.n_layers-1?"rgb("+u[e][0]+","+u[e][1]+","+u[e][2]+")":B(t)),s}let p=[];for(var A=0;A<=r.n_layers;A++)p.push(N(A));p[0].selectAll(".node").attr("visibility","visible"),p[0].selectAll(".edge").attr("visibility","visible");let l=0,v=0;const S=h.append("line").attr("x1",0).attr("y1",0).attr("x2",0).attr("y2",0).attr("stroke","black").attr("stroke-width",1).attr("stroke-dasharray","5,5").attr("opacity",1);for(let t=0;t<r.n_layers;t++)t===0?h.append("text").attr("x",n*t+n/2).attr("y",x/2+f/2+30).attr("text-anchor","middle").attr("dominant-baseline","middle").attr("font-size","1rem").text("Input"):t===r.n_layers-1?h.append("text").attr("x",n*t+n/2).attr("y",x/2+f/2+30).attr("text-anchor","middle").attr("dominant-baseline","middle").attr("font-size","1rem").text("Output"):h.append("text").attr("x",n*t+n/2).attr("y",x/2+f/2+20).attr("text-anchor","middle").attr("dominant-baseline","middle").attr("font-size","1rem").text("GNN "+t);function z(t,s){const d=p[t];d.selectAll("#node_"+s).attr("fill",d.select("#node_"+s).attr("fallback_color"));for(var a=0;a<g;a++)k[s][a]===1&&d.select("#edge_"+Math.min(s,a)+"_"+Math.max(s,a)).attr("stroke","black").attr("stroke-width",1).attr("stroke-opacity",1)}function E(t){const s=p[t],d=p[t+1];l>0&&z(t,l-1),s.selectAll("#node_"+l).attr("fill","red"),d.selectAll("#node_"+l).attr("visibility","visible");for(var a=0;a<g;a++)if(k[l][a]===1){var _=Math.min(l,a),m=Math.max(l,a);s.select("#edge_"+_+"_"+m).attr("stroke","red").attr("stroke-width",4).attr("stroke-opacity",1),d.selectAll("#node_"+a).attr("visibility")==="visible"&&d.select("#edge_"+_+"_"+m).attr("visibility","visible")}var c=s.select("#node_"+l).node().getBBox(),y=d.select("#node_"+l).node().getBBox(),i=c.x+c.width/2,e=c.y+c.height/2,L=y.x+y.width/2,O=y.y+y.height/2;S.attr("x1",i+t*n).attr("y1",e).attr("x2",L+(t+1)*n).attr("y2",O),l+=1}function G(){if(E(v),l===g){if(z(v,l-1),l=0,v+=1,v===r.n_layers-1){v=0;for(var t=1;t<r.n_layers;t++)p[t].selectAll(".node").attr("visibility","hidden"),p[t].selectAll(".edge").attr("visibility","hidden")}p[v+1].selectAll(".node").attr("visibility","hidden"),p[v+1].selectAll(".edge").attr("visibility","hidden")}}let w;return{steps:[],onSlideEnter:()=>{clearInterval(w),w=setInterval(G,r.interval)},onSlideLeave:()=>{clearInterval(w)}}}export{$ as create};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.