  Learning to encode differences in the geometry and (topological) structure of
the shapes of ordinary objects is key to generating semantically plausible
variations of a given shape, transferring edits from one shape to another, and
many other applications in 3D content creation. The common approach of encoding
shapes as points in a high-dimensional latent feature space suggests treating
shape differences as vectors in that space. Instead, we treat shape differences
as primary objects in their own right and propose to encode them in their own
latent space. In a setting where the shapes themselves are encoded in terms of
fine-grained part hierarchies, we demonstrate that a separate encoding of shape
deltas or differences provides a principled way to deal with inhomogeneities in
the shape space due to different combinatorial part structures, while also
allowing for compactness in the representation, as well as edit abstraction and
transfer. Our approach is based on a conditional variational autoencoder for
encoding and decoding shape deltas, conditioned on a source shape. We
demonstrate the effectiveness and robustness of our approach in multiple shape
modification and generation tasks, and provide comparison and ablation studies
on the PartNet dataset, one of the largest publicly available 3D datasets.
