Website Pages:

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

Sections in this Page:

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

Definitions:

A Vocabulary for Diagrams
Glossary

Pipeline Design Patterns

The basic building blocks of pipelines.

Cache

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.

Conform

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.

Aggregation

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!)

De-Duplication

Optimized storage.

Extended Schema

The full-pipeline footprint of an asset.

Flattened Representation

Getting rid of hierarchy and structure.

Sidecar

The out-of-schema component.

Streaming Formats

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

Binding

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

Build

Converting a source assembly into a run-time context.

Cache, Access

Optimizing the lookup of data.

Cache, Execution

Optimizing the calculation of data.

Harness/Adapter

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?

Publishing

Making work available downstream.

Subscription

Acquiring work downstream

Convert-on-Publish

Could be thought of as a representation pattern.

Convert-on-Subscribe

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.

Sandbox

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

Redeclaration.

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.

Variant

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