Programmable Ink Lab Notes
title
Playbook material studies
dated
Q2 2024
author
Marcel Goethals

Towards the end of the playbook design phase, I spent some time doing small code-sketches, trying to figure out some of the material physics.

2024-03-08

Another idea: Fills could have a kind of “memory goo” physics. This could be the way to transfer behaviour from one shape to another. You can then create a fill inside one box that transfers and adapts to boxes of roughly the same shape & size.

2024-03-17

We’ve been talking a lot about how ink should feel as a material. One idea I had was that you should be able to select partial ink strokes, but that ink should stay connected, turning strokes into rubbery noodles. This feels pretty good, because it allows you to do relatively simple deformations without any need for structuring whatsoever. Perhaps this could be extended to work as a programmable primitive if the user can attach handles to different areas of ink?

2024-03-19

A little prototype exploring a ‘flood fill’ style flux. The idea is to use this to select regions of space. It has some surface tension, so it will even jump over thin strokes like the checkmark, while staying contained within shapes with small gaps. The little hairs are particles that the algorithm uses to grow the interior shape, and trace the boundry. This will still fail for shapes that loop around because the particles will meet each other… work in progress

2024-03-21

It seems useful to be able to draw connections between things with ink, rather than some special wire component. I think it’s a failure mode to use individual strokes as the unit of connectivity, you want to be as informal as possible. For example, I’d like to be able to cut and re-connect a wire by just erasing a bit, and then redrawing it. That requires some kind of primitive for finding connectivity. This prototype implements a simple ‘continuous path’ tracing algorithm, that traces along ink path given a starting point. It’ll ignore specific ink strokes and instead follow visual continuation.

Experimenting here with a stopping condition. We want the flux to flow along the wire, but not cover the actual component…

2024-05-15

Flux spreading with dynamic control over the amount of flux. This almost feels like the right thing, there’s two things that I’d like to try to improve this: 1. Detents on whole strokes (it’s too fiddly right now). 2. Some kind of directional hinting (I.e. I want more control over the direction of jumps between strokes, and also maybe visualise the jumps)

2024-06-16

Directionally biassed flux. Prefers flow towards the right over jumps in other directions.

2024-05-23