Builtin Library
- ..
- README.md1.1 KB
- bindings.yaml1.6 KB
- shader.wgsl2.0 KB
README.md
intersect_unify
The first slot of every cut point. Endpoint slots whose records name the same crossing (the kind word, lo,
hi, tri and extra) are one point; rep[s] is the lowest slot among them, which is the point's
identity. A slot with rep[s] == s is a new point's first slot, so a compaction of those slots
numbers the cut points, and every endpoint reference maps through rep.
Three dispatches (STAGE claim, fold, resolve) over a hash table table of cells words (a power of two,
at least twice the slot count) and a second table lowest of the same size, both zero before the first stage.
table, lowest and rep (one word a slot) carry from stage to stage: each stage is bound the three the stage
before it wrote, so fold reads the claims and resolve the cells fold recorded in rep. Exact: the cell a key
takes depends on thread timing, the answer does not.
Over a live count (COUNT=device, see the abi README) a slot past the live ones is not read or written.
geometry.boolean numbers its cut points with it.