A JSON Recipe Generates Every Vinyl Doll: Head, Hair, and Floating Gloves at Runtime
Procedural character pipelines usually collapse under part collisions and inconsistent placement logic. Centralizing layout into a single measurement pass and clamping features to surface constraints lets a style table specify exaggerated values safely—the system absorbs the variance, so artists and generators don't have to.
The entire character is driven by a `CharacterRecipe` seed that deterministically generates a unique doll. A centralized `computeLayout()` function acts as the single source of truth for all part placement, using a facial coordinate system mapped onto an implicit superellipsoid surface to prevent clipping. Eyes are three-layer extruded patches (ink outline, white sclera, large pupil) rather than spheres, and expressions are pure offset tables applied per frame without rebuilding geometry.
Hair is a single sculpted toroidal shell with flow-field grooves and scalloped edges, controlled by a compact style table that drives 19 variants from one generator. The anatomy deliberately omits arms and legs: a small pill-shaped torso, floating gloves, and floating shoes use the air gaps between them to create character identity. Clothing wraps the torso as expanded profile shells, and puff sleeves attach directly to the floating gloves so they follow hand motion.
Studio-grade clearcoat gloss comes from a PMREM-baked environment of three overexposed softboxes and dark pillars, not from material roughness tweaks. A hidden 192px renderer bakes all 48 library thumbnails sequentially using the same pure functions as the editor, yielding the main thread every four images for progressive display.
The 'containment clamping' pattern for eyes and mouth is a generalizable alternative to careful manual tuning: let style tables specify aspirational sizes, and let the layout system shrink them to whatever the surface actually accommodates.
Using the implicit surface gradient for normals, rather than a radial direction from a sphere center, is a subtle fix that prevents systematic facial-feature skew on any non-spherical head shape.
The deliberate absence of arms and legs—replaced by floating gloves and shoes with air gaps—shows that negative space can carry more character identity than anatomically correct limb geometry.
Attaching puff sleeves to floating gloves instead of shoulders is a small rigging decision that eliminates an entire class of skinning artifacts during arm motion.
Baking studio lighting into a PMREM environment map and sharing it across all clearcoat materials means the 'vinyl' look is an environmental constant, not a per-material tuning problem.