Commit Graph

106 Commits

Author SHA1 Message Date
lilleman 818a9b56c2 Move the folder walk and the reading of a data tree's JSON and TSV files into internal/datafiles 2026-10-05 16:30:28 +02:00
lilleman c2f2e86735 Move how the template language is written into internal/grammar 2026-10-05 12:35:08 +02:00
lilleman 1a15a139c8 Answer architecture round 1: refuse a name read inside the field it binds, check every scope's cycles, build a column read in one pass, drop the implicit struct pick for names across tags, and state the fresh-draw rule once 2026-10-05 10:19:01 +02:00
lilleman 6aebeebb72 Draw every {…} afresh, keep a pick only by name, and delete drawGroup with the hold and draw fences 2026-10-05 10:19:01 +02:00
lilleman 3bb8628e39 Answer architecture round 2: one folder walk and one sorted-keys helper, REGENERATE for the index, and the held decisions naming the items that end them 2026-10-03 20:37:07 +02:00
lilleman 8b3bbc4003 Load shipped categories before binding, panic on an index that misses a read, and name the index entry and unloaded category plainly 2026-10-03 20:37:07 +02:00
lilleman 5667cd5dc3 Load a shipped category on the first call reaching it, from an index generated from data/ 2026-10-03 20:37:07 +02:00
lilleman 2bb795e08c Split the picks and the name fences out of name.go, state the repeat refusal and the naming rule where they hold, and draw a memo's variants one way 2026-10-03 14:23:58 +02:00
lilleman b1aed332e7 Keep in a pick only what reads of its name address, look frames up on the stack alone, and refuse a name read once whole 2026-10-03 14:23:58 +02:00
lilleman d0c477ec78 Keep a name's frame with the read entering its category, refuse a binding in a choice's item, and read a name as a transform operand 2026-10-03 14:23:58 +02:00
lilleman 23e426016d Bind a pick to a name with {ref as n}, and read it with {n} and {n.path} 2026-10-03 14:23:58 +02:00
lilleman a9448d1a99 Delete comments restating their code, and doc.go's partial list of draw fences 2026-09-30 22:01:04 +02:00
lilleman 492772b995 Give tableSite an isFormat beside isCell 2026-09-30 21:41:53 +02:00
lilleman 317486df0a Fold checkNoOverlap and checkNoRepeatedRead into heldCheck, so compileFormat compiles and nothing more 2026-09-30 20:32:35 +02:00
lilleman 6ee7ee4234 Delete the sort-order restatements on walkNodes and compileFields 2026-09-29 15:49:10 +02:00
lilleman 9b050994f5 Delete the reported-order clauses and checkRecordDraws' record-only comment 2026-09-29 15:49:10 +02:00
lilleman ba43eb1c91 Compile a format in format.go 2026-09-29 15:41:48 +02:00
lilleman 8fb3695fa9 Delete node's switch list, which the kind test now holds 2026-09-29 14:25:28 +02:00
lilleman 8793681d8a Test a table cell through tableSite.isCell, and trace no row outside a table 2026-09-29 12:28:22 +02:00
lilleman bb70688f1d Hold each name in one formatOps map, beside its first reader and path 2026-09-29 11:35:46 +02:00
lilleman 7baee64cc3 Move each draw fence beside the check it pairs with, and inline checkColumnDraws 2026-09-29 11:18:24 +02:00
lilleman eebf2aa62b Delete the comments and preambles the panel found empty 2026-09-29 10:33:56 +02:00
lilleman 6275c6d41e Rename refBinding.key to head, and the stale key wording beside it 2026-09-29 10:28:15 +02:00
lilleman a7d77bd3ad Rename arm.key to head, give renderScope.row its own type, and value.go to valueproof.go 2026-09-29 10:28:15 +02:00
lilleman 16e4f4ebbb Give prove, stepInto and columnItems a case per node kind, panicking on the rest 2026-09-29 09:56:09 +02:00
lilleman c422c9e436 Build the walk root in New, drop the categories copy, and correct the node and renders comments 2026-09-29 04:45:27 +02:00
lilleman e77a9371db Cut tableSite.row's stray clause 2026-09-29 03:34:48 +02:00
lilleman e9cdfe9edd Keep a template's table in one field, tableSite 2026-09-29 03:34:48 +02:00
lilleman 1cefa18039 Name the four node-kind switches on node 2026-09-29 02:48:58 +02:00
lilleman b41ce7679f State the node-kind switch rule on node 2026-09-29 02:48:58 +02:00
lilleman 62ae658b4d Drop checkCells from the compile fill header 2026-09-28 23:55:22 +02:00
lilleman 6158eb0f46 Build a table cell's template through compileString, and drop the done round item 2026-09-28 23:55:22 +02:00
lilleman e257dc0e6e Return link's and format compile's outputs as templateLink and formatOps, assigned once in linkTemplate 2026-09-28 23:55:22 +02:00
lilleman 21b48c8c41 Correct the false comments and delete dead code 2026-09-28 21:46:24 +02:00
lilleman 8f86de2187 Name pathKeys, pathKeyReaders, proveKeys and readValue's hold for what they hold, and give no token kind to the zero value 2026-09-28 12:06:03 +02:00
lilleman affbb9ac6f Give head, index, bound and draw one meaning each, name familyRoot, and type the token kinds 2026-09-28 12:06:03 +02:00
lilleman ecb90f828f Correct the comments and decision around link-time compilation 2026-09-28 03:23:27 +02:00
lilleman 306b88ef56 Compile every format at link 2026-09-28 03:23:27 +02:00
lilleman e9bb89f044 Correct and trim the comments around the path walks 2026-09-28 00:55:48 +02:00
lilleman c1b928a3f5 Give whole one meaning, the bare table read, and name the pinned row pinnedRow, landsRow and compileRowFormat 2026-09-26 15:42:42 +02:00
lilleman d6ac8ed9fd Give check, children, column, columns, draw, drawn, fields, format, head, index, key, n, name, named, names, null, number, op, reads, record, root, row, t and whole one meaning each 2026-09-25 19:31:09 +02:00
lilleman 2a7499e93c Parse and check a format in one call, keeping compileTemplate under the complexity gate 2026-09-24 23:36:27 +02:00
lilleman 467cb6fb18 Parse a format once into tokens, and have the fences read its ops 2026-09-24 23:36:27 +02:00
lilleman 2e778f3b31 Name a cell's line in its link-time errors, and say where a format holding a reference compiles 2026-09-24 22:45:36 +02:00
lilleman 526832fc3f Compile a format holding a reference once, at link 2026-09-24 22:45:36 +02:00
lilleman 5aae86638b Keep reference bindings out of template.fields, in template.refHeads 2026-09-24 19:38:10 +02:00
lilleman 9f00ad039e Move the decisions to docs/decisions.md, indexed in AGENTS.md and linked from the fences they back 2026-09-24 13:44:06 +02:00
lilleman def2a5f25d Gather the family fence in family.go 2026-09-23 23:11:13 +02:00
lilleman 41dbbd3fda Say hold where the prose still said draws 2026-09-21 22:06:01 +02:00
lilleman d128621fc1 Name a render's holds apart from the draw fence 2026-09-21 22:06:01 +02:00