Towards optimistic version control in architecture: A high-level design for a program that implements diffing, patching, and merging for openNURBS 3D models
{"title":"Towards optimistic version control in architecture: A high-level design for a program that implements diffing, patching, and merging for openNURBS 3D models","authors":"Nicholas Rawlings, Dimitris Papanikolaou","doi":"10.1177/14780771231154485","DOIUrl":null,"url":null,"abstract":"The ability of architects to collaborate and work in parallel on digital assets is limited by pessimistic strategies for managing shared files. The software engineering community has worked around this problem by adopting optimistic version control techniques, which rely on the ability to diff, patch, and merge versions of the files they manage. Unfortunately, the diffing, patching, and merging algorithms in existing version control systems are designed to work with text, and not with the types of files, such as 3D models, most commonly used by architects. This paper presents a high-level design for a command line program capable of diffing, patching, and merging openNURBS models, an open source 3D model format that enjoys widespread use among architects and other designers. Key algorithms are illustrated through simple geometric examples, and future plans to integrate the program into an existing version control system are described.","PeriodicalId":45139,"journal":{"name":"International Journal of Architectural Computing","volume":" 47","pages":"635 - 651"},"PeriodicalIF":1.6000,"publicationDate":"2023-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"International Journal of Architectural Computing","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1177/14780771231154485","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"0","JCRName":"ARCHITECTURE","Score":null,"Total":0}
引用次数: 0
Abstract
The ability of architects to collaborate and work in parallel on digital assets is limited by pessimistic strategies for managing shared files. The software engineering community has worked around this problem by adopting optimistic version control techniques, which rely on the ability to diff, patch, and merge versions of the files they manage. Unfortunately, the diffing, patching, and merging algorithms in existing version control systems are designed to work with text, and not with the types of files, such as 3D models, most commonly used by architects. This paper presents a high-level design for a command line program capable of diffing, patching, and merging openNURBS models, an open source 3D model format that enjoys widespread use among architects and other designers. Key algorithms are illustrated through simple geometric examples, and future plans to integrate the program into an existing version control system are described.