{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,4,24]],"date-time":"2026-04-24T20:46:05Z","timestamp":1777063565904,"version":"3.51.4"},"reference-count":81,"publisher":"Wiley","issue":"1","license":[{"start":{"date-parts":[[2025,2,12]],"date-time":"2025-02-12T00:00:00Z","timestamp":1739318400000},"content-version":"vor","delay-in-days":11,"URL":"http:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"content-domain":{"domain":["onlinelibrary.wiley.com"],"crossmark-restriction":true},"short-container-title":["Computer Graphics Forum"],"published-print":{"date-parts":[[2025,2]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>The task of crafting procedural programs capable of generating structurally valid 3D shapes easily and intuitively remains an elusive goal in computer vision and graphics. Within the graphics community, generating procedural 3D models has shifted to using node graph systems. They allow the artist to create complex shapes and animations through visual programming. Being a high\u2010level design tool, they made procedural 3D modelling more accessible. However, crafting those node graphs demands expertise and training. We present\u00a0GeoCode, a novel framework designed to extend an existing node graph system and significantly lower the bar for the creation of new procedural 3D shape programs. Our approach meticulously balances expressiveness and generalization for part\u2010based shapes. We propose a curated set of new geometric building blocks that are expressive and reusable across domains. We showcase three innovative and expressive programs developed through our technique and geometric building blocks. Our programs enforce intricate rules, empowering users to execute intuitive high\u2010level parameter edits that seamlessly propagate throughout the entire shape at a lower level while maintaining its validity. To evaluate the user\u2010friendliness of our geometric building blocks among non\u2010experts, we conduct a user study that demonstrates their ease of use and highlights their applicability across diverse domains. Empirical evidence shows the superior accuracy of\u00a0GeoCode in inferring and recovering 3D shapes compared to an existing competitor. Furthermore, our method demonstrates superior expressiveness compared to alternatives that utilize coarse primitives. Notably, we illustrate the ability to execute controllable local and global shape\u00a0manipulations. Our code, programs, datasets and Blender add\u2010on are available at <jats:ext-link xmlns:xlink=\"http:\/\/www.w3.org\/1999\/xlink\" xlink:href=\"https:\/\/github.com\/threedle\/GeoCode\">https:\/\/github.com\/threedle\/GeoCode<\/jats:ext-link>.<\/jats:p>","DOI":"10.1111\/cgf.15276","type":"journal-article","created":{"date-parts":[[2025,2,12]],"date-time":"2025-02-12T11:40:01Z","timestamp":1739360401000},"update-policy":"https:\/\/doi.org\/10.1002\/crossmark_policy","source":"Crossref","is-referenced-by-count":7,"title":["GeoCode: Interpretable Shape Programs"],"prefix":"10.1111","volume":"44","author":[{"ORCID":"https:\/\/orcid.org\/0009-0001-7266-0441","authenticated-orcid":false,"given":"Ofek","family":"Pearl","sequence":"first","affiliation":[{"name":"School of Electrical Engineering Tel Aviv University  Tel Aviv\u2010Yafo Israel"},{"name":"Department of Computer Science University of Chicago  Chicago USA"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-4066-4293","authenticated-orcid":false,"given":"Itai","family":"Lang","sequence":"additional","affiliation":[{"name":"Department of Computer Science University of Chicago  Chicago USA"}]},{"ORCID":"https:\/\/orcid.org\/0009-0006-5329-696X","authenticated-orcid":false,"given":"Yuhua","family":"Hu","sequence":"additional","affiliation":[{"name":"Department of Computer Science University of Chicago  Chicago USA"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-4375-0680","authenticated-orcid":false,"given":"Raymond A.","family":"Yeh","sequence":"additional","affiliation":[{"name":"Department of Computer Science Purdue University  West Lafayette USA"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-3214-3703","authenticated-orcid":false,"given":"Rana","family":"Hanocka","sequence":"additional","affiliation":[{"name":"Department of Computer Science University of Chicago  Chicago USA"}]}],"member":"311","published-online":{"date-parts":[[2025,2,12]]},"reference":[{"key":"e_1_2_8_2_2","doi-asserted-by":"publisher","DOI":"10.1145\/3606701"},{"key":"e_1_2_8_3_2","doi-asserted-by":"crossref","unstructured":"BarrosoS. PatowG.:Visual language generalization for procedural modeling of buildings. InCEIG(2012) pp.57\u201366.","DOI":"10.1109\/MCG.2010.104"},{"key":"e_1_2_8_4_2","unstructured":"BarrowH. G. TenenbaumJ. M. BollesR. C. WolfH. C.:Parametric correspondence and Chamfer matching: Two new techniques for image matching. InIJCAI(1977)."},{"key":"e_1_2_8_5_2","doi-asserted-by":"crossref","unstructured":"ChengZ. ChaiM. RenJ. LeeH.\u2010Y. OlszewskiK. HuangZ. MajiS. TulyakovS.:Cross\u2010modal 3D shape generation and manipulation. InEuropean Conference on Computer Vision (ECCV)(2022) pp.303\u2013321.","DOI":"10.1007\/978-3-031-20062-5_18"},{"key":"e_1_2_8_6_2","unstructured":"ChangA. X. FunkhouserT. GuibasL. HanrahanP. HuangQ. LiZ. SavareseS. SavvaM. SongS. SuH. XiaoJ. YiL. YuF.:ShapeNet: An Information\u2010Rich 3D Model Repository. arXiv preprint arXiv:1512.03012 (2015)."},{"key":"e_1_2_8_7_2","unstructured":"Blender Foundation.:Blender \u2010 A 3D Modelling and Rendering Package.Blender Foundation.2018.http:\/\/www.blender.org. (Accessed 24 July 2022)."},{"key":"e_1_2_8_8_2","doi-asserted-by":"crossref","unstructured":"ChenZ. ZhangH.:Learning implicit fields for generative shape modeling. InIEEE Conference on Computer Vision and Pattern Recognition(2019) pp.5939\u20135948.","DOI":"10.1109\/CVPR.2019.00609"},{"key":"e_1_2_8_9_2","doi-asserted-by":"crossref","unstructured":"DemirI. AliagaD. G. BenesB.:Proceduralization for editing 3D architectural models. In2016 Fourth International Conference on 3D Vision (3DV)(2016) pp.194\u2013202.","DOI":"10.1109\/3DV.2016.28"},{"key":"e_1_2_8_10_2","doi-asserted-by":"publisher","DOI":"10.1145\/3203197"},{"key":"e_1_2_8_11_2","doi-asserted-by":"crossref","unstructured":"DaiA. ChangA. X. SavvaM. HalberM. FunkhouserT. Nie\u00dfnerM.:ScanNet: Richly\u2010annotated 3D reconstructions of indoor scenes. InIEEE Conference on Computer Vision and Pattern Recognition(2017) pp.5828\u20135839.","DOI":"10.1109\/CVPR.2017.261"},{"key":"e_1_2_8_12_2","doi-asserted-by":"publisher","DOI":"10.1145\/3272127.3275006"},{"key":"e_1_2_8_13_2","doi-asserted-by":"publisher","DOI":"10.1109\/83.623193"},{"key":"e_1_2_8_14_2","unstructured":"Blender Foundation.:Freestyle Introduction.Blender Foundation.2021.https:\/\/docs.blender.org\/manual\/en\/latest\/render\/freestyle\/introduction.html. (Accessed 24 July 2022)."},{"key":"e_1_2_8_15_2","unstructured":"Blender Foundation.:Geometry nodes Introduction.Blender Foundation.2021.https:\/\/docs.blender.org\/manual\/en\/latest\/modeling\/geometry_nodes\/introduction.html. (Accessed 06 November 2022)."},{"key":"e_1_2_8_16_2","doi-asserted-by":"publisher","DOI":"10.1145\/3528223.3530173"},{"key":"e_1_2_8_17_2","doi-asserted-by":"crossref","unstructured":"GansterB. KleinR.:An integrated framework for procedural modeling. InProceedings of the 23rd Spring Conference on Computer Graphics(2007) pp.123\u2013130.","DOI":"10.1145\/2614348.2614366"},{"key":"e_1_2_8_18_2","doi-asserted-by":"publisher","DOI":"10.1145\/3528223.3530078"},{"key":"e_1_2_8_19_2","doi-asserted-by":"crossref","unstructured":"GuillardB. RemelliE. YvernayP. FuaP.:Sketch2Mesh: Reconstructing and editing 3D shapes from sketches. InInternational Conference on Computer Vision(2021) pp.13023\u201313032.","DOI":"10.1109\/ICCV48922.2021.01278"},{"key":"e_1_2_8_20_2","doi-asserted-by":"crossref","unstructured":"HaoZ. Averbuch\u2010ElorH. SnavelyN. BelongieS.:DualSDF: Semantic shape manipulation using a two\u2010level representation. InIEEE Conference on Computer Vision and Pattern Recognition(2020) pp.7631\u20137641.","DOI":"10.1109\/CVPR42600.2020.00765"},{"key":"e_1_2_8_21_2","doi-asserted-by":"publisher","DOI":"10.1145\/142920.134011"},{"key":"e_1_2_8_22_2","doi-asserted-by":"publisher","DOI":"10.1145\/3355089.3356516"},{"key":"e_1_2_8_23_2","doi-asserted-by":"crossref","unstructured":"HuY. GuerreroP. HasanM. RushmeierH. DeschaintreV.:Node graph optimization using differentiable proxies. InACM SIGGRAPH Conference Proceedings(2022) pp.1\u20139.","DOI":"10.1145\/3528233.3530733"},{"key":"e_1_2_8_24_2","doi-asserted-by":"crossref","unstructured":"HuY. GuerreroP. HasanM. RushmeierH. DeschaintreV.:Generating procedural materials from text or image prompts. InACM SIGGRAPH 2023 Conference Proceedings(2023) pp.1\u201311.","DOI":"10.1145\/3588432.3591520"},{"key":"e_1_2_8_25_2","doi-asserted-by":"publisher","DOI":"10.1109\/TVCG.2016.2597830"},{"key":"e_1_2_8_26_2","doi-asserted-by":"publisher","DOI":"10.1145\/3386569.3392415"},{"key":"e_1_2_8_27_2","doi-asserted-by":"publisher","DOI":"10.1145\/3528223.3530084"},{"key":"e_1_2_8_28_2","doi-asserted-by":"publisher","DOI":"10.1111\/cgf.14935"},{"key":"e_1_2_8_29_2","doi-asserted-by":"publisher","DOI":"10.1145\/3414685.3417812"},{"key":"e_1_2_8_30_2","doi-asserted-by":"publisher","DOI":"10.1145\/3450626.3459821"},{"key":"e_1_2_8_31_2","unstructured":"JonesR. K. ChaudhuriS. RitchieD.:Learning to infer generative template programs for visual concepts. InForty\u2010first International Conference on Machine Learning(2024)."},{"key":"e_1_2_8_32_2","doi-asserted-by":"crossref","unstructured":"JonesR. K. WalkeH. RitchieD.:PLAD: Learning to infer shape programs with pseudo\u2010labels and approximate distributions. InIEEE Conference on Computer Vision and Pattern Recognition(2022).","DOI":"10.1109\/CVPR52688.2022.00964"},{"key":"e_1_2_8_33_2","unstructured":"KazhdanM. BolithoM. HoppeH.:Poisson surface reconstruction. InEurographics Symposium on Geometry Processing7 4(2006)."},{"key":"e_1_2_8_34_2","doi-asserted-by":"publisher","DOI":"10.1145\/2487228.2487237"},{"key":"e_1_2_8_35_2","unstructured":"KapurS. JennerE. RussellS.:Diffusion on syntax trees for program synthesis.arXiv preprint arXiv:2405.20519(2024)."},{"key":"e_1_2_8_36_2","doi-asserted-by":"publisher","DOI":"10.1109\/38.736469"},{"key":"e_1_2_8_37_2","doi-asserted-by":"crossref","unstructured":"LunZ. GadelhaM. KalogerakisE. MajiS. WangR.:3D shape reconstruction from sketches via multi\u2010view convolutional networks. InInternational Conference on 3D Vision(2017) pp.67\u201377.","DOI":"10.1109\/3DV.2017.00018"},{"key":"e_1_2_8_38_2","doi-asserted-by":"publisher","DOI":"10.1016\/0022-5193(68)90079-9"},{"key":"e_1_2_8_39_2","doi-asserted-by":"publisher","DOI":"10.1145\/3414685.3417763"},{"issue":"4","key":"e_1_2_8_40_2","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1145\/3528223.3530133","article-title":"Free2CAD: parsing freehand drawings into CAD commands","volume":"41","author":"Li C.","year":"2022","journal-title":"ACM Transactions on Graphics"},{"key":"e_1_2_8_41_2","doi-asserted-by":"publisher","DOI":"10.1145\/3272127.3275055"},{"key":"e_1_2_8_42_2","doi-asserted-by":"crossref","unstructured":"LippM. WonkaP. WimmerM.:Interactive visual editing of grammars for procedural architecture. InACM SIGGRAPH 2008 papers. (2008) pp.1\u201310.","DOI":"10.1145\/1399504.1360701"},{"issue":"4","key":"e_1_2_8_43_2","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1145\/3072959.3073637","article-title":"GRASS: Generative recursive autoencoders for shape structures","volume":"36","author":"Li J.","year":"2017","journal-title":"ACM Transactions on Graphics"},{"key":"e_1_2_8_44_2","doi-asserted-by":"crossref","unstructured":"MerrellP.:Example\u2010based model synthesis. InProceedings of the 2007 Symposium on Interactive 3D Graphics and Games(2007) pp.105\u2013112.","DOI":"10.1145\/1230100.1230119"},{"key":"e_1_2_8_45_2","doi-asserted-by":"publisher","DOI":"10.1145\/3592119"},{"key":"e_1_2_8_46_2","doi-asserted-by":"publisher","DOI":"10.1145\/3355089.3356527"},{"key":"e_1_2_8_47_2","doi-asserted-by":"publisher","DOI":"10.1145\/3450626.3459835"},{"key":"e_1_2_8_48_2","doi-asserted-by":"crossref","unstructured":"MerrellP. ManochaD.:Continuous model synthesis. InACM SIGGRAPH Asia 2008 Papers. (2008) pp.1\u20137.","DOI":"10.1145\/1457515.1409111"},{"key":"e_1_2_8_49_2","doi-asserted-by":"publisher","DOI":"10.1109\/TVCG.2010.112"},{"issue":"1","key":"e_1_2_8_50_2","first-page":"43","article-title":"The deco framework for interactive procedural modeling","volume":"1","author":"Mech R.","year":"2012","journal-title":"Journal of Computer Graphics Techniques (JCGT)"},{"key":"e_1_2_8_51_2","doi-asserted-by":"crossref","unstructured":"MeschederL. OechsleM. NiemeyerM. NowozinS. GeigerA.:Occupancy networks: Learning 3D reconstruction in function space. InIEEE Conference on Computer Vision and Pattern Recognition(2019) pp.4460\u20134470.","DOI":"10.1109\/CVPR.2019.00459"},{"key":"e_1_2_8_52_2","unstructured":"McCraeJ. P. SinghK.:Sketch\u2010Based Path Design. InProceedings of Graphics Interface(2009) pp.95\u2013102."},{"key":"e_1_2_8_53_2","doi-asserted-by":"publisher","DOI":"10.1145\/1141911.1141931"},{"key":"e_1_2_8_54_2","doi-asserted-by":"publisher","DOI":"10.1145\/3502220"},{"key":"e_1_2_8_55_2","doi-asserted-by":"crossref","unstructured":"ParkJ. J. FlorenceP. StraubJ. NewcombeR. LovegroveS.:DeepSDF: Learning continuous signed distance functions for shape representation. InIEEE Conference on Computer Vision and Pattern Recognition(2019) pp.165\u2013174.","DOI":"10.1109\/CVPR.2019.00025"},{"key":"e_1_2_8_56_2","doi-asserted-by":"crossref","unstructured":"ParishY. I. M\u00fcllerP.:Procedural modeling of cities. InProceedings of the 28th Annual Conference on Computer Graphics and Interactive Techniques(2001) pp.301\u2013308.","DOI":"10.1145\/383259.383292"},{"key":"e_1_2_8_57_2","doi-asserted-by":"crossref","unstructured":"PaschalidouD. vanGoolL. GeigerA.:Learning unsupervised hierarchical part decomposition of 3D objects from a single RGB image. InIEEE Conference on Computer Vision and Pattern Recognition(2020) pp.1060\u20131070.","DOI":"10.1109\/CVPR42600.2020.00114"},{"key":"e_1_2_8_58_2","unstructured":"RemelliE. LukoianovA. RichterS. GuillardB. BagautdinovT. BaqueP. FuaP.:MeshSDF: Differentiable iso\u2010surface extraction. InAdvances in Neural Information Processing Systems33(2020) 22468\u201322478."},{"key":"e_1_2_8_59_2","doi-asserted-by":"publisher","DOI":"10.1145\/2766895"},{"key":"e_1_2_8_60_2","unstructured":"StinyG. GipsJ.:Shape grammars and the generative specification of painting and sculpture. InIFIP congress (2)2 3(1971) pp.125\u2013135."},{"issue":"6","key":"e_1_2_8_61_2","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1145\/3414685.3417781","article-title":"MATch: Differentiable material graphs for procedural material capture","volume":"39","author":"Shi L.","year":"2020","journal-title":"ACM Transactions on Graphics (TOG)"},{"key":"e_1_2_8_62_2","doi-asserted-by":"publisher","DOI":"10.1145\/2766956"},{"key":"e_1_2_8_63_2","doi-asserted-by":"publisher","DOI":"10.1111\/cgf.12282"},{"key":"e_1_2_8_64_2","doi-asserted-by":"publisher","DOI":"10.1068\/b090113"},{"key":"e_1_2_8_65_2","unstructured":"SimonyanK. ZissermanA.:Very deep convolutional networks for large\u2010scale image recognition. InInternational Conference on Learning Representations(2015)."},{"key":"e_1_2_8_66_2","doi-asserted-by":"crossref","unstructured":"TchapmiL. P. RayT. TchapmiM. ShenB. Martin\u2010MartinR. SavareseS.:Generating procedural 3D materials from images using neural networks. InProceedings of the 2022 4th International Conference on Image Video and Signal Processing(2022) pp.32\u201340.","DOI":"10.1145\/3531232.3531237"},{"key":"e_1_2_8_67_2","doi-asserted-by":"crossref","unstructured":"UyM. A. PhamQ.\u2010H. HuaB.\u2010S. NguyenD. T. YeungS.\u2010K.:Revisiting point cloud classification: A new benchmark dataset and classification model on real\u2010world data. InInternational Conference on Computer Vision(2019) pp.1588\u20131597.","DOI":"10.1109\/ICCV.2019.00167"},{"key":"e_1_2_8_68_2","doi-asserted-by":"crossref","unstructured":"VanegasC. A. AliagaD. G. BenesB.:Building reconstruction using manhattan\u2010world grammars. In2010 IEEE Computer Society Conference on Computer Vision and Pattern Recognition(2010) pp.358\u2013365.","DOI":"10.1109\/CVPR.2010.5540190"},{"key":"e_1_2_8_69_2","doi-asserted-by":"publisher","DOI":"10.1145\/1618452.1618457"},{"key":"e_1_2_8_70_2","doi-asserted-by":"publisher","DOI":"10.1145\/2366145.2366187"},{"key":"e_1_2_8_71_2","doi-asserted-by":"publisher","DOI":"10.1145\/3528223.3530068"},{"key":"e_1_2_8_72_2","doi-asserted-by":"publisher","DOI":"10.1145\/2366145.2366184"},{"key":"e_1_2_8_73_2","doi-asserted-by":"crossref","unstructured":"WangK. GuerreroP. KimV. G. ChaudhuriS. SungM. RitchieD.:The shape part slot machine: Contact\u2010based reasoning for generating 3D shapes from parts. InEuropean Conference on Computer Vision (ECCV)(2022) pp.610\u2013626.","DOI":"10.1007\/978-3-031-20062-5_35"},{"key":"e_1_2_8_74_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.gvc.2021.200018"},{"key":"e_1_2_8_75_2","doi-asserted-by":"publisher","DOI":"10.1145\/3326362"},{"key":"e_1_2_8_76_2","doi-asserted-by":"publisher","DOI":"10.1145\/882262.882324"},{"key":"e_1_2_8_77_2","doi-asserted-by":"publisher","DOI":"10.1145\/2601097.2601162"},{"key":"e_1_2_8_78_2","doi-asserted-by":"crossref","unstructured":"YumerM. E. AsenteP. MechR. KaraL. B.:Procedural modeling using autoencoder networks. InProceedings of the 28th Annual ACM Symposium on User Interface Software & Technology(2015) pp.109\u2013118.","DOI":"10.1145\/2807442.2807448"},{"key":"e_1_2_8_79_2","doi-asserted-by":"crossref","unstructured":"YueZ. YuliaG. HonggangZ. Yi\u2010ZheS.:Deep sketch\u2010based modeling: Tips and tricks. InInternational Conference on 3D Vision(2020) pp.543\u2013552.","DOI":"10.1109\/3DV50981.2020.00064"},{"key":"e_1_2_8_80_2","unstructured":"ZhangS.\u2010H. GuoY.\u2010C. GuQ.\u2010W.: InIEEE Conference on Computer Vision and Pattern Recognition(2021) pp.6012\u20136021."},{"key":"e_1_2_8_81_2","doi-asserted-by":"publisher","DOI":"10.1111\/cgf.14602"},{"key":"e_1_2_8_82_2","doi-asserted-by":"publisher","DOI":"10.1109\/TCSVT.2020.3040900"}],"container-title":["Computer Graphics Forum"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/pdf\/10.1111\/cgf.15276","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,5,31]],"date-time":"2025-05-31T11:31:31Z","timestamp":1748691091000},"score":1,"resource":{"primary":{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/10.1111\/cgf.15276"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2025,2]]},"references-count":81,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2025,2]]}},"alternative-id":["10.1111\/cgf.15276"],"URL":"https:\/\/doi.org\/10.1111\/cgf.15276","archive":["Portico"],"relation":{},"ISSN":["0167-7055","1467-8659"],"issn-type":[{"value":"0167-7055","type":"print"},{"value":"1467-8659","type":"electronic"}],"subject":[],"published":{"date-parts":[[2025,2]]},"assertion":[{"value":"2025-02-12","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}],"article-number":"e15276"}}