Draw every {…} afresh, keep a pick only by name, and delete drawGroup with the hold and draw fences
This commit is contained in:
@@ -17,30 +17,19 @@ package fejkdata
|
||||
// Vocabulary
|
||||
//
|
||||
// - draw — one pick from a choice, or one row taken from a table: `pick`,
|
||||
// `resolveChoice`, `table.drawRow`.
|
||||
// `resolveChoice`, `table.drawRow`. Every {…} draws afresh, bar a read of a name.
|
||||
// - expansion — one render of one format: `expand`.
|
||||
// - render — what owns one `renderDraws`, and so what one reference draw spans:
|
||||
// - render — one walk of the tree from an entry point, over one `frameStack`:
|
||||
// `Generator.Fake`, `FakeRecord`, `Template.Fake` and `RecordTemplate.Fake`
|
||||
// start one each, `FakeStruct` one per record, and `expandAnew` one per
|
||||
// iteration of a `template.repeat`.
|
||||
// - hold — keeping one draw of a field, so every route to it reads that value:
|
||||
// an expansion holds a sibling path's head and an operand's field, its draw
|
||||
// group a reference path's: `formatOps.held` and `heldCheck` an expansion's,
|
||||
// `readReference` a draw group's.
|
||||
// start one each, and `FakeStruct` one per record.
|
||||
// - named pick — the draw a token such as {/person as p} binds to a name, drawn
|
||||
// on its first read and kept while its scope renders: a category, or one
|
||||
// repeat iteration: `nameBinding`, `nameScope`, `namedPick`, `pickFrame`.
|
||||
// - memo — what a hold, a draw group or a named pick keeps its draws in, the
|
||||
// variant drawn at each level and the value each path read: `drawMemo`,
|
||||
// `readMemo`.
|
||||
// - draw group — reference draws kept apart inside one render:
|
||||
// `template.drawGroup` as the data spells it, `templateLink.drawGroupKey` as a
|
||||
// render reads it, `renderDraws`, `groupDraws`, `renderScope`.
|
||||
// - pin — fixing which row of a table the render uses, which the fences replay:
|
||||
// - memo — what a named pick keeps its draws in, the variant drawn at each level
|
||||
// and the value each path read: `drawMemo`.
|
||||
// - pin — fixing which row of a table one path, or one named pick, uses:
|
||||
// `pinSet`, `pinSet.pin`, `table.drawIn`.
|
||||
// - family — a table and every table reaching it through a chain of
|
||||
// `table.parentT`, named by the root that chain ends at: `table.familyRoot`.
|
||||
// - whole — a read of a table with no selector and no descent, {/city}, landing on
|
||||
// the `table` itself, so it draws a row apart from every pin: `branches.wholePins`.
|
||||
// `table.parentT`.
|
||||
// - fence — a load-time check, run over each category, template or struct as it
|
||||
// loads or compiles, so rendering a compiled tree cannot fail.
|
||||
|
||||
Reference in New Issue
Block a user