{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,21]],"date-time":"2026-03-21T02:15:40Z","timestamp":1774059340658,"version":"3.50.1"},"reference-count":74,"publisher":"Association for Computing Machinery (ACM)","issue":"5","license":[{"start":{"date-parts":[[2024,6,25]],"date-time":"2024-06-25T00:00:00Z","timestamp":1719273600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"funder":[{"name":"Sloan Foundation and the Canada Research Chairs Program"},{"name":"NSF","award":["1943123 and 2212290"],"award-info":[{"award-number":["1943123 and 2212290"]}]},{"name":"Meta Reality Labs"},{"name":"Adobe Inc"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Graph."],"published-print":{"date-parts":[[2024,10,31]]},"abstract":"<jats:p>\n            Mesh processing algorithms are often communicated via concise mathematical notation (e.g., summation over mesh neighborhoods). However, conversion of notation into working code remains a time-consuming and error-prone process, which requires arcane knowledge of low-level data structures and libraries\u2014impeding rapid exploration of high-level algorithms. We address this problem by introducing a domain-specific language (DSL) for mesh processing called I\n            <jats:inline-formula content-type=\"math\/tex\">\n              <jats:inline-graphic xmlns:xlink=\"http:\/\/www.w3.org\/1999\/xlink\" xlink:href=\"tog-23-0124-heart.jpg\"\/>\n            <\/jats:inline-formula>\n            MESH, which resembles notation commonly used in visual and geometric computing and automates the process of converting notation into code. The centerpiece of our language is a flexible notation for specifying and manipulating neighborhoods of a cell complex, internally represented via standard operations on sparse boundary matrices. This layered design enables natural expression of algorithms while minimizing demands on a code generation backend. In particular, by integrating I\n            <jats:inline-formula content-type=\"math\/tex\">\n              <jats:inline-graphic xmlns:xlink=\"http:\/\/www.w3.org\/1999\/xlink\" xlink:href=\"tog-23-0124-heart.jpg\"\/>\n            <\/jats:inline-formula>\n            MESH with the linear algebra features of the I\n            <jats:inline-formula content-type=\"math\/tex\">\n              <jats:inline-graphic xmlns:xlink=\"http:\/\/www.w3.org\/1999\/xlink\" xlink:href=\"tog-23-0124-heart.jpg\"\/>\n            <\/jats:inline-formula>\n            LA DSL and adding support for automatic differentiation, we can rapidly implement a rich variety of algorithms on point clouds, surface meshes, and volume meshes.\n          <\/jats:p>","DOI":"10.1145\/3662181","type":"journal-article","created":{"date-parts":[[2024,5,1]],"date-time":"2024-05-01T09:45:49Z","timestamp":1714556749000},"page":"1-17","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":2,"title":["IMESH: A DSL for Mesh Processing"],"prefix":"10.1145","volume":"43","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-7597-1464","authenticated-orcid":false,"given":"Yong","family":"Li","sequence":"first","affiliation":[{"name":"South China University of Technology, Guangzhou, China and George Mason University, Fairfax, United States"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-5965-3717","authenticated-orcid":false,"given":"Shoaib","family":"Kamil","sequence":"additional","affiliation":[{"name":"Adobe Research, San Jose, United States"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-2772-7034","authenticated-orcid":false,"given":"Keenan","family":"Crane","sequence":"additional","affiliation":[{"name":"Carnegie Mellon University, Pittsburgh, United States"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-4603-7143","authenticated-orcid":false,"given":"Alec","family":"Jacobson","sequence":"additional","affiliation":[{"name":"Computer Science, University of Toronto, Toronto, Canada and Adobe Research, Toronto, Canada"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-5381-2104","authenticated-orcid":false,"given":"Yotam","family":"Gingold","sequence":"additional","affiliation":[{"name":"Computer Science, George Mason University, Fairfax, United States"}]}],"member":"320","published-online":{"date-parts":[[2024,6,25]]},"reference":[{"key":"e_1_3_3_2_1","doi-asserted-by":"publisher","DOI":"10.1002\/cpe.6616"},{"issue":"140","key":"e_1_3_3_3_1","article-title":"The Fortress language specification","volume":"139","author":"Allen Eric","year":"2005","unstructured":"Eric Allen, David Chase, Joe Hallett, Victor Luchangco, Jan-Willem Maessen, Sukyoung Ryu, Guy L. Steele Jr., Sam Tobin-Hochstadt, Joao Dias, Carl Eastlund, et\u00a0al. 2005. The Fortress language specification. Sun Microsystems 139, 140 (2005), 9.","journal-title":"Sun Microsystems"},{"key":"e_1_3_3_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/2566630"},{"key":"e_1_3_3_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/280814.280821"},{"key":"e_1_3_3_6_1","doi-asserted-by":"publisher","DOI":"10.5281\/zenodo.10447666"},{"key":"e_1_3_3_7_1","doi-asserted-by":"publisher","DOI":"10.5555\/891970"},{"issue":"2","key":"e_1_3_3_8_1","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1145\/2930661","article-title":"Perspectives: Why new programming languages for simulation?","volume":"35","author":"Bernstein Gilbert Louis","year":"2016","unstructured":"Gilbert Louis Bernstein and Fredrik Kjolstad. 2016. Perspectives: Why new programming languages for simulation? ACM Transactions on Graphics (TOG) 35, 2 (2016), 1\u20133.","journal-title":"ACM Transactions on Graphics (TOG)"},{"issue":"2","key":"e_1_3_3_9_1","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1145\/2892632","article-title":"Ebb: A DSL for physical simulation on CPUs and GPUs","volume":"35","author":"Bernstein Gilbert Louis","year":"2016","unstructured":"Gilbert Louis Bernstein, Chinmayee Shah, Crystal Lemire, Zachary Devito, Matthew Fisher, Philip Levis, and Pat Hanrahan. 2016. Ebb: A DSL for physical simulation on CPUs and GPUs. ACM Transactions on Graphics (TOG) 35, 2 (2016), 1\u201312.","journal-title":"ACM Transactions on Graphics (TOG)"},{"key":"e_1_3_3_10_1","doi-asserted-by":"publisher","DOI":"10.1137\/141000671"},{"key":"e_1_3_3_11_1","volume-title":"OpenSG Symposium","author":"Bischoff Botsch Steinberg","year":"2002","unstructured":"Botsch Steinberg Bischoff, M. Botsch, S. Steinberg, S. Bischoff, L. Kobbelt, and Rwth Aachen. 2002. OpenMesh\u2013A generic and efficient polygon mesh data structure. In OpenSG Symposium."},{"key":"e_1_3_3_12_1","unstructured":"Jose Luis Blanco and Pranjal Kumar Rai. 2014. nanoflann: A C++ Header-only Fork of FLANN a Library for Nearest Neighbor (NN) with KD-trees. https:\/\/github.com\/jlblancoc\/nanoflann"},{"key":"e_1_3_3_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/3450626.3459879"},{"key":"e_1_3_3_14_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.cag.2019.08.014"},{"key":"e_1_3_3_15_1","doi-asserted-by":"publisher","DOI":"10.1080\/10867651.1998.10487494"},{"key":"e_1_3_3_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/3360511"},{"key":"e_1_3_3_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/3528223.3530114"},{"key":"e_1_3_3_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/2504435.2504442"},{"key":"e_1_3_3_19_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-21401-6_26"},{"key":"e_1_3_3_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/2063384.2063396"},{"key":"e_1_3_3_21_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.cad.2013.08.044"},{"key":"e_1_3_3_22_1","volume-title":"Simplicial Complexes","author":"Edelsbrunner Herbert","year":"1999","unstructured":"Herbert Edelsbrunner. 1999. Simplicial Complexes. Technical Report. https:\/\/people.eecs.berkeley.edu\/jrs\/meshpapers\/edels\/L-06.pdf"},{"key":"e_1_3_3_23_1","volume-title":"Computational Topology: An Introduction","author":"Edelsbrunner Herbert","year":"2008","unstructured":"Herbert Edelsbrunner and John Harer. 2008. Computational Topology: An Introduction."},{"key":"e_1_3_3_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/1198555.1198667"},{"key":"e_1_3_3_25_1","doi-asserted-by":"publisher","DOI":"10.1145\/1653771.1653865"},{"key":"e_1_3_3_26_1","doi-asserted-by":"publisher","DOI":"10.1145\/1201775.882368"},{"key":"e_1_3_3_27_1","first-page":"353","article-title":"Survey article: An elementary illustrated introduction to simplicial sets","author":"Friedman Greg","year":"2012","unstructured":"Greg Friedman. 2012. Survey article: An elementary illustrated introduction to simplicial sets. The Rocky Mountain Journal of Mathematics 42 (2012), 353\u2013423.","journal-title":"The Rocky Mountain Journal of Mathematics"},{"issue":"4","key":"e_1_3_3_28_1","first-page":"1","article-title":"Computing locally injective mappings by advanced MIPS","volume":"34","author":"Fu Xiao-Ming","year":"2015","unstructured":"Xiao-Ming Fu, Yang Liu, and Baining Guo. 2015. Computing locally injective mappings by advanced MIPS. ACM Transactions on Graphics (TOG) 34, 4 (2015), 1\u201312.","journal-title":"ACM Transactions on Graphics (TOG)"},{"key":"e_1_3_3_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/1275808.1276512"},{"key":"e_1_3_3_30_1","doi-asserted-by":"publisher","DOI":"10.1145\/282918.282923"},{"key":"e_1_3_3_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/3450626.3459749"},{"key":"e_1_3_3_32_1","volume-title":"Algebraic Topology","author":"Hatcher Allen","year":"2002","unstructured":"Allen Hatcher. 2002. Algebraic Topology. Cambridge University Press."},{"key":"e_1_3_3_33_1","doi-asserted-by":"publisher","DOI":"10.1145\/2461912.2461916"},{"key":"e_1_3_3_34_1","doi-asserted-by":"crossref","unstructured":"Alec Jacobson Daniele Panozzo et\u00a0al. 2018. libigl: A Simple C++ Geometry Processing Library. https:\/\/libigl.github.io\/","DOI":"10.1145\/3134472.3134497"},{"key":"e_1_3_3_35_1","doi-asserted-by":"publisher","DOI":"10.1145\/3386569.3392371"},{"key":"e_1_3_3_36_1","doi-asserted-by":"publisher","DOI":"10.1007\/b97315"},{"key":"e_1_3_3_37_1","doi-asserted-by":"publisher","DOI":"10.1145\/276884.276901"},{"key":"e_1_3_3_38_1","doi-asserted-by":"publisher","DOI":"10.1145\/2866569"},{"key":"e_1_3_3_39_1","doi-asserted-by":"publisher","DOI":"10.1109\/PyHPC.2016.013"},{"key":"e_1_3_3_40_1","unstructured":"Soeren Laue. 2022. On the Equivalence of Automatic and Symbolic Differentiation. http:\/\/arxiv.org\/abs\/1904.02990arXiv:1904.02990 [cs]."},{"key":"e_1_3_3_41_1","unstructured":"Allan Leal. 2023. The Autodiff Library. https:\/\/autodiff.github.io"},{"key":"e_1_3_3_42_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-030-47956-5_14"},{"key":"e_1_3_3_43_1","doi-asserted-by":"publisher","DOI":"10.1145\/3478513.3480506"},{"key":"e_1_3_3_44_1","doi-asserted-by":"publisher","DOI":"10.1145\/3550469.3555395"},{"key":"e_1_3_3_45_1","doi-asserted-by":"publisher","DOI":"10.1142\/S0218195994000173"},{"key":"e_1_3_3_46_1","doi-asserted-by":"publisher","DOI":"10.1145\/3450626.3459748"},{"key":"e_1_3_3_47_1","doi-asserted-by":"publisher","DOI":"10.5555\/94343.94355"},{"key":"e_1_3_3_48_1","doi-asserted-by":"publisher","DOI":"10.1080\/10867651.1999.10487501"},{"key":"e_1_3_3_49_1","doi-asserted-by":"publisher","DOI":"10.1145\/2818185"},{"key":"e_1_3_3_50_1","doi-asserted-by":"publisher","DOI":"10.7717\/peerj-cs.103"},{"key":"e_1_3_3_51_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-662-05105-4_2"},{"key":"e_1_3_3_52_1","doi-asserted-by":"publisher","DOI":"10.1145\/777792.777840"},{"key":"e_1_3_3_53_1","doi-asserted-by":"publisher","DOI":"10.1111\/cgf.13245"},{"key":"e_1_3_3_54_1","doi-asserted-by":"publisher","DOI":"10.1016\/0304-3975(78)90051-8"},{"key":"e_1_3_3_55_1","doi-asserted-by":"publisher","DOI":"10.1145\/2983621"},{"key":"e_1_3_3_56_1","doi-asserted-by":"publisher","DOI":"10.1145\/2499370.2462176"},{"key":"e_1_3_3_57_1","doi-asserted-by":"publisher","DOI":"10.1145\/2998441"},{"key":"e_1_3_3_58_1","doi-asserted-by":"publisher","DOI":"10.1109\/SC.Companion.2012.134"},{"key":"e_1_3_3_59_1","doi-asserted-by":"publisher","DOI":"10.1111\/cgf.14607"},{"key":"e_1_3_3_60_1","doi-asserted-by":"publisher","DOI":"10.1145\/1015706.1015812"},{"key":"e_1_3_3_61_1","article-title":"An ergonomic approach to topological transformations of unstructured meshes","author":"Shapero Daniel","year":"2023","unstructured":"Daniel Shapero. 2023. An ergonomic approach to topological transformations of unstructured meshes. In International Meshing Roundtable (Research Note).","journal-title":"International Meshing Roundtable (Research Note)"},{"issue":"5","key":"e_1_3_3_62_1","article-title":"A Laplacian for nonmanifold triangle meshes","volume":"39","author":"Sharp Nicholas","year":"2020","unstructured":"Nicholas Sharp and Keenan Crane. 2020. A Laplacian for nonmanifold triangle meshes. Computer Graphics Forum (SGP) 39, 5 (2020), 69\u201380.","journal-title":"Computer Graphics Forum (SGP)"},{"key":"e_1_3_3_63_1","unstructured":"Nicholas Sharp Keenan Crane et\u00a0al. 2019a. geometry-central. www.geometry-central.net."},{"key":"e_1_3_3_64_1","article-title":"Geometry processing with intrinsic triangulations","author":"Sharp Nicholas","year":"2021","unstructured":"Nicholas Sharp, Mark Gillespie, and Keenan Crane. 2021. Geometry processing with intrinsic triangulations. ACM SIGGRAPH 2021 Courses (SIGGRAPH\u201921).","journal-title":"ACM SIGGRAPH 2021 Courses (SIGGRAPH\u201921)"},{"key":"e_1_3_3_65_1","doi-asserted-by":"publisher","DOI":"10.1145\/3306346.3322979"},{"key":"e_1_3_3_66_1","unstructured":"Daniel Sieger and Mario Botsch. 2019. The Polygon Mesh Processing Library. http:\/\/www.pmp-library.org"},{"key":"e_1_3_3_67_1","doi-asserted-by":"publisher","DOI":"10.1145\/2766947"},{"key":"e_1_3_3_68_1","doi-asserted-by":"publisher","DOI":"10.1145\/3386569.3392491"},{"key":"e_1_3_3_69_1","doi-asserted-by":"publisher","DOI":"10.1145\/3377406"},{"key":"e_1_3_3_70_1","doi-asserted-by":"publisher","DOI":"10.1145\/1073368.1073394"},{"key":"e_1_3_3_71_1","article-title":"Are large language models really good logical reasoners? A comprehensive evaluation from deductive, inductive and abductive views","author":"Xu Fangzhi","year":"2023","unstructured":"Fangzhi Xu, Qika Lin, Jiawei Han, Tianzhe Zhao, Jun Liu, and Erik Cambria. 2023. Are large language models really good logical reasoners? A comprehensive evaluation from deductive, inductive and abductive views. arXiv preprint arXiv:2306.09841 (2023).","journal-title":"arXiv preprint arXiv:2306.09841"},{"key":"e_1_3_3_72_1","doi-asserted-by":"publisher","DOI":"10.1145\/3386569.3392375"},{"issue":"6","key":"e_1_3_3_73_1","first-page":"1","article-title":"MeshTaichi: A compiler for efficient mesh-based operations","volume":"41","author":"Yu Chang","year":"2022","unstructured":"Chang Yu, Yi Xu, Ye Kuang, Yuanming Hu, and Tiantian Liu. 2022. MeshTaichi: A compiler for efficient mesh-based operations. ACM Transactions on Graphics (TOG) 41, 6 (2022), 1\u201317.","journal-title":"ACM Transactions on Graphics (TOG)"},{"key":"e_1_3_3_74_1","doi-asserted-by":"publisher","DOI":"10.1111\/cgf.13144"},{"key":"e_1_3_3_75_1","doi-asserted-by":"publisher","DOI":"10.1145\/3374209"}],"container-title":["ACM Transactions on Graphics"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3662181","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3662181","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T23:57:10Z","timestamp":1750291030000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3662181"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2024,6,25]]},"references-count":74,"journal-issue":{"issue":"5","published-print":{"date-parts":[[2024,10,31]]}},"alternative-id":["10.1145\/3662181"],"URL":"https:\/\/doi.org\/10.1145\/3662181","relation":{},"ISSN":["0730-0301","1557-7368"],"issn-type":[{"value":"0730-0301","type":"print"},{"value":"1557-7368","type":"electronic"}],"subject":[],"published":{"date-parts":[[2024,6,25]]},"assertion":[{"value":"2023-10-30","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2024-03-24","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2024-06-25","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}