Spell readSurvey.walk's dropped cell as a default arm
This commit is contained in:
+4
-3
@@ -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.
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user