rastrillo / fiesta Public

Clone
git clone https://amadan.net/rastrillo/fiesta

Plain git — no account needed to clone.

Download

Download this file

1# Catching up with Rastrillo for 1.2.0
2
3Rastrillo is moving to take its stylesheets and scripts from Fiesta, so
41.2.0 takes every change Rastrillo made to the shared files after
5Fiesta copied them. This is the record of each differing hunk, which
6side was newer, and what 1.2.0 does with it.
7
8Compared on 2026-11-04: Rastrillo main at aa35d581 (its `ui/`) against
9Fiesta main at bb23996 (1.1.0). Fiesta's scripts were seeded at
10e14b745a and its CSS and `select.js` synced at f892f8be
11(`hack/seed/README.md`), so a Rastrillo change after e14b745a to a
12script other than `select.js`, or after f892f8be to anything, is one
13Fiesta has not seen.
14
15## Identical on both sides
16
17`shell.css`, `themes/day.css`, `themes/plain.css`, `themes/signal.css`,
18`light.js` and `anchor.js`: no difference.
19
20## tokens.css: 11 hunks
21
22Rastrillo's `ui/tokens.css` is exactly Fiesta 1.0.0's `css/tokens.css`
23with cc7c9c69 applied (checked by applying the commit's diff to
24`git show v1.0.0:css/tokens.css` and comparing bytes). So one hunk is
25Rastrillo's and the other ten are Fiesta 1.1's additions.
26
27| Rastrillo lines | what differs | newer | 1.2.0 |
28|---|---|---|---|
29| 235 | the control icon scope gains seg-tabs buttons and side nav links | Fiesta 1.1 | keep |
30| 682 | the column's footer row, `rst-page-foot` | Fiesta 1.1 | keep |
31| 1342 | `rst-snippet` | Fiesta 1.1 | keep |
32| 1388 | `rst-status="inline"` on a phone | Fiesta 1.1 | keep |
33| 1644 | the footer row's flat menus in the summary-face rules | Fiesta 1.1 | keep |
34| 2089 | seg-tabs as buttons; `rst-side` and `rst-side-nav` | Fiesta 1.1 | keep |
35| 2923 | the console rail's nav: 5px padding given back by negative margins, a smaller sticky inset and a larger cap, so the current item's ring and shadow are not clipped | Rastrillo, cc7c9c69 | take |
36| 3377 | on a phone, seg-tabs buttons centre their label as the links do | Fiesta 1.1 | keep |
37| 3484 | forced colours: the current side nav link is marked as the shell's is | Fiesta 1.1 | keep |
38| 3525 | print: the current side nav link's wash | Fiesta 1.1 | keep |
39| 3627 | seg-tabs buttons and side nav links centred as rows | Fiesta 1.1 | keep |
40
41## shell.js: 4 hunks, all Rastrillo's
42
43Fiesta's `js/shell.js` is f892f8be's byte for byte. Rastrillo changed
44it in d9c9ed13, 023740c5, e5e35a3e and 6b1c5478 (skipped view
45transitions). Every hunk is taken:
46
47| Rastrillo lines | what differs | newer | 1.2.0 |
48|---|---|---|---|
49| 1 | the header's first line: transition observation and phone navigation | Rastrillo, e5e35a3e | take |
50| 29 | the header's loading note: sidebar and console load it deferred; other layouts load `transition.js` before the styles | Rastrillo, 023740c5, e5e35a3e | take |
51| 89 | `observeTransition`: swallow only a skipped transition's `AbortError`, `InvalidStateError` or `TimeoutError` on `ready`, `finished` and `updateCallbackDone`, once per transition; observe `document.activeViewTransition` at startup; the direction comment shortened | Rastrillo, d9c9ed13, 023740c5, 6b1c5478 | take |
52| 110, 129 | `reveal` and `leave` observe their event's transition | Rastrillo, d9c9ed13, 023740c5 | take |
53
54## busy.js: 3 hunks, all Rastrillo's
55
56Fiesta's `js/busy.js` is e14b745a's byte for byte; 8548e455 (live
57pages) changed it before the f892f8be sync, which took only the CSS
58and `select.js`. Every hunk is taken:
59
60| Rastrillo lines | what differs | newer | 1.2.0 |
61|---|---|---|---|
62| 28 | the header documents `data-live-form` | Rastrillo, 8548e455 | take |
63| 95 | `busySubmit(e, late)`: a `data-live-form` form is not armed in the capture listener | Rastrillo, 8548e455 | take |
64| 200 | the window listener arms a `data-live-form` form late, only if no live script claimed it (`e.liveForm`) and nobody cancelled it | Rastrillo, 8548e455 | take |
65
66The header's wording names `live.js`, Rastrillo's script. It stays as
67Rastrillo wrote it, so the bytes Rastrillo serves do not change; to
68Fiesta it is the attribute "set by a server that swaps forms" and
69harmless without one.
70
71## transition.js: Rastrillo only
72
73New in 023740c5 and finished in e5e35a3e and 6b1c5478: the small
74observer column, stage and topbar pages load before their styles.
75Taken whole, byte for byte, as an optional script.
76
77## select.js: 10 hunks, all Fiesta's
78
79Rastrillo has not changed `select.js` since f892f8be, when Fiesta
80synced it, so on Rastrillo's side every hunk is f892f8be's text. Every
81Fiesta side came in with Fiesta 1.0.0 (c50db6d); 1.1.0 did not touch
82the file. Keep all.
83
84| Rastrillo lines | Fiesta lines | what differs | newer | 1.2.0 |
85|---|---|---|---|---|
86| 42 | 42 | the header: words come from the attribute, then the page's string table, then English, where Rastrillo's said its partial emits them from a catalog | Fiesta, c50db6d | keep |
87| 175 | 177 | `fiestaPickLang` and `fiestaWord`, the lookup, and both exported to the Node harness | Fiesta, c50db6d | keep |
88| 270 | 303 | `say` reads through `fiestaWord` instead of the attribute alone | Fiesta, c50db6d | keep |
89| 279 | 312 | `offLimits` (an option, or its option group, is disabled) and `locked` (the select is disabled, by itself or by a fieldset) | Fiesta, c50db6d | keep |
90| 295 | 334 | an option in a disabled option group is neither a prompt nor choosable | Fiesta, c50db6d | keep |
91| 329 | 368 | the box is built disabled when the select is | Fiesta, c50db6d | keep |
92| 750 | 793 | a locked select's list does not open | Fiesta, c50db6d | keep |
93| 805 | 848 | a locked select takes no choice | Fiesta, c50db6d | keep |
94| 999 | 1044 | a form reset repaints the box a task later, unless a listener cancelled it | Fiesta, c50db6d | keep |
95| 1038 | 1100 | the box follows the select's disabled attribute, closing an open list, and the prompt test uses `offLimits` | Fiesta, c50db6d | keep |
96
97## datetime.js: 17 hunks, all Fiesta's
98
99Rastrillo has not changed `datetime.js` since e14b745a, the seed, so on
100Rastrillo's side every hunk is the seed's text. Every Fiesta side came
101in with Fiesta 1.0.0 (c50db6d); 1.1.0 did not touch the file. Keep all.
102
103| Rastrillo lines | Fiesta lines | what differs | newer | 1.2.0 |
104|---|---|---|---|---|
105| 18 | 18 | the header: the date words come from the table's `date-words`, not Rastrillo's `ui/funcs.go` | Fiesta, c50db6d | keep |
106| 32 | 32 | the header: the seven quick-pick attributes spelled out one by one | Fiesta, c50db6d | keep |
107| 43 | 45 | the header: words come from the attribute, then the page's table, then English, where Rastrillo's said its partials emit them | Fiesta, c50db6d | keep |
108| 62 | 65 | the header names `check/node/datetime_node.mjs` and `check/testdata/datetime/` | Fiesta, c50db6d | keep |
109| 73 | 76 | the header names `calendar.js` and the seam `window.fiestaCalendar` | Fiesta, c50db6d | keep |
110| 1056 | 1059 | the English date words (`ENGLISH_WORDS`), `vocabulary`, and the reset accounting a blur commit reads | Fiesta, c50db6d | keep |
111| 1115 | 1176 | the local `attr` helper goes, replaced by `fiestaWord` | Fiesta, c50db6d | keep |
112| 1128 | 1184 | the vocabulary and every label read through `vocabulary` and `fiestaWord` | Fiesta, c50db6d | keep |
113| 1354 | 1405 | the calendar is opened through `window.fiestaCalendar`, not `window.rastrilloCalendar` | Fiesta, c50db6d | keep |
114| 1450 | 1501 | a locked field opens no suggestions | Fiesta, c50db6d | keep |
115| 1461 | 1513 | a locked field opens no calendar | Fiesta, c50db6d | keep |
116| 1481 | 1534 | a locked time field opens no clock | Fiesta, c50db6d | keep |
117| 1510 | 1564 | `locked` (read-only or disabled); `follow`, which mirrors the field's disabled and read-only state onto the box and button as they change; and a locked field commits nothing | Fiesta, c50db6d | keep |
118| 1523 | 1597 | a locked field's text is repainted, not committed | Fiesta, c50db6d | keep |
119| 1613 | 1688 | a reset accepted after the blur wins over the blur's commit | Fiesta, c50db6d | keep |
120| 1665 | 1749 | a form reset repaints the box a task later, unless a listener cancelled it | Fiesta, c50db6d | keep |
121| 1714 | 1815 | `fiestaPickLang` and `fiestaWord`, the same two functions `select.js` carries, and the Node harness path | Fiesta, c50db6d | keep |
122
123## calendar.js: 3 hunks, all Fiesta's
124
125Rastrillo has not changed `calendar.js` since e14b745a. Every Fiesta
126side came in with Fiesta 1.0.0 (c50db6d). Keep all.
127
128| Rastrillo lines | Fiesta lines | what differs | newer | 1.2.0 |
129|---|---|---|---|---|
130| 18 | 18 | the header names the seam `window.fiestaCalendar` | Fiesta, c50db6d | keep |
131| 38 | 38 | the header names `check/node/datetime_node.mjs` | Fiesta, c50db6d | keep |
132| 517 | 517 | the panel is published as `window.fiestaCalendar`, and the comment on the pure half names the Fiesta harness | Fiesta, c50db6d | keep |
133
134How the provenance was read: `git diff v1.0.0 v1.1.0` and
135`git diff v1.1.0 HEAD` are empty for all three files, and the diff of
136Rastrillo's file against `git show v1.0.0:js/<file>` has the same hunks
137as the diff against the tree.
138
139## Out of scope
140
141`rastrillo.js` (its menu, switch, touch and scheme halves are already
142`fiesta.js`; its fragment shim stays Rastrillo's) and `live.js` (live
143pages stay Rastrillo's).
144