Geometry
Thinking about WEFT signals as differential forms. This started since the remap operator is a pullback, so I wanted to see how far I could take the differential geometry idea in WEFT.
WEFT signals are maps ℝⁿ → ℝ, a.k.a a 0-form. Since we can also work with tuples of signals, k-forms fall out pretty naturally: a k-form’s coordinate representation is just a tuple of component signals. A 1-form on ℝ² is a 2-tuple of signals, a 2-form is a 1-tuple. The antisymmetry condition can’t be enforced by the type system, but adhered to by convention.
Take the example of a torus. Usually in visual WEFT we work in the x-y plane, so you can fake a torus with mod. It works visually, but mathematically its not “correct”. We can construct an actual torus chart:
tx = (R + r * cos(@y * tau)) * cos(@x * tau);
ty = r * sin(@y * tau);
Then any signal defined in terms of tx and ty instead of @x and @y is genuinely living on the torus surface. No seam. @x and @y are just angle coordinates spanning from 0 to 1.
To do real geometry on this surface you need the pullback metric — how distances in (@x, @y) space relate to actual distances on the torus. That would be three signals:
g_xx = ...
g_xy = ...
g_yy = ...
computable from the embedding map above. Once you have that I think you should be able to implement all the fancy differential geometry stuff.
The one big limit to this is that everything is local. You’re working in a chart, not a global space. So only stuff thats expressible cleanly with a chart works.
None of this is practically useful, but maybe neat?