State pinSet.pin's precondition, and file readSurvey.edge's unchecked pins

This commit is contained in:
2026-09-29 12:51:00 +02:00
committed by Lillem4n
parent 8079157329
commit 322c8dead7
2 changed files with 5 additions and 3 deletions
+3 -1
View File
@@ -50,7 +50,9 @@ func (p *pinSet) add(t *table, r int) {
p.spill[t] = r
}
// pin pins row r of t, and the rows of t's ancestors it links to.
// pin pins row r of t, and the rows of t's ancestors it links to. It checks nothing, so r must
// agree with the row p pins of nearestPinned(t): ask clash first, as pinRow does, or draw r inside
// it, as drawIn does.
func (p *pinSet) pin(t *table, r int) {
for stop := p.nearestPinned(t); t != stop; t = t.parentT {
p.add(t, r)
+2 -2
View File
@@ -31,8 +31,8 @@ on 2026-09-29 a third time (Navigation 7.0, Locality 5.6, Shape 6.3, Self-suffic
This round, in order:
- State at `pinSet.pin` that its caller proved r sits inside the nearest pinned
ancestor, which `pinRow` and `drawIn` do.
- Ask `clash` before `readSurvey.edge` enters a read's pins, or refuse the clash there:
`pin` checks nothing, and `replayPairs` compares reads within one draw group only.
- Delete the prose two or more seats found empty: `loadData`'s comment, which also names
`linkRefs` where `bind` runs, `table.drawRow`'s, `table.selector`'s, and `render.go`'s
second and third "compile validated" notes.