by DonHopkins | 2026-02-27 09:34:50+00:00
Applying Tom Ngo's Embedded Constraint Graphics to Direct-Manipulation Breakfast Selection (Direct manipulation over simplicial complexes using barycentric interpolation: they're not just for breakfast any more.)

The Breakfast Simplex is a space of recipes parameterized by egg, milk, and flour ratios, normalized onto a simplex. Add butter or sugar and the dimension increases. Add prep method and you create adjacent regions. A breakfast buffet is a larger, possibly disconnected simplicial complex spanning multiple ingredient families.

That structure is exactly what Tom Ngo formalized and patented in Embedded Constraint Graphics in 1996 at Interval Research Corporation. I wrote about it when the patent expired in 2016:

https://news.ycombinator.com/item?id=12572696

US Patent #5933150: System for image manipulation and animation using embedded constraint graphics

https://patents.google.com/patent/US5933150

Tom wrote to me when I asked him about applying ECG to other applications after the patent expired:

>I am, of course, partial to the idea that gluing high-dimensional simplices at their edges and faces is an extremely general way to represent blending manifolds, in the same way that gluing polygons together has done us so much good in the 3D modeling space. I also think the >2 decades of progress since ECG have put us in a better position to do something really cool based on direct manipulation.

Golan Levin, Malcom Slaney, and Tom Ngo used the ECG graphical editor to build the vector face cartoons for Mouther, simply by dragging eyes, mouths, and features directly on the drawing:

https://web.archive.org/web/20180717222910/http://www.flong....

ECG defines example states at vertices. Compatible examples span simplices. The full state space is a simplicial complex. Interior points are barycentric blends. When you drag something in screen space, the system maps that motion into the n-dimensional interpolation space and solves for blend weights via a Jacobian pseudo-inverse instead of exposing parameters.

You don’t indirectly adjust abstract sliders. You directly manipulate concrete outcomes. The solver recovers coordinates.

The same formulation applies to interpolating vector drawings, mesh blending, facial animation, pose spaces, and other example-based interfaces where states are meaningful and compatibility matters.

Breakfast is a concrete instance. Pancake, crepe, and omelette define a simplex over ingredient ratios. Drag toward eggs and the egg weight increases. Drag toward milk and you move along that axis. Cross a shared face and you transition between dish families without leaving the manifold. The “Dark Breakfast” region is simply an unoccupied part of a valid simplex.

Simplicial complexes are useful UI primitives. They provide local linear interpolation inside zones and explicit global topology across zones. They scale to higher dimensions, while maintaining a user friendly 2D direct manipulation user interface. They encode constraints structurally instead of procedurally.

A pie menu is already a radial projection of a simplex. A direct-manipulation pie menu over ingredient space lets you drag in the direction of the flavor you want, with barycentric weights accumulating as you move.

The Design and Implementation of Pie Menus (Dr. Dobb’s Journal, Dec. 1991, cover story, user interface issue.)

https://donhopkins.medium.com/the-design-and-implementation-...

An Empirical Comparison of Pie vs. Linear Menus (Jack Callahan, Don Hopkins, Mark Weiser and Ben Shneiderman.
Presented at ACM CHI’88 Conference, Washington DC, 1988.)

https://donhopkins.medium.com/an-empirical-comparison-of-pie...