Repository navigation
Implements Synod 0.3. synod version prints language 0.3, synod new writes synod 0.3, and trace headers say "synod":"0.3". A synod.mod that says an older version (synod 0.2) is still accepted, and the version line does not gate features; a newer one (synod 0.4) is an error.
Changed
- The embedded
look/basicfollowsstd: message tags show only mid-flight. Scene ids and goldens change; traces are unchanged. look.Flightmoves the flown shape from the edge ofato the edge ofb, 8 clear of each box (thePlacesize model, group extents, proportional clamp when the cards are close, halfway between the clipped ends when dropped; straight up above the shape when both are at one position). Scenes with flights change; traces are unchanged. The embedded std followsstd.- The
ringlayout is wider and sits higher: radii 380 and 170 (growth up to 1.4 in height), and the ring, row and grid layouts centre on (520, 315), 10 above the scene centre, since state rows hang below the cards. An even number of cards turns half a slot counter-clockwise, son1is at the left or top left. Scenes change; traces are unchanged. sim.StateRowsgives each row at most 24 characters (StateRowMax): a longer one keeps its first 23 and ends in…. Look-only, so traces keep full values. The embedded std and the vendored examples followstdandexamples.- The fit test also checks a mid-scene key, that every state row has at most 24 characters, that rows clear other cards and icons by 8, and that no two labels overlap.
- The embedded
look/basicwrites the lesson note at the top of the canvas (y40). The fit test measures notes and reasons against cards, rows, heads, icons, counters and each other, with no exclusion, and counts a counter as a box. - The embedded and vendored
paxoskeeps its promise, accepted proposal and round onstd/disk; only the paxos trace gainsdisk.Writtenevents, every other trace is byte-identical. - Scenes use a 1040 by 650 canvas with its centre at (520, 325),
look.Orbithas radius 200, and theringlayout is an ellipse (radii 300 and 150, turned half a slot for an even number of cards, growing up to 1.4 with the number of cards). Default-theme scenes change once; traces are unchanged. The embedded std and the vendored examples followstdandexamples. look.Place s beside tputsson the right oftwhen its box lies inside the canvas there (tat the position it settles at) and on the left oftotherwise, with the same gap and sizes; the side is chosen when thePlaceruns. Scenes with a note beside a card at the right edge change; traces are unchanged. The fit test also checks every label at each of its own key times.
Fixed
synod new demois refused likemain,timeandsim, with or without--lib: the packagedemocollided withdemo/demo.synod, the main program, which overwrote the library.synod check(andfmt,doc) over a folder that holds two module folders with the samemodulepath, such ascounter/synod.modandproj/counter/synod.mod, panicked while lowering because both modules' packages shared one import path. It now reportserror[duplicate-name]: module "counter" is declared by two folders, counter and proj/counterat the secondsynod.mod, with the hint to check one module folder at a time, and exits 1.