Commit Graph

263 Commits

Author SHA1 Message Date
lilleman d4060e041a Test the table node: rows TSV, key and name selection, linked tables drawn consistently, and the choice-of-rows fence 2026-09-17 11:47:39 +02:00
lilleman 06a93bb96d Specify every category with its source, licence and shape, the builtins the data cannot express, and the order of work
Tests / vet + fmt + tests (pull_request) Successful in 4s
Tests / Gitea release from CHANGELOG.md (pull_request) Has been skipped
Tests / vet + fmt + tests (push) Successful in 4s
Tests / Gitea release from CHANGELOG.md (push) Successful in 3s
2026-09-17 08:25:11 +02:00
lilleman e50d3f7ffc Record the geo decisions: open sources first, postort locality, selection by key or name, SE and US for v0.1.0 2026-09-17 07:51:01 +02:00
lilleman 2fa5f3c5ec Plan the major data update: structure, geo tree, sources and categories 2026-09-16 23:34:23 +02:00
lilleman 16f2e96fe8 Refuse a release whose tag sits elsewhere, pin a typed nullable column and a relative reference in the reads test, and narrow the pin's claim to template formats
Tests / vet + fmt + tests (pull_request) Successful in 1m7s
Tests / Gitea release from CHANGELOG.md (pull_request) Has been skipped
Tests / vet + fmt + tests (push) Successful in 2m3s
Tests / Gitea release from CHANGELOG.md (push) Successful in 3s
2026-09-16 20:17:50 +02:00
lilleman 1cf8ed502a Cut the release from the changelog heading on a green main instead of a hand-pushed tag
Tests / vet + fmt + tests (pull_request) Successful in 1m7s
Tests / Gitea release from CHANGELOG.md (pull_request) Has been skipped
2026-09-16 20:09:38 +02:00
lilleman ea71b3e479 Pin the categories each shipped category reads 2026-09-16 20:09:38 +02:00
lilleman 265bd05dfc Define a patch, disambiguate the Versioning table, name the changelog check, and keep the gate claims true
Tests / vet + fmt + tests (pull_request) Successful in 1m2s
2026-09-16 19:49:55 +02:00
lilleman 7bf3da807c Settle the compatibility contract, the changelog and the tag-published Gitea release
Tests / vet + fmt + tests (pull_request) Successful in 1m7s
2026-09-16 19:29:44 +02:00
lilleman f9181a08b5 Pin the shipped shape: every path, each category's format, each column's datatype and nullability 2026-09-16 19:23:27 +02:00
lilleman b45a1edae0 Cut the comments that restate the README or narrate the arrangement, and name the record fence asymmetry in Decisions
Tests / vet + fmt + tests (pull_request) Successful in 1m6s
Tests / vet + fmt + tests (push) Successful in 7s
2026-09-16 10:43:25 +02:00
lilleman 0f645d7092 Delete the fresh-draw fence the self-reference rule made unreachable, and pay for the draw walks only where data binds a reference
Tests / vet + fmt + tests (pull_request) Successful in 1m6s
2026-09-16 10:29:23 +02:00
lilleman 0443ecdf13 Tests: gate the allocations a reference path costs across a repeat and in a named draw group 2026-09-16 10:29:00 +02:00
lilleman c60ebb3faa Merge the two reference-path walks, and correct the bare reference Decision, a stale comment and the draw map spellings
Tests / vet + fmt + tests (pull_request) Successful in 1m8s
2026-09-16 09:55:58 +02:00
lilleman 9f4331a1f3 Tests: a record column reaching back into a category through another one is refused at load 2026-09-16 09:55:36 +02:00
lilleman a995aba4e9 Refuse a reference into the category it sits in, and run a record's column fences at load
Tests / vet + fmt + tests (pull_request) Successful in 1m8s
2026-09-16 09:42:36 +02:00
lilleman 3e535bcc43 Tests: a reference into the category it sits in is refused at load, and a record's column fences run there too 2026-09-16 09:42:18 +02:00
lilleman 68d2461704 Name the draw option drawGroup, refuse one whose reads all sit behind a nested draw group, and record why the two fences stay apart
Tests / vet + fmt + tests (pull_request) Successful in 1m7s
2026-09-16 08:55:55 +02:00
lilleman 53a87da9b7 Tests: name the draw option drawGroup, and refuse a draw group whose reads all sit behind a nested one 2026-09-16 08:55:39 +02:00
lilleman d3f430bf53 Render a repeat iteration in no group, refuse a group that names nothing, key group names by category, and own reference overlap in one fence
Tests / vet + fmt + tests (pull_request) Successful in 1m6s
2026-09-15 23:31:48 +02:00
lilleman f6b8f4fb50 Tests: a repeat iteration renders in no group, a group that names nothing is refused, a group name is local to its category, and one overlap verdict wherever the reads sit 2026-09-15 23:30:46 +02:00
lilleman 5ed45cc55c Rename the folder node type from group to folder, freeing group for the draw option 2026-09-15 23:25:39 +02:00
lilleman 246f99a319 One reference draw per render in both views: a repeat iteration draws anew, a group option draws apart, and one fence refuses what a render's draws cannot answer for
Tests / vet + fmt + tests (pull_request) Successful in 1m6s
2026-09-15 22:59:30 +02:00
lilleman 4b31482a53 Tests: a reference path is one draw per render in both views, a repeat iteration draws anew, a group draws apart, and a bare reference beside a path is refused 2026-09-15 22:45:13 +02:00
lilleman 72a6ef9071 Name the typed spelling for a column read whose values hold the datatype beside it, and say holding for a datatype taken from a column read
Tests / vet + fmt + tests (pull_request) Successful in 1m2s
Tests / vet + fmt + tests (push) Successful in 7s
2026-09-15 21:44:36 +02:00
lilleman 1e60d52e48 Tests: a typed column read whose values hold the datatype declared beside it names the typed spelling 2026-09-15 21:43:09 +02:00
lilleman 72fe01e89b Refuse only a datatype restating the column read, name the text spelling for datatypes taken from column reads keeping an item's other keys, and keep the fence Decision true
Tests / vet + fmt + tests (pull_request) Successful in 1m3s
2026-09-15 21:28:52 +02:00
lilleman c991f35f4f Tests: another datatype over a column read types it where the values prove it, and datatypes taken from column reads name the text spelling, keeping an item's weight 2026-09-15 21:27:19 +02:00
lilleman acad25708a Leave column agreement to the records that read DataType, name the text spelling beside a typed column read, and check a column after the columns it reads
Tests / vet + fmt + tests (pull_request) Successful in 1m3s
2026-09-15 21:13:34 +02:00
lilleman f781fa47d1 Tests: an item beside a typed column read that can hold its datatype keeps the object-form advice 2026-09-15 21:12:21 +02:00
lilleman bc4280561e Tests: a struct column need not agree on a datatype, text beside a typed column read names its text spelling, a column read is reported before its reader, and column reads through a dot, a choice and an always-null column 2026-09-15 21:10:36 +02:00
lilleman 2a750008bf Tests: name the struct test for a field tagged with a column as that column
Tests / vet + fmt + tests (pull_request) Successful in 1m2s
2026-09-15 20:48:12 +02:00
lilleman b4ebab5abf Keep a read's null with its draw, share the lone-reference check, name a JSON-string item's object form again, prove each column once per pass, and read a record off template.record
Tests / vet + fmt + tests (pull_request) Successful in 1m3s
2026-09-15 20:42:13 +02:00
lilleman 04a75f7ded Tests: a JSON-string item reading a string column keeps the advice naming its object form 2026-09-15 20:38:35 +02:00
lilleman 2b2010bdd6 Take the datatype and null of the column a lone reference reads, and check a column's datatypes once its references are linked
Tests / vet + fmt + tests (pull_request) Successful in 1m3s
2026-09-15 20:20:25 +02:00
lilleman 802f62a4de Tests: a column of one reference alone takes the datatype and null of the column it reads, in records and structs, and a datatype restating it is refused 2026-09-15 20:17:07 +02:00
lilleman 3cd3f8f317 Spend the struct cap on embedded structs too, word it for any struct field, and route path advice through the name check
Tests / vet + fmt + tests (pull_request) Successful in 1m2s
Tests / vet + fmt + tests (push) Successful in 6s
2026-09-15 17:50:42 +02:00
lilleman c212c6bef4 Tests: the struct cap sits exactly at 1024 and counts embedded structs, and path advice never names a spelling that fails 2026-09-15 17:50:30 +02:00
lilleman e4ebfdb28d Cap a struct type's records at 1024, find a lone reference in the value a template holds, word range refusals as unproven, and scope the lone-reference Decision to arguments and tags
Tests / vet + fmt + tests (pull_request) Successful in 1m0s
2026-09-15 17:35:15 +02:00
lilleman ef00000436 Tests: a type's records are capped at 1024, a lone reference is found through padding and a format-only object, null clears a preset pointer, and errors repeat per call 2026-09-15 17:35:04 +02:00
lilleman bbe6c5b1d9 Fold the range check into columnKind.past, refuse a leading / in IsTemplate, reserve the name -, and document fake:"-" on an embedded struct
Tests / vet + fmt + tests (pull_request) Successful in 1m1s
2026-09-15 17:11:20 +02:00
lilleman 7cb6928995 Tests: fake:"-" leaves an embedded struct unfilled, a leading / is refused naming the path, and a name may not be - 2026-09-15 17:11:10 +02:00
lilleman e6bd4c5972 Fill embedded fields into their struct's record, add fake:"-", round integer ranges inward naming a wider kind, and refuse a lone reference in IsTemplate
Tests / vet + fmt + tests (pull_request) Successful in 1m2s
2026-09-15 16:54:04 +02:00
lilleman a548abcc02 Tests: embedded fields join their struct's record, fake:"-" leaves a struct unfilled, integer ranges round inward, and a lone reference is refused as a path 2026-09-15 16:53:56 +02:00
lilleman c0b176a839 Struct-filling: FakeStruct fills fake-tagged fields as a record, each field's Go type its datatype, and IsTemplate owns the path-or-template shape rule
Tests / vet + fmt + tests (pull_request) Successful in 1m0s
2026-09-15 16:23:10 +02:00
lilleman d4ff3b242e Tests: FakeStruct fills tagged fields as one record, draws a nested struct apart, refuses a tag its field cannot hold, and compiles a type once 2026-09-15 16:23:00 +02:00
lilleman 88143153ed Read a signed zero off the mantissa, and drop the comment on the unused Pow
Tests / vet + fmt + tests (pull_request) Successful in 1m1s
Tests / vet + fmt + tests (push) Successful in 6s
2026-09-15 15:17:38 +02:00
lilleman 08949eb72c Tests: CSV quotes a COPY marker, a leading space and a bare CR, and a sub-float literal is no signed zero 2026-09-15 15:17:33 +02:00
lilleman 3e7127da71 Parse a divisor's rounding half exactly, print zero unsigned, name int64 refusals, and quote CSV fields without a writer
Tests / vet + fmt + tests (pull_request) Successful in 1m0s
2026-09-15 15:08:26 +02:00
lilleman 1ad9418a76 Tests: a printed zero is no divisor and prints unsigned, int64 refusals say so, and CSVLine allocates twice 2026-09-15 15:08:14 +02:00