CraftML: 3D Modeling is Web Programming Tom Yeh Jeeeun Kim Computer Science University of Colorado Boulder ftom.yeh,
[email protected] ABSTRACT simplification often limits designers to creating simple appli- We explore web programming as a new paradigm for program- cations; there is not a clear path to professional applications. matic 3D modeling. Most existing approaches subscribe to Another issue is program interpretability. Even for skilled the imperative programming paradigm. While useful, there programmers, there exists a significant gulf of evaluation be- exists a gulf of evaluation between procedural steps and the tween the source code and its output. Given a piece of code, to intended structure. We present CraftML, a language providing interpret the structure it generates, one must read each step in a declarative syntax where the code is the structure. CraftML the code and mentally simulate its effect. As a result of these offers a rich set of programming features familiar to web de- issues, a great majority of 3D model designers do not use a velopers of all skill levels, such as tags, hyperlinks, document programmatic modeling tool [7, 25]. While a growing number object model, cascade style sheet, JQuery, string interpolation, of parametric models can be found online, they represent only template engine, data injection, and scalable vector graphics. a very small percentage of all shared models. We develop an online IDE to support CraftML development, These issues could stem from the programming paradigm with features such as live preview, search, module import, and adopted by most current programmatic 3D modeling tools— parameterization. Using examples and case studies, we demon- the imperative paradigm.