{"version":10,"randomSeed":"03615efef5401e65866e0fbfc71517fb","graph":{"viewport":{"xmin":-21.88400712026764,"ymin":-18.74198045403821,"xmax":27.77111753604514,"ymax":19.719737901989955}},"expressions":{"list":[{"type":"expression","id":"119","color":"#388c46","latex":"S_{R}"},{"type":"folder","id":"49","title":"molecular definition"},{"type":"text","id":"12","folderId":"49","text":"format: M is the molecule, each entry a pair (atom, bonding), where atom is atomic number (+ 0.1 * (formal charge)), bonding is an index into M for a \"central\" atom to which it's bonded (+ 0.1 * (pi bonds))"},{"type":"expression","id":"1","folderId":"49","color":"#c74440","latex":"M=\\left[\\left(6,6.1\\right),\\left(6,1\\right),\\left(6,2.1\\right),\\left(6,3\\right),\\left(6,4.1\\right),\\left(6,5\\right),\\left(6,2\\right),\\left(6,7\\right),\\left(7,8\\right),\\left(8,3\\right),\\left(8,4\\right),\\left(1,1\\right),\\left(1,5\\right),\\left(1,6\\right),\\left(1,7\\right),\\left(1,7\\right),\\left(1,8\\right),\\left(1,8\\right),\\left(0,9\\right),\\left(1,9\\right),\\left(1,9\\right),\\left(0,10\\right),\\left(0,10\\right),\\left(1,10\\right),\\left(0,11\\right),\\left(0,11\\right),\\left(1,11\\right)\\right]","hidden":true},{"type":"expression","id":"42","folderId":"49","color":"#388c46","latex":"N=\\operatorname{length}\\left(M\\right)"},{"type":"text","id":"37","folderId":"49","text":"counts of immediate \"terminal\" atoms for each atom when viewed as \"central\""},{"type":"expression","id":"66","folderId":"49","color":"#c74440","latex":"C_{T}=\\left[\\operatorname{total}\\left(\\left[\\left\\{\\operatorname{round}\\left(m.y\\right)=k:1,0\\right\\}\\operatorname{for}m=M\\right]\\right)+\\left\\{M\\left[k\\right].y=0:0,1\\right\\}\\operatorname{for}k=\\left[1...N\\right]\\right]"},{"type":"text","id":"81","folderId":"49","text":"counts of bonds on each atom"},{"type":"expression","id":"83","folderId":"49","color":"#2d70b3","latex":"C_{B}=\\left[\\operatorname{total}\\left(\\left[\\left\\{\\operatorname{round}\\left(m.y\\right)=k:1+10\\operatorname{mod}\\left(m.y,1\\right),0\\right\\}\\operatorname{for}m=M\\right]\\right)+\\left\\{M\\left[k\\right].y=0:0,1+10\\operatorname{mod}\\left(M\\left[k\\right].y,1\\right)\\right\\}\\operatorname{for}k=\\left[1...N\\right]\\right]"},{"type":"folder","id":"75","title":"molecule building tools"},{"type":"text","id":"116","folderId":"75","text":"add n-alkyl (length m, starting site n)"},{"type":"expression","id":"117","folderId":"75","color":"#c74440","latex":"B_{nA}\\left(m,n\\right)=\\left(M\\to\\operatorname{join}\\left(M,\\left[\\left(6,\\left\\{k=1:m,N+k-1\\right\\}\\right)\\operatorname{for}k=\\left[1...m\\right]\\right]\\right)\\right)"},{"type":"expression","id":"118","folderId":"75","color":"#2d70b3","latex":"B_{nA}\\left(2,1\\right)"},{"type":"text","id":"104","folderId":"75","text":"add carboxyl group (starting site n)"},{"type":"expression","id":"105","folderId":"75","color":"#c74440","latex":"B_{Cg}\\left(n\\right)=\\left(M\\to\\operatorname{join}\\left(M,\\left[\\left(6,n\\right),\\left(8,N+1.1\\right),\\left(8,N+1\\right)\\right]\\right)\\right)"},{"type":"expression","id":"106","folderId":"75","color":"#2d70b3","latex":"B_{Cg}\\left(1\\right)"},{"type":"text","id":"108","folderId":"75","text":"start with a carbon ring (size n)"},{"type":"expression","id":"109","folderId":"75","color":"#6042a6","latex":"B_{R}\\left(n\\right)=\\left(M\\to\\left[\\left(6,\\left\\{k=1:n,k-1\\right\\}\\right)\\operatorname{for}k=\\left[1...n\\right]\\right]\\right)"},{"type":"expression","id":"110","folderId":"75","color":"#000000","latex":"B_{R}\\left(6\\right)"},{"type":"text","id":"77","folderId":"75","text":"add hydrogens and lone pairs"},{"type":"expression","id":"84","folderId":"75","color":"#388c46","latex":"L_{P}=\\left[0,1,0,0,0,0,1,2,3,4\\right]"},{"type":"expression","id":"79","folderId":"75","color":"#6042a6","latex":"K_{HL}=12","slider":{"hardMin":true,"min":"1","step":"1"}},{"type":"expression","id":"101","folderId":"75","color":"#388c46","latex":"K_{HL}\\to1"},{"type":"expression","id":"78","folderId":"75","color":"#388c46","latex":"B_{HL}=\\left\\{M\\left[K_{HL}\\right].x>1:\\left(M\\to\\operatorname{join}\\left(M,\\left\\{C_{B}\\left[K_{HL}\\right]=4:\\left[\\right],\\left[\\left(\\left\\{s\\le L_{P}\\left[\\operatorname{round}\\left(M\\left[K_{HL}\\right].x\\right)\\right]-10\\left(M\\left[K_{HL}\\right].x-\\operatorname{round}\\left(M\\left[K_{HL}\\right].x\\right)\\right):0,1\\right\\},K_{HL}\\right)\\operatorname{for}s=\\left[1...\\left(4-C_{B}\\left[K_{HL}\\right]\\right)\\right]\\right]\\right\\}\\right),K_{HL}\\to K_{HL}+1\\right)\\right\\}"},{"type":"folder","id":"51","title":"display"},{"type":"expression","id":"8","folderId":"51","color":"#388c46","latex":"R_{E}=\\left[1.5,1.5,2,2,2,2,2,2,2,2\\right]"},{"type":"expression","id":"2","folderId":"51","color":"#2d70b3","latex":"C_{E}=\\left[\\operatorname{hsv}\\left(0,0,0.8\\right),\\operatorname{hsv}\\left(0,0,0\\right),\\operatorname{hsv}\\left(0,0,0\\right),\\operatorname{hsv}\\left(0,0,0\\right),\\operatorname{hsv}\\left(0,0,0\\right),\\operatorname{hsv}\\left(0,0,0\\right),\\operatorname{hsv}\\left(230,1,1\\right),\\operatorname{hsv}\\left(0,1,1\\right),\\operatorname{hsv}\\left(80,1,1\\right),\\operatorname{hsv}\\left(0,0,0\\right)\\right]"},{"type":"text","id":"30","folderId":"51","text":"bonds"},{"type":"expression","id":"32","folderId":"51","color":"#388c46","latex":"C_{g}=\\operatorname{hsv}\\left(0,0,0.4\\right)"},{"type":"expression","id":"31","folderId":"51","color":"#000000","latex":"\\left[\\left\\{M\\left[k\\right].x=0:\\operatorname{polygon}\\left(\\left(\\infty,\\infty\\right)\\right),\\operatorname{mod}\\left(M\\left[k\\right].y,1\\right)=0:\\operatorname{polygon}\\left(u_{1},u_{2}\\right)\\right\\}\\operatorname{with}u_{1}=P_{M}\\left[k\\right],u_{2}=P_{M}\\left[\\operatorname{round}\\left(M\\left[k\\right].y\\right)\\right]\\operatorname{for}k=\\left[1...N\\right]\\right]","colorLatex":"C_{g}","lineOpacity":"1","lineWidth":"20"},{"type":"expression","id":"63","folderId":"51","color":"#388c46","latex":"R_{G}\\left(p\\right)=\\left(-p.y,p.x\\right)"},{"type":"expression","id":"65","folderId":"51","color":"#000000","latex":"N_{V}\\left(p,x\\right)=\\frac{xp}{\\operatorname{distance}\\left(\\left(0,0\\right),p\\right)}"},{"type":"expression","id":"70","folderId":"51","color":"#000000","latex":"W_{d}=0.3","slider":{"hardMin":true,"hardMax":true,"min":"0","max":"1"}},{"type":"expression","id":"61","folderId":"51","color":"#c74440","latex":"\\left[\\left\\{\\operatorname{mod}\\left(M\\left[k\\right].y,1\\right)=0.1:\\operatorname{polygon}\\left(u_{1}-N_{V}\\left(R_{G}\\left(u_{1}-u_{2}\\right),W_{d}\\right),u_{1}+N_{V}\\left(R_{G}\\left(u_{1}-u_{2}\\right),W_{d}\\right),u_{2}+N_{V}\\left(R_{G}\\left(u_{1}-u_{2}\\right),W_{d}\\right),u_{2}-N_{V}\\left(R_{G}\\left(u_{1}-u_{2}\\right),W_{d}\\right)\\right)\\right\\}\\operatorname{with}u_{1}=P_{M}\\left[k\\right],u_{2}=P_{M}\\left[\\operatorname{round}\\left(M\\left[k\\right].y\\right)\\right]\\operatorname{for}k=\\left[1...N\\right]\\right]","fill":false,"colorLatex":"C_{g}","lineOpacity":"1","lineWidth":"15"},{"type":"text","id":"53","folderId":"51","text":"atoms"},{"type":"expression","id":"7","folderId":"51","color":"#2d70b3","latex":"C_{M}=\\left[\\left\\{a.x=0:\\operatorname{hsv}\\left(0,0,0\\right),C_{E}\\left[\\operatorname{round}\\left(a.x\\right)\\right]\\right\\}\\operatorname{for}a=M\\right]"},{"type":"expression","id":"86","folderId":"51","color":"#000000","latex":"R_{M}=\\left[\\left\\{a.x=0:0,R_{E}\\left[\\operatorname{round}\\left(a.x\\right)\\right]\\right\\}\\operatorname{for}a=M\\right]"},{"type":"expression","id":"127","folderId":"51","color":"#c74440","latex":"\\left[\\left\\{M\\left[k\\right].x-\\operatorname{round}\\left(M\\left[k\\right].x\\right)>0:P_{M}\\left[k\\right]\\right\\}\\operatorname{for}k=\\left[1...N\\right]\\right]","showLabel":true,"label":"+","hidden":true,"points":false,"dragMode":"NONE","labelSize":"5","suppressTextOutline":true,"colorLatex":"C_{g}"},{"type":"expression","id":"128","folderId":"51","color":"#c74440","latex":"\\left[\\left\\{M\\left[k\\right].x-\\operatorname{round}\\left(M\\left[k\\right].x\\right)<0:P_{M}\\left[k\\right]\\right\\}\\operatorname{for}k=\\left[1...N\\right]\\right]","showLabel":true,"label":"-","hidden":true,"points":false,"dragMode":"NONE","labelSize":"5","suppressTextOutline":true,"colorLatex":"C_{g}"},{"type":"text","id":"97","folderId":"51","text":"lone pairs"},{"type":"expression","id":"100","folderId":"51","color":"#2d70b3","latex":"C_{Y}=\\operatorname{hsv}\\left(60,0.4,0.8\\right)"},{"type":"expression","id":"98","folderId":"51","color":"#c74440","latex":"\\left[\\left\\{M\\left[k\\right].x=0:P_{M}\\left[k\\right]+N_{V}\\left(R_{G}\\left(P_{M}\\left[k\\right]-P_{M}\\left[M\\left[k\\right].y\\right]\\right),0.5W_{d}\\right)\\right\\}\\operatorname{for}k=\\left[1...N\\right]\\right]","colorLatex":"C_{Y}"},{"type":"expression","id":"99","folderId":"51","color":"#c74440","latex":"\\left[\\left\\{M\\left[k\\right].x=0:P_{M}\\left[k\\right]-N_{V}\\left(R_{G}\\left(P_{M}\\left[k\\right]-P_{M}\\left[M\\left[k\\right].y\\right]\\right),0.5W_{d}\\right)\\right\\}\\operatorname{for}k=\\left[1...N\\right]\\right]","colorLatex":"C_{Y}"},{"type":"folder","id":"73","title":"rapidly changing data","collapsed":true},{"type":"expression","id":"4","folderId":"73","color":"#6042a6","latex":"P_{M}=\\left[\\left(-0.604767660071654,-5.100467706158307\\right),\\left(1.3653755948393353,-0.14903947356739994\\right),\\left(-5.718679333909485,1.0800863215900849\\right),\\left(-11.273265734260796,-2.993824597340575\\right),\\left(-9.051971653832748,-7.237899930507838\\right),\\left(-4.536363877524689,-8.152012791678974\\right),\\left(9.6376173768625,2.016678026076967\\right),\\left(17.142008041999112,4.23879816496951\\right),\\left(23.789852620202954,4.831581101523388\\right),\\left(-8.299697086563219,6.634585224178664\\right),\\left(-17.831286480482422,-3.97846469008151\\right),\\left(1.547529643275287,-7.983979515045399\\right),\\left(-10.91410105718571,-10.54688584516514\\right),\\left(-4.309867842849353,-11.970953930166129\\right),\\left(11.748004890229794,-0.5793212231330985\\right),\\left(10.433063860537237,5.1404371725590305\\right),\\left(20.006001956459297,5.611156514195236\\right),\\left(17.676444132753424,7.749034544196326\\right),\\left(25.167415006532003,4.775054571225348\\right),\\left(27.148704249462057,7.124033851797538\\right),\\left(27.68942278633647,3.598261727446325\\right),\\left(-7.770343637567048,8.134944178091489\\right),\\left(-9.76340675854362,7.2383471656935825\\right),\\left(-10.158946890595214,10.3721894977769\\right),\\left(-19.25338113227164,-3.1008120357947146\\right),\\left(-18.954532531706164,-5.218431726437532\\right),\\left(-22.033470472506806,-4.669492428668729\\right)\\right]","colorLatex":"C_{M}","pointOpacity":"1","pointSize":"50R_{M}"},{"type":"folder","id":"58","title":"initial approximation of layout","collapsed":true},{"type":"expression","id":"56","folderId":"58","color":"#388c46","latex":"S_{R}=\\left(P_{M}\\to\\left(0,0\\right)\\cdot\\left[1...N\\right],K\\to1,K_{HL}\\to1\\right)"},{"type":"expression","id":"15","folderId":"58","color":"#6042a6","latex":"Q\\left(i,v\\right)=\\left(P_{M}\\to\\left[\\left\\{i=k:v,P_{M}\\left[k\\right]\\right\\}\\operatorname{for}k=\\left[1...\\operatorname{length}\\left(P_{M}\\right)\\right]\\right]\\right)"},{"type":"text","id":"23","folderId":"58","text":"latest angle from each locally-central atom"},{"type":"expression","id":"21","folderId":"58","color":"#6042a6","latex":"\\alpha=\\left[733.7738783711806,497.81879186102026,507.37555623141793,406.7241601063851,238.01402054607348,121.44642580199353,164.952411629713,155.01087432060964,155.25180572503234,119.56505272389089,119.64089803301638,48.852390017611675,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0\\right]"},{"type":"expression","id":"39","folderId":"58","color":"#000000","latex":"\\alpha\\to0\\cdot\\left[1...N\\right]"},{"type":"expression","id":"17","folderId":"58","color":"#c74440","latex":"K=28","slider":{"hardMin":true,"min":"1","step":"1"}},{"type":"expression","id":"28","folderId":"58","color":"#000000","latex":"c_{is}\\left(x\\right)=\\left(\\cos x,\\sin x\\right)"},{"type":"expression","id":"18","folderId":"58","color":"#2d70b3","latex":"S_{A}=\\left(Q\\left(K,P_{M}\\left[M\\left[K\\right].y\\right]+\\frac{2}{\\sqrt{K}}c_{is}\\left(\\alpha\\left[\\operatorname{round}\\left(M\\left[K\\right].y\\right)\\right]\\right)\\right),\\alpha\\to\\left[\\left\\{\\operatorname{round}\\left(M\\left[K\\right].y\\right)=s:\\alpha\\left[s\\right]+0.6\\operatorname{random}\\left(\\right)+\\left[\\frac{4}{5}\\pi,\\frac{3}{4}\\pi,\\frac{2}{3}\\pi,\\frac{1}{2}\\pi\\right]\\left[C_{T}\\left[s\\right]\\right],\\alpha\\left[s\\right]\\right\\}\\operatorname{for}s=\\left[1...\\operatorname{length}\\left(\\alpha\\right)\\right]\\right],K\\to K+1\\right)"},{"type":"folder","id":"60","title":"force-directed renderer","collapsed":true},{"type":"expression","id":"93","folderId":"60","color":"#2d70b3","latex":"A_{S}\\left(i,j\\right)=\\left\\{\\operatorname{round}\\left(M\\left[j\\right].y\\right)=\\operatorname{round}\\left(M\\left[i\\right].y\\right):1,0\\right\\}+\\left\\{\\operatorname{round}\\left(M\\left[\\operatorname{round}\\left(M\\left[i\\right].y\\right)\\right].y\\right)=j,0\\right\\}+\\left\\{\\operatorname{round}\\left(M\\left[\\operatorname{round}\\left(M\\left[j\\right].y\\right)\\right].y\\right)=i,0\\right\\}"},{"type":"expression","id":"41","folderId":"60","color":"#2d70b3","latex":"F_{R}=\\left[\\sum_{j=1}^{N}\\left\\{i=j:\\left(0,0\\right),\\left\\{A_{S}\\left(i,j\\right)\\ge1:1,1\\right\\}\\cdot\\left(\\frac{\\left(P_{M}\\left[i\\right]-P_{M}\\left[j\\right]\\right)}{\\max\\left(u_{1},0.1\\right)^{2}}\\operatorname{with}u_{1}=\\operatorname{distance}\\left(P_{M}\\left[j\\right],P_{M}\\left[i\\right]\\right)\\right)\\right\\}\\operatorname{for}i=\\left[1...N\\right]\\right]","hidden":true},{"type":"expression","id":"46","folderId":"60","color":"#fa7e19","latex":"F_{S}=\\left[\\sum_{j=1}^{N}\\left\\{\\left\\{\\operatorname{round}\\left(M\\left[i\\right].y\\right)=j:1,0\\right\\}+\\left\\{\\operatorname{round}\\left(M\\left[j\\right].y\\right)=i:1,0\\right\\}\\ge1:N_{V}\\left(P_{M}\\left[j\\right]-P_{M}\\left[i\\right],1\\right)\\left(\\operatorname{distance}\\left(P_{M}\\left[j\\right],P_{M}\\left[i\\right]\\right)-\\left\\{M\\left[j\\right].x=0:0.1,M\\left[i\\right].x=0:0.1,\\operatorname{mod}\\left(\\left\\{\\operatorname{floor}\\left(M\\left[j\\right].y\\right)=i:M\\left[j\\right].y,M\\left[i\\right].y\\right\\},1\\right)\\ge0.1:2,2.5\\right\\}\\right),\\left(0,0\\right)\\right\\}\\operatorname{for}i=\\left[1...N\\right]\\right]","hidden":true},{"type":"expression","id":"45","folderId":"60","color":"#c74440","latex":"S_{F}=\\left\\{K=1:\\left\\{M\\left[K_{HL}\\right].x\\le1:\\left(K\\to2\\right),B_{HL}\\right\\},K\\le N:S_{A},\\left(P_{M}\\to P_{M}+0.3\\left(F_{S}+F_{R}\\right)\\right)\\right\\}"}],"ticker":{"handlerLatex":"S_{F}","playing":true,"open":true}}}