Builtin Library
README.md
geometry.sides
For a geometry of triangles, the edge table read from the side of each triangle (core.edges): for every vertex slot, the edge of the side that leaves it (from that vertex to the next of its triangle); and for every side of every edge, in edge order, the edge, the triangle and the vertex slot the side leaves. The two sides of an interior edge are consecutive.
Inputs
geometry(Geometry). The triangles whose sides are read.device(Bool, default false). true keeps the numbers of edges and sides on the device, in columns allocated for the most there can be, so a graph over a count that changes every frame runs as one recorded list. false sizes the columns by the numbers, read back.
Outputs
sides(Record):edgeOf(per vertex slot, the edge its side is),edge,faceandslot(per side, in edge order: the edge, the triangle, and the vertex slot it leaves),startandcount(per edge, where its sides start in that order and how many there are).
local table_ = g.geometry.sides({ geometry = g.mesh.box({}) })