A digital heart you can actually make

Heart + Craft

Jordan Lyall and I made a generative block heart that also tells you how to build the same heart in real life.

The render is only the start. The files, paint, glue, your own imperfect hands, and a later bridge into send/receive are the rest.

Project 08 of 11collaboration / physical-output work
Heart + Craft #0: a generated block heart whose geometry doubles as a physical making plan.
Heart + Craft #0View live
Released
Aug 24, 2023
Format
Generative artwork and physical blueprint
Edition
Inclusive Edition
Platform
Prohibition / Art Blocks Engine

The Idea

The render was never supposed to be the end

Jordan Lyall and I made Heart + Craft together. Each artwork is a generated 3D block heart, but it is also a plan for making that exact heart in the real world.

You can print the blocks, figure out the colors, paint them, and put the whole thing together. Yours probably won't come out perfectly, and I think that is great. The time and your hand are part of it.

We also tried something called an Inclusive Edition. The basic idea was to make it easy to participate and not build the whole release around scarcity, urgency, and FOMO.

Digital And Physical

Every heart works as a digital piece and as a plan for making a physical version.

Made With Jordan Lyall

I brought the old physical block-heart idea, and Jordan and his team built the algorithm. We worked through the artwork and release together.

Built On Arbitrum

We used Arbitrum so the release could be large and much less expensive to participate in.

Inclusive Edition

We kept the price low and the supply flexible because we didn't want the main feeling to be 'hurry up or miss it.'

Digital To Physical

From the screen to your hands

The shape sits on a grid. Every occupied spot gets one of exactly six block heights, then the color system decides how to paint it. The artwork gives you all that information. You do the messy, human part.

01 / Generate

The algorithm chooses Small or Large, gives every occupied spot one of six heights, and then runs a separate color strategy over the blocks.

02 / Read The Blueprint

The live work and instructions turn that output into blocks, colors, and a plan you can follow.

03 / Print And Prepare

Print the blocks and get the paint and materials ready. This is where you finally have to make a mess.

04 / Paint And Assemble

Paint the blocks and glue the rows together. Now the same artwork exists as something you made.

Take One Apart

Every heart is a tiny set of decisions

Pick an output and turn it around. This is the actual artwork, not a recreation. Drag to rotate, scroll to zoom, right-drag to pan, and double-click a block to see its height and face colors.

Only this one heart is live at a time. That keeps the page from trying to run thirty WebGL scenes just because you wanted to compare orange things for a minute.

Turning on the real artwork…#0

The Block Types

One color, two colors, or possibly complete chaos

Type controls the faces of a block. These are the three possibilities behind the Blocks choice in the little mixer above.

StandardOne chosen color wraps all six faces of each block. The color can still travel across the heart.
Bi-ColorEach block gets a main color plus a second color. One lives on the face; the other wraps the sides.
HyperThe tidy rules loosen up. Hyper, Hyper+, and Hyper++ move from one random color per block to a possible color on every face.

The Color Strategies

Eleven ways for color to behave

A strategy moves through the palette, while Spread and Speed decide how much and how quickly. Confetti can interrupt most of them with a contrasting color family.

X-Gradient
Color travels from column to column across the heart.
Y-Gradient
Color travels row by row from top to bottom.
Linear Gradient
The palette advances in the order the blocks are laid out.
Radial Gradient
Color changes by distance from a generated point, so it blooms outward.
Random Mix
Colors are sampled around a starting place in the palette instead of following a direction.
Outline
The outside edge and inner body are treated as separate color regions.
Glisten
A mostly solid heart gets two small, deliberate glints.
Solid
Spread and speed settle down to zero, leaving one quiet base color.
Hyper
Every block chooses a color; all of that block's faces agree.
Hyper+
Each block chooses one color for the face and another for its sides.
Hyper++
Every one of a block's six faces may choose its own color.

Exactly Six Heights

The footprint never changes. Only the height does.

Each occupied spot in the heart gets one block with a 1-inch / 25.4 mm square footprint, and the algorithm chooses one of these six heights. Color is a separate decision: any height can be painted any color the output calls for.

There is a zero in the shape data too, but zero means “leave this spot empty.” It is how the rectangular grid becomes a heart. It is not a mysterious seventh block, although that would be kind of funny.

XS1/4" · 6.35 mm
S3/8" · 9.53 mm
M1/2" · 12.70 mm
L5/8" · 15.88 mm
XL3/4" · 19.05 mm
XXL7/8" · 22.23 mm

The Paint Shelf

Thirty-three named colors, plus grayscale

These are the algorithm’s digital targets. Real paint will drift, the light in your room will drift, and your brush will leave evidence. That is not a failed copy. That is the craft part.

Zangief
Noel
Webslinger
Kern
Ducreux
Ronin
Stoic
Mamba
Police Cap
Kootenai
Gwei
Outatime
Koufax
Skyler
Smint
Aurelius
Napali
Vandelay
Discovery
Topo
Slice
Brinkman
Anana
Del Rey
Tiara
Clemente
Tangerine
Satoshi
Fullerton
Melte
Unagi
Valencia
Clown Nose
Black
Dark Gray
Medium Gray
Light Gray
Very Light Gray
White

A Small Detour

Make it 64 × 64

Every time you load a Heart + Craft above, I automatically turn it into a tiny transparent pixel heart down here. It reads the block colors and heights from that same live artwork. No second copy hiding behind the curtain.

Download it because you like tiny things, or take it over to the send/receive pixel editor and mess with it. You can leave it exactly as it came out or keep drawing over it until it becomes something else.

Open the send/receive studio →

Making the little one…

The Inclusive Edition

We didn't want FOMO to be the point

An Inclusive Edition is a little different from a normal open edition. There wasn't a tiny mint window or a fixed cap designed to make everyone rush. We kept the price low, left room in the supply, and tried to let people show up without feeling pressured.

That wasn't just launch mechanics to us. We wanted the value to come from the object, the making, and the experience—not from making people anxious that they were about to miss their chance.

What You Actually Get

The same heart can show up a few different ways

You can experience the work as a live 3D heart, an image, a set of instructions, a pile of freshly printed blocks, a half-painted mess on a table, or a finished object. I like all of those states.

The physical version gets personal fast. Different printers, paint, surfaces, patience levels, and hands will change the result, even when everyone starts with the same basic process.

  • Generated 3D heart
  • Artwork-specific making information
  • Print, mix, paint, and assemble
  • Whatever happens when you make it yourself

How We Made It

A physical idea, worked out together in code

I had been making analogue block-heart objects for years before this collection. I brought that physical language, the color system, and the 3D block idea. Jordan and his team built the algorithm that made it generative. We worked through how all of those pieces should behave together.

Jordan had also founded Prohibition as an experiment in making generative art easier and less expensive to enter. We used it to try an Inclusive Edition where participation mattered more than squeezing the supply.

So the direction is kind of funny: a physical idea went into code, and then the code gave thousands of people a way to bring it back out into the physical world.

Where It Led

This one kept opening doors

Heart + Craft pulled together a lot of things I already cared about: color, tiles and cubes, accessible editions, physical objects, and letting the person who owns something participate in it.

From here I kept going. /// generates embroidery files. LIFT generates software and physical game objects. I even made a tool that can turn a Heart + Craft into a sprite for send/receive.

Go Look Around

See the work in both directions

The official site explains the Inclusive Edition and the making process. Open the live artwork too. It is fun to see the digital thing moving before you imagine it covered in paint and glue.

Dates

A few dates

  • 2023-08-24Release / first mintsourced

Provenance

On-chain details

  • Art Blocks / ProhibitionArbitrum0x47a91457a3a1f700097199fd63c039c4784384ab

In The Bigger Picture

Where this one goes

Surface
Block-heart image
Deeper Layer
The digital heart is also a blueprint, and then you have to make the thing
Builds On
Ceramics, Friendship Bracelets, and my growing interest in handing some of the work back to the owner
Sets Up
The Heart converter in send/receive and a lot more thinking about useful files

Sources

Where this came from

These are the public links I used to check the dates and details. A few of them also have much longer versions of the story.

Official / primary

Press / context

Generative Goods context