Fold the draw fence's pair checks into one loop over coRender and conflict, naming the lowest pin clash

This commit is contained in:
2026-09-30 07:55:37 +02:00
committed by Lillem4n
parent 4cba01fc7a
commit d34513336d
4 changed files with 73 additions and 93 deletions
+4 -2
View File
@@ -5,8 +5,10 @@ import "fmt"
// readRoute is how a render reaches a read: as its author spells it, and the root edge's label.
type readRoute struct{ spelling, label string }
// branches is the rows a read sits under: those pinned above it, and those of whole draws whose
// cells it sits in.
// branches is the rows a read sits under, where two reads under different rows of one table never
// render together. pins holds the rows pinned above it with their ancestors, which a pair of reads
// needs to find what a replay of all of them does; wholePins the rows of whole draws whose cells it
// sits in, without ancestors, since each whole draw draws apart from every other.
type branches struct {
pins pinSet
wholePins pinSet