Jeffrey M. Barber

Tombstone

world-bootstrap

Dec 2014 โ€“ Jan 2016 ยท age 32โ€“34

What it was

A 2D CAD program on an infinite canvas, meant for game levels, gardens, room layouts, diagrams and photo collages, written in Java 8 and JavaFX. Every thing in a document, whether circle, polygon, path, image, connector or turtle, was a bag of parts such as position, rotation, colour, layer and point set, and the document iterated behaviours rather than types. A precedence solver decided what a mouse-down meant across every thing at once. Undo history was stored as field diffs that branched when you edited after an undo, and the whole tree was saved inside the document. Dragging back-buffered the unselected world. Scripts reached the model through a small query language. It came in two sprints a year apart, and its final commit read "boom, a turtle is alive", above a README that said everything was broken.

Wins, for the age

What it taught

Genealogy

Ancestors: Pixel Master: an editing model kept apart from its platform, with undo as data. Zer: the JavaFX shell for tools that push things around in 2D. Z Terrain Editor: the long habit of building editors for worlds. Z Time Alloc: draggable handles and snap-to-grid, first learned in 2001. Descendants: Goat: things on a canvas, now in service of board games on every screen. Adama Core: documents where every change is a reversible delta.

Epitaph

Here lies world-bootstrap. It remembered every undo, even the branches you walked away from, and drew its first turtle line the night it stopped.