memoscan
← all memos

Memo 0x4d8c7af2…17e8f3 on Ethereum

function exportSVG(t,e){let r=createWriter("Marfa_Yucca_"+tokenData.tokenId+".svg");if(r.write(svgBeginDocument(t/100,e/100)),r.write(svgBeginGroup("MainLayer")),r.write(svgBeginGroup("background",cc[0],"noStroke")),r.write(svgPolygon([pv(0,0),pv(worldSpaceDims[0],0),pv(worldSpaceDims[0],worldSpaceDims[1]),pv(0,worldSpaceDims[1])])),r.write(svgEndGroup()),flowerPower&&1===artistStyle){r.write(svgBeginGroup("FrankeSquares"));for(let t=0;t<3;t++)r.write(svgBeginGroup("Squares_"+t,"noFill",franke[t],worldSpaceDims[0]/grid[0]/20*.09)),frankeSquares[t].forEach(t=>{r.write(svgPolygon(t))}),r.write(svgEndGroup());r.write(svgEndGroup())}r.write(svgBeginGroup("BoxFills")),rooms.forEach((t,e)=>{r.write(svgBeginGroup("BoxFill_"+e,cc[3],"noStroke")),r.write(svgPolygon(t.makeFillPoints())),r.write(svgEndGroup())}),r.write(svgEndGroup()),r.write(svgBeginGroup("Back of Boxes")),rooms.forEach((t,e)=>{r.write(svgBeginGroup("Lines_"+e,"noFill",cc[2],t.strokeBase)),flowerPower&&0===artistStyle?t.flowerPowerPts[0].forEach(t=>{r.write(svgCurve([t[0],t[1]]))}):(r.write(svgPolygon(t.boxBack)),r.write(svgCurve([t.boxBack[2],t.boxFront[2]],"noFill",cc[2],t.strokeBase,"round")),r.write(svgCurve([t.boxBack[3],t.boxFront[3]],"noFill",cc[2],t.strokeBase,"round")),t.offset[0]>0?r.write(svgCurve([t.boxBack[0],t.boxFront[0]],"noFill",cc[2],t.strokeBase,"round")):r.write(svgCurve([t.boxBack[1],t.boxFront[1]],"noFill",cc[2],t.strokeBase,"round"))),r.write(svgEndGroup())}),r.write(svgEndGroup()),r.write(svgBeginGroup("Yuccas")),rooms.forEach((t,e,s)=>{yuccas[e].forEach((t,s)=>{r.write(svgBeginGroup("Box_"+e+"_Yucca_"+s));for(let e=t.stemsInflated.length-1;e>=0;e--){let s=natural?yc[0]:cc[0];r.write(svgBeginGroup(e+"_TrunkFill",s,"noStroke")),r.write(svgPolygon(t.stemsInflated[e])),r.write(svgEndGroup());let o=natural?yc[1]:cc[1];r.write(svgBeginGroup(e+"_TrunkShag","noFill",o,.0025*t.strokeBase)),t.shag[e].forEach((e,s,l)=>{let a=lerpColor(color(yc[1]),color(yc[7]),map(l.length-s,l.length/2.73,0,0,1));s%2!=0&&natural?o=[a.levels[0],a.levels[1],a.levels[2]]:natural&&(o=yc[1]),natural?r.write(svgCurve([e[0],e[1]],"noFill",o,.0025*t.strokeBase)):r.write(svgCurve([e[0],e[1]]))}),r.write(svgEndGroup()),o=natural?yc[3]:cc[0],s=natural?yc[2]:cc[1],r.write(svgBeginGroup(e+"_Spear",s,o,.002*t.strokeBase)),r.write(svgPolygon(t.spearsInflated[e])),r.write(svgEndGroup()),o=natural?yc[3]:cc[1],r.write(svgBeginGroup(e+"_FlowerStems","noFill",o,.002*t.strokeBase)),t.flowers[e].forEach(t=>{r.write(svgCurve([t[0],t[1]]))}),r.write(svgEndGroup()),s=natural?yc[4]:cc[1],r.write(svgBeginGroup(e+"_Flowers",s,"noStroke")),t.flowers[e].forEach(e=>{r.write(svgCircle(e[1].x,e[1].y,t.stemBaseWidth/14/2,s,"noStroke"))}),r.write(svgEndGroup()),s=natural?yc[5]:cc[1],o=natural?yc[6]:cc[0],r.write(svgBeginGroup(e+"_Crown",s,o,.002*t.strokeBase));for(let s=0;s<t.crowns[e].length;s+=1)for(let o=0;o<t.crowns[e][s].length;o++)r.write(svgCurve(t.crowns[e][s][o]));r.write(svgEndGroup())}r.write(svgEndGroup())})}),r.write(svgEndGroup()),r.write(svgBeginGroup("Front of Boxes")),rooms.forEach((t,e)=>{r.write(svgBeginGroup("Lines_"+e,"noFill",cc[2],t.strokeBase)),flowerPower&&0===artistStyle?t.flowerPowerPts[1].forEach(e=>{r.write(svgCurve([e[0],e[1]],"noFill",cc[2],t.strokeBase))}):(r.write(svgPolygon(t.boxFront)),t.offset[0]<=0?r.write(svgCurve([t.boxBack[0],t.boxFront[0]],"noFill",cc[2],t.strokeBase,"round")):r.write(svgCurve([t.boxBack[1],t.boxFront[1]],"noFill",cc[2],t.strokeBase,"round"))),r.write(svgEndGroup())}),r.write(svgEndGroup()),r.write(svgBeginGroup("Text","noFill",textColor,2,"round","round","none")),words.forEach(t=>{t.forEach(t=>{t.forEach(t=>{r.write(svgCurve(t))})})}),r.write(svgEndGroup()),r.write(svgEndGroup()),r.write(svgEndDocument()),r.close()}function svgBeginDocument(t,e){return'<svg xmlns="http://www.w3.org/2000/svg" width="'+t+'in" height="'+e+'in" viewBox="0 0 '+100*t+" "+100*e+'" style="background-color:hsl(100, 0%, 100%);" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" inkscape:version="1.1.1 (c3084ef, 2021-09-22)">\n'}function svgEndDocument(){return"</svg>"}function svgBeginGroup(t,e="noFill",r="noStroke",s=0,o="square",l="miter",a="inline"){return'<g fill="'+svgParseColor(e)+'" stroke="'+svgParseColor(r)+'" display="'+a+'" stroke-width="'+s+'" stroke-linecap="'+o+'" stroke-linejoin="'+l+'" id="'+t+'" inkscape:groupmode="layer" inkscape:label="'+t+'">\n'}function svgEndGroup(){return"</g>\n"}function svgCircle(t,e,r){return'<circle cx="'+t+'" cy="'+e+'" r="'+r+'"/>\n'}function svgCurve(t,e="noFill",r="noStroke",s=0,o="square"){path='<polyline points="';for(let e=0;e<t.length;e++)path+=t[e].x+" "+t[e].y+" ";return e="noFill"==e?"":'fill="'+svgParseColor(e)+'" ',r="noStroke"==r?"":'stroke="'+svgParseColor(r)+'" ',s=0===s?"":'stroke-width="'+s+'" ',o="square"==o?"":'stroke-linecap="'+o+'"',path+='" '+e+r+s+o+"/>\n",path}function svgPolygon(t){path='<polygon points="';for(let e=0;e<t.length;e++)path+=t[e].x+" "+t[e].y+" ";return path+='"/>\n',path}function svgParseColor(t){return"noFill"==t||"noStroke"==t?"none":"rgb("+t[0]+","+t[1]+","+t[2]+")"}function svgText(t,e,r,s){return tag='<text x="'+e+'" y="'+r+'" stroke="none" font-family="sans-serif" fill="rgb('+textColor+')" text-anchor="'+s+'" font-size="18">'+t+"</text>\n",console.log(tag),tag}