diff --git a/readsurvey.go b/readsurvey.go index 5a9bd62..9d718be 100644 --- a/readsurvey.go +++ b/readsurvey.go @@ -96,9 +96,7 @@ func (s *readSurvey) pinsID(p *pinSet) pinsID { } // walk follows what rendering n renders. A repeat renders over draws of its own, so the walk stops -// there. A cell whose row the pins keep out has no case: a pinned table renders its pinned row -// alone and an unpinned one draws a row inside its nearest pinned ancestor's, so that cell never -// renders on this route. +// there. func (s *readSurvey) walk(n node, at surveyAt) { v := nodeVisit{n, at.group, at.wholeTable, s.pinsID(&at.pins), s.pinsID(&at.wholePins)} if s.seen[v] { @@ -132,6 +130,9 @@ func (s *readSurvey) walk(n node, at surveyAt) { in := at in.pins = at.pins.entered(cell.table, cell.row) s.edge(n, e, in) + default: + // A pinned table renders its pinned row alone, and an unpinned one draws a row inside its + // nearest pinned ancestor's, so a cell of a row the pins clash with never renders here. } } } diff --git a/todo.md b/todo.md index 86501a4..ef8e9c9 100644 --- a/todo.md +++ b/todo.md @@ -26,8 +26,6 @@ least modify. This round, in order: -- Spell `readSurvey.walk`'s dropped cell as a case of its switch: a clashing row's cell - falls out with no arm, which four seats named. - Define `descended` where `table.route` takes it: five seats reverse-engineered it from the `draw` expression and the four walks' loop condition. - Keep a template's table in one field: `template.table` and `template.cell.table` both