State in the README which reads never render together, and drop the decision restating alternatives

This commit is contained in:
2026-09-28 21:47:29 +02:00
committed by Lillem4n
parent dc0f9fa2d6
commit 7eb1b2473f
5 changed files with 3 additions and 18 deletions
-1
View File
@@ -81,7 +81,6 @@ In [docs/decisions.md](docs/decisions.md):
- A table is a record of string columns
- The key map is built at load, the rest on first draw
- Two categories may name one TSV
- The rows of a table are alternatives
- A table never reaches its own family, by any route
- Tables carrying token cells stay small
- A path is walked once without drawing before it is walked for real
+3 -2
View File
@@ -549,8 +549,9 @@ it, and a cell or format of a table that references a table of its own family, t
any template, a `repeat` or a `drawGroup` included, since a bare read of the referencing
table draws its row without pinning it, so the family would draw apart from that row:
read the family from a template beside it, or add the value as a column. A cell's
reads are the render's too; which pairs are weighed against each other is under
[Decisions](docs/decisions.md#the-rows-of-a-table-are-alternatives).
reads are the render's too, weighed against every read that renders with them: one read
renders one row, so reads under different rows of one pinned table, whose ancestors pin
with it, or of one table read whole, never render together.
### Options and fields
-10
View File
@@ -452,16 +452,6 @@ rows twice, which is what a category over a register with two natural formats as
a TSV nothing names stays a load error, since that one is a file forgotten rather than
shared.
## The rows of a table are alternatives
Only one row renders per read, so within one read a cell in one row and a cell in
another never meet, and each may select its own row of another table; the cells of one
row, and whatever they reach, do meet, and so does the format beside them. Two reads
meet unless they sit under different rows of one pinned table; pinning a row pins its
ancestors too, so rows under different parents are alternatives as well. A table read
whole draws its row apart from every pin, so the rows of one whole read are
alternatives only to each other.
## A table never reaches its own family, by any route
A `repeat` iteration and a `drawGroup` each draw apart on purpose, but a row that lists
-1
View File
@@ -426,7 +426,6 @@ func conflict(r pathRead, err error) error {
// alternatives reports whether two reads never render together: one read renders one row of a
// table, so reads under different rows the walks pinned, or under different rows of one whole
// draw, never meet.
// docs/decisions.md#the-rows-of-a-table-are-alternatives
func alternatives(a, b drawAt) bool {
return a.pins.differs(&b.pins) || a.wholePins.differs(&b.wholePins)
}
-4
View File
@@ -21,10 +21,6 @@ Self-sufficiency 5.6), every seat capped by Locality, and all nine naming
This round, in order:
- Delete the decision "The rows of a table are alternatives": it defines `alternatives`,
which its comment in `drawfence.go` already does. Point the README's "which pairs are
weighed against each other" at that comment's rule, stated in the README's Table
section, where it sends a reader to the log for the definition today.
- Run the nine-seat panel again and file what it names here.
### Data