Order spilled pins by path, and correct todo.md's inline array name

This commit is contained in:
2026-09-24 10:02:10 +02:00
committed by Lillem4n
parent bbcb259b02
commit a0fc1bc4f1
2 changed files with 6 additions and 5 deletions
+2 -2
View File
@@ -68,7 +68,7 @@ func (p *pinSet) pin(t *table, r int) {
}
}
// each calls fn for every pinned row, in pin order, the spilled ones by table name.
// each calls fn for every pinned row, in pin order, the spilled ones by path.
func (p *pinSet) each(fn func(t *table, r int)) {
for _, q := range p.inline[:p.n] {
fn(q.t, q.row)
@@ -77,7 +77,7 @@ func (p *pinSet) each(fn func(t *table, r int)) {
for t := range p.spill {
spilled = append(spilled, t)
}
sort.Slice(spilled, func(i, j int) bool { return spilled[i].category < spilled[j].category })
sort.Slice(spilled, func(i, j int) bool { return spilled[i].path < spilled[j].path })
for _, t := range spilled {
fn(t, p.spill[t])
}
+4 -3
View File
@@ -49,8 +49,9 @@ This round, in order:
`entered`'s `pinsAncestors` flag stop restating `walkTable`'s draw condition and
`rowOf`'s ancestor rule: a change to how a render draws rows still leaves the fence
proving the old rule. Hold a row rendered whole in `drawAt` beside `drawn`, so
`pinSet` holds only what `pin` pins and `alternatives` needs no exception. Needs the
item above.
`pinSet` holds only what `pin` pins and `alternatives` needs no exception. Settle a
cell of a municipality drawn whole beside a path pinning a region it is not in. Needs
the item above.
- Register a transform once: `transforms` restates the `lowercase`, `uppercase` and
`ascii` entries in `builtins`, and `valueProof.template` classifies by the first while
render calls the second. Derive the numeric builtins `valueProof.template` lists in
@@ -290,7 +291,7 @@ because pairing a street with its exact postnummer rewrites shipped rows.
- Hold every change the charter says owes a `CHANGELOG.md` entry to one in CI: the
check covers `data` and `testdata/shipped_shape.txt` alone, where `AGENTS.md` adds a
flag, an exit code, an exported name, a fence, a builtin and the lowest Go.
- Measure the allocation gate over the shipped `geo` trees too: `pinSet.pins [8]` is sized
- Measure the allocation gate over the shipped `geo` trees too: `pinSet.inline [8]` is sized
for them, and `perf_test.go` checks a synthetic five-deep tree only.
- Make a named draw group's hold lazy, `&hold{}` in `renderScope.hold`: it escapes
to the heap anyway, so its two eager maps buy no stack and cost two allocations per