Sketch-n-Sketch: Output-Directed Programming for SVG
Brian Hempel, Justin Lubin, Ravi Chugh

TL;DR
This paper enhances Sketch-n-Sketch with new output-directed techniques, enabling more expressive, flexible, and interactive SVG programming by integrating intermediate manipulation, contextual drawing, and refactorings, including recursive functions.
Contribution
It introduces novel output-directed methods that extend Sketch-n-Sketch's capabilities, allowing more complex and recursive SVG programs without text edits.
Findings
Implemented a dozen new parametric designs
Demonstrated building recursive functions in output-directed programming
Enhanced expressiveness and flexibility of SVG creation
Abstract
For creative tasks, programmers face a choice: Use a GUI and sacrifice flexibility, or write code and sacrifice ergonomics? To obtain both flexibility and ease of use, a number of systems have explored a workflow that we call output-directed programming. In this paradigm, direct manipulation of the program's graphical output corresponds to writing code in a general-purpose programming language, and edits not possible with the mouse can still be enacted through ordinary text edits to the program. Such capabilities provide hope for integrating graphical user interfaces into what are currently text-centric programming environments. To further advance this vision, we present a variety of new output-directed techniques that extend the expressive power of Sketch-n-Sketch, an output-directed programming system for creating programs that generate vector graphics. To enable output-directed…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Software Testing and Debugging Techniques · Web Data Mining and Analysis
