Feed

A weird effect on the way to something else.


I can put all the constraint systems apps in iframes, I think.


Thinking about text zoom.


Mosaic - recreate an image using tiles from another image.

From: https://mosaic.constraint.systems


Image compression


Collage - an experimental public collage that combines images according to their complexity.

From: https://collage.constraint.systems


Displacement map peaks.


Displacement map experiment.


Returning to a collage tool.


Type - A directed typing experiment. You choose the direction the letters should flow.

From: https://type.constraint.systems


Working out directed text mechanics.


Working on newlines, with some bugs in my angle calculations.


Directed typing test.


Returning to text.


Push and pull blocks to distort an image.

From: https://push.constraint.systems

Towards more manageable pointer events

Working with mouse and touch events is one of the biggest challenges for me in making interactive web apps. The availability of pointer events helps a lot, but I still pretty quickly end up with a mess of conditionals that are hard to reason about. I'm working on some new strategies and abstractions to help with this.

PointerOne, PointerTwo, PointerThree

The pointer event API provides events for pointerDown, pointerMove, and pointerUp. Using the pointerId provided you can link those events together into a continuous Pointer object that contains the whole lifecycle. I put this together into a SubPointer class.

Read more

Refactored and got area selection working. Though what area selection should do in a 3D-ish environment turns out to be a whole thing.


-1631026753.gif)-1631026753.gif)

Exploded.


Could probably do some pretty questionable data visualization with this.


Expand.