Website Pages:

Welcome to Pipeline Design Patterns
A Theory of Pipeline
Pipeline Design Patterns
Bake / Baking
Case Studies

Sections in this Page:

Pipeline Design Patterns
Planned Representation Patterns
Planned Revision Patterns
Planned Variation Patterns


A Vocabulary for Diagrams

Pipeline Design Patterns

The basic building blocks of pipelines.


Saving an intermediate result to avoid recalculation, latency, or dependency craziness.

Bake / Baking

Baking is caching one set of data in the context of another.


Changing representations on an aggregation.

I have just a few patterns done. I chose these because they were, for various reasons, a good exercise of the tech stack and diagramming constructs,

What follows is planned content. These mostly came from analyzing the various case studies.

I hestitate to mention planned content before it is ready, but several people have asked me what the book will cover.

Planned Representation Patterns

Assembly and Schema

Building structure from components.


Bringing lots of stuff together.

Baked Response

A type of baking involving two applications of the data, a cached (baked) pre-calculation, and a final calculation. (Better definition needed!)


Optimized storage.

Extended Schema

The full-pipeline footprint of an asset.

Flattened Representation

Getting rid of hierarchy and structure.


The out-of-schema component.

Streaming Formats

Organize the data in the order it needs to be read.


Mapping the execution parameters of one object into the attribute schema of another.


Converting a source assembly into a run-time context.

Cache, Access

Optimizing the lookup of data.

Cache, Execution

Optimizing the calculation of data.


Making one representation look like another.

Instancing Engine

How to represent lots of stuff.

Level of Detail

Different representations for different visualization requirements.

Planned Revision Patterns

These define how a pipeline handles collaboration and review. How do artists share work, and—just as important—how do they work in isolation?


Making work available downstream.


Acquiring work downstream


Could be thought of as a representation pattern.


Could be thought of as a representation pattern.

Cached Context

A quasi-assetized revision state, useful to save and restore.

Asset Management

Immutability, Coherence, Schema, ...

Indirection and Pin

Hiding the explicit revision.

Override / Sequential Resolution

For example, path-based file overrides.

Query-Based Resolution

Using metadata, tags, or labels.


The ultimate collaboration design pattern.

Push vs. Pull

Push is not always better!

Planned Variation Patterns

These define how a pipeline handles artistic complexity.

Object vs Instance Variation

Variation that can be subsumed in the object definition, vs the irreducable complexity of parenting and placement.

Attribute Override


Activation / De-Activation

In the scene but not visible.

Speculative Attribute

Setting an attribute that doesn't exist yet.

Attribute Groups

Orthogonal Attribute Groups

Tall vs Short, Male vs Female, Blonde vs Brunette.

Procedural Variation

How to get a lot of variation in the scene.


Giving a set of specialization attributes a distinct name or handle, by various means.