Tombstone
kitchen · Pantry
Oct 2007 – Mar 2008 · age 25–26
What it was
The asset tool of the kitchen engine, whose window title called it "OpenGL Slug Fest". It imported MilkShape models, welded their vertices, grouped triangles by skin texture into one mesh with material index ranges, computed bounding volumes, built skeletons with bind-pose matrices, converted textures to the engine's raw format, and saved the whole asset system as the XML the engine loaded. The window was a resource tree, an OpenGL preview and a property grid over the classes the schema compiler generated, so every field arrived with a category and a tooltip and no hand-written UI. Every action class was discovered by reflection and offered as a button whenever it applied to the selection. On the final day it imported a skeletal dwarf and animated it on the CPU, months before the engine could.
Wins, for the age
- At twenty-five, Jeff made the schema the editor: documentation strings in the data description became categorized property pages, finding on their own what the Unity Inspector (2005) had found. This primate wrote each note once and never hand-drew a form.
- Built a tool that grows by adding a class. One new action class, and a new button appeared wherever it made sense.
- Previewed skinned animation in the tool before the engine could draw it, so a skeleton moved on screen while the runtime still stood still.
- Reused a working geometry solver as an external process instead of porting it. Wrong for deployment, sensible for a tool with one user who needed sleep.
What it taught
- Asset import is mostly welding, grouping and index bookkeeping, and each is easy to get subtly wrong.
- Preview before pipeline: seeing the result early is what keeps an asset path honest.
- Wire the algorithm or delete it. Convex hulls and box-triangle intersections were written and never called, and the tri-stripper only ever met a single triangle.
- No drive letters in tools, and escape your output. A skin path with an ampersand would have corrupted the asset package.
Genealogy
Ancestors: Kitchen ZMLC2: generated C# asset classes carrying categories and descriptions straight from the schema. Descendants: none on record. Its import checks were the part a pipeline would still want. Part of: Kitchen.
Epitaph
Here lies Pantry. MilkShape in, welded, bounded, skinned and packed, XML out, with a button for every action, on exactly one machine in the world.