I interrupt this discussion to report that making the facet into a unit normal seems to be a bad idea.
The dual of the Grassman facet magnitude is a vector that seems to serve.
The code is not yet working.
In more detail
If we multiply the row from the zbcc contravariant metric tensor by the volume of the zone we get the dual of the Grassman value for the facet.
This vector is thus agreed upon by the two neighbors, except for sign.
One problem is that the volume is the square root of the determinant of the covariant metric, and thus the square root of a negative number.
Einstein’s papers often had the expression √(−(det g)) of more briefly √(− g) in recognition of this fact.
This also bollixes the convenient notion that the columns of the contravariant metric tensor sum to zero and all point into (or out of) the zone.
Now the time like normals want to point out while the space like normals want to point in.
More Abstractly
We have two n-dimensional vector spaces U & V, each with a symmetric bilinear form QU & QV.
U & V each have a particular n−1 dimensional subspace U' & V' and there is given a bijection f: U' → V'.
The quadratic forms agree on the shared subspace: if u1 & u2 ∊ U' then QU( u1, u2) = QV(f(u1), f(u2)).
We seek to extend the bijection to cover both spaces so that the quadratic forms are unified:
We seek f': U → V
if u ∊ U' then f(u) = f'(u)
if u1 & u2 ∊ U' then
See this for another class of complexes that have no affine connections and must thus be excluded.
We speak as if the two subspaces were identical—a shared subspace.