An Open Repository of Prototype Structures
for the Visual Domain
Some Elements:
Diagrams (clickable):

ProtoPedia is equipped with a user interface that makes it, in effect, an open diagramming/drawing system to which JavaScripting users can add their own parameterized visual elements, and "kits" (generators for particular types of diagrams, e.g. trees or gauges). These elements and kits become available in the user interface, and can be shared (at the user's discretion) with the community.

Technology: ProtoPedia emerges from a new technical foundation: a variety of JavaScript component which encodes prototype structure.

Prototypical inheritance is central to JavaScript. However, in normal practice, prototype structure is missing from stored (e.g, JSON) versions of objects. In ProtoPedia, stored objects, representing diagrams and their elements, retain their prototypical aspects. This is accomplished by the use of the new component, the prototype tree.

Practical capabilities: Prototype structure is exposed in the user interface. Among other things, the scheme supports replacing parts of any item with functionally equivalent elements in the repository via prototype swapping, and editing the properties of both instances and prototypes. A swap sequence:

Hybrid construction: Diagrams or drawings can be built in the user interface, by code, or from data, and then extended and modified in the interface.

Open source foundation. The core of the system, including the implementation of prototype trees, and their graphical realization via SVG, is freely available under the MIT license. Here is its GitHub repository.

Development stage: functional proof of concept (pre-beta)