A ClojureScript version of the classic Sketchpad for the browser. Very incomplete.
JavaScript Clojure
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
resources/public
src
test/sketchpad
.gitignore
README.md
project.clj

README.md

Sketchpad

A ClojureScript recreation of Ivan Sutherland's Sketchpad, the first graphical user interface program, and still one of the best.

References

Status

  • DONE: Basic drawing of points, circles, and lines, rendered to
  • TODO: add arcs, erasure, numbers, other drawable items
  • TODO: update the UI to have real affordances
  • TODO: masters and instances
  • IN PROGRESS: constraints
    • DONE: reproduce the basic interface of Sketchpad's energy-relaxation solver.
    • TODO: debug possible infinite loops, perf problems in naive relaxation solver. Make constraint solver async, yielding control so events can be handled.
    • TODO: add constraint types: midpoint, perpendicular, same length
    • TODO: add a UI for adding and viewing constraints
    • ?: reproduce the faster solver method that identifies a DAG of constraint dependencies

License

Copyright © 2013 Adam Solove

Distributed under the Eclipse Public License, the same as Clojure.