Yarn

Yarn is a tool where you construct a sort of mind-map / knowledge graph of a narrative plot and/or characters and/or events and then get the AI to generate images with the whole "world model" of your narrative in context.

Project Log

September 2025

I came up with the basic idea for Yarn while riffing with some folks that I play TTRPGs with:

Draw a bubble for a new "scene," connect lines to some concepts that exist in that scene, add a little prose description of what is going on, and then have the AI draw from those relationships to produce a series of images (automatically taking into account an overall narrative aesthetic as well as existing art for the connected concepts in the graph).

We may think of it as a domain-specific knowledge graph for TTRPG narrative. The knowledge graph facilitates generating on-style art assets to supplement the TTRPG gaming experience.

There are a handful of pragmatic trailheads to choose from when going about prototyping an idea like this. But, who has the time for pragmatism? I set about designing the hypothetical logo instead.

First, I worked with Gemini to narrow down an interesting concept for use as a reference:

Iteration towards a reference, via Gemini

Next, I plopped the reference into Figma and attempted to redraw it with an eye towards geometric symmetry. However, I was only able to get so far with this:

Hand-drawn 2D geometry in Figma

I quickly realized that precise, hand-drawn geometry is not Figma's strength. The next step was obvious: I would model the design in Blender.

To start, I used my Figma lines as a reference to produce an approximately similar geometry:

Basic 3D geometry in Blender

Using a combination of vertex groups and Blender's geometry node graph, I marked the outer edge of the geometry:

"Outer" edge of 3D geometry

Knowing the outer edge, we create a basic shader to express the same color banding that can be seen in the reference that Gemini produced:

Shaded geometry showing base color bands

Having already discriminated by the outer edge, I used a similar technique to assign monotonic sequential indices to the "ribs" of the geometry. This allowed me to produce the desired two-tone-per-band effect in the shader:

Shaded geometry with two-tones per base color band

All that was left was to light it and smooth out the color transitions somewhat. I love producing 2D designs in Blender for multiple reasons, but perhaps my favorite reason is that I get to play with the designs in 3D space:

Inspecting the final result in Blender

And last but not least, the finished logo. I find it to be a delightful improvement over the AI-generated reference asset:

The finished logo