Feed

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.

State of mind: scattered thoughts on Typescript, three.js, and class-based architecture

I'm possibly in the midst of revising a bunch of my assumptions about how I like to code projects, so I wanted to write down my current thoughts. I'm probably in a honeymoon phase with the new set-up, so it's possible as I work longer I'll run into a bunch of walls and complications and end up re-revising.

Typescript

I have been avoiding trying Typescript, but I've now seen too much work from people working on involved interfaces (mainly Steve Ruiz's work and the Excalidraw project) to justify not at least trying it. So I've been trying it on the new prototype and I think I like it. Barring running into some tremendous catch, I think I'll use it from here on out.

Read more

Reworking corner resize (and many other things).


Sampling.