Date: Sat, 17 Jan 2015 14:29:43 -0800
From: Toby Schachman
Subject: Apparatus foundations
Here is the current state of the "prototypal inheritance" system in Apparatus.

https://dl.dropboxusercontent.com/u/1802603/misc/stage3.mp4

Inline image 2

The properties that are inherited have gray labels while the overridden ("has own") properties are in black. (I welcome alternative visual indicators for this if you have ideas...)

The interesting thing about the system, what makes it different than Self prototypes, is that structure is inherited as well. So for example if you make a group with children, then a clone of that group will inherit clones of the children. This isn't well illustrated in this video, but it works (the "Variables" etc are implemented as "children" behind the scenes).


I'm thinking that this next version will have an entity-component system for the "operations" that are applied to a shape. That is, a shape (say a circle) is an entity and it will have components (transforms, fills, strokes, shadows, etc) that change how it looks or behaves.

My goal is to support the same kind of multiple fills and shadows that Sketch supports.

Inline image 3

It's too early to tell, but one thing I'm worried about with the Card interface, at least when in columns above the canvas, is that there won't be enough space to see all this information.

Additionally, Sketch and similar programs have specialized inspector interfaces for each component.

Inline image 5

I'd like to balance the convenience and compactness of these interfaces with the genericness of my current "list of expressions" interface.

Inline image 6

I'm hoping that adding scrubbable numbers, color pickers for color strings, checkboxes for booleans, and perhaps other widgets to make literals more appropriately manipulable will be enough to make the "code editor" feel appropriately non-code-y for most cases but still have the code editor capabilities when you need them.