{"title":"在架构中实现乐观的版本控制:为 openNURBS 3D 模型实现差异、修补和合并的高级程序设计","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":"{\"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}","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}
Towards optimistic version control in architecture: A high-level design for a program that implements diffing, patching, and merging for openNURBS 3D models
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.