I (Eric Dobbs) admire Apparatus which was brought to my attention by Bret Victor, whom I also admire. Been thinking about how I might connect apparatus to wiki. site
Our proof-of-concept began as an experimental plugin which was replaced by the frame plugin. About Frame Plugin
//apparatus.wiki.dbbs.co/?load=examples/Wheel+Diagram.json&fullScreen=1&viewOnly=1&editLink=1®ionOfInterest={"x":[-6,6],"y":[-1,3]} See also: aprt.us
Reviewing commits from earlier this year, I noticed a thing about a "viewer". Not much in the way of docs, but looks like there are tests. The prototype created an initial plugin which included the viewer (in a fashion similar to a video player). commit
Apparatus itself wants a whole browser for editing. Graphics editing inside a wiki page seems quite limiting -- not enough screen real estate. But while I was browsing the code and tests, I did find docs about self-hosting an installation. I containerized apparatus for use in a local installation: Container dobbs/apparatus
Many months ago I created a model in aprt.us to help explain why programming around time is so painful. Well, maybe I created that more so I could have a tool to think with next time I needed to reason about time-related code. Either way, I learned how to save and load my explorable. So... maybe create a transporter for moving a saved model into a wiki. See Time Zone Problems
.
There are many choices to make.
The apparatus editor offers ways to save a diagram to one's laptop and to reload it into an editor later.
Here we have hosted apparatus in a container under the same namespace but not really within wiki. apparatus.wiki.dbbs.co is a virtual host pointing to the containerized apparatus.
It begs questions about how to simplify a workflow for saving and publishing diagrams.
Since the apparatus data structure is json, can the json plugin be combined in some way?
I'm not crazy about that markup. I used the `X` an `Y` bounds to compute the height of the iframe. But I also wish the viewer could read the bounds from the diagram's .json. With the Frame plugin, the author must know how to construct a url to invoke the viewer. That's not particularly discoverable.
DOT strict digraph rankdir=LR node [shape=box style="filled,rounded" fillcolor=bisque] HERE NODE node [style="filled,rounded,dotted" fillcolor=white] edge [style=dotted] BACKLINKS NODE -> HERE HERE BACKLINKS NODE -> HERE HERE BACKLINKS NODE -> HERE node [style="filled,rounded,solid" fillcolor=palegreen] edge [style=solid] LINKS HERE -> NODE STATIC strict digraph { rankdir=LR node [shape=box style="filled,rounded" fillcolor=bisque] "Apparatus" node [style="filled,rounded,dotted" fillcolor=white] edge [style=dotted] "Reflection 2017" -> "Apparatus" "Secure Cooperation Picture Book" -> "Apparatus" "Sowing Apparatus" -> "Apparatus" "Applied Wiki: Player Experience" -> "Secure Cooperation Picture Book" "Drawing to Think" -> "Secure Cooperation Picture Book" "Isolation without Containers" -> "Secure Cooperation Picture Book" "Journal 2018" -> "Secure Cooperation Picture Book" "Reflection 2017" -> "Sowing Apparatus" node [style="filled,rounded,solid" fillcolor=palegreen] edge [style=solid] "Apparatus" -> "About Frame Plugin" "Apparatus" -> "Container dobbs/apparatus" "Apparatus" -> "Time Zone Problems"}