# Seeding from Rastrillo

The seed commit: e14b745a7c08d0efa3bf221a8b6a5e75de15c46f

The last sync: f892f8beebf7aea2811e7634e77021e2ad2b161d. The CSS stayed byte for byte until 1.1.0, the first release to change it, and check/testdata/seed/ keeps 1.0.0's stylesheets and layouts as the baseline every 1.x release is held to. select.js carries the placement fix Rastrillo made since the seed.

1.2.0 caught up with every change Rastrillo made to these files after the seed, up to its main at aa35d581: hack/catch-up-1.2.md lists each differing hunk, the side that was newer and the commit.

Fiesta's CSS, scripts, icons, examples, fixtures and language files were taken from Rastrillo once, at the commit below, and are Fiesta's own from then on. Fiesta never imports Rastrillo.

run.sh <rastrillo checkout> <seed commit> does the seeding. It adds a scratch worktree of Rastrillo at the seed commit under $TMPDIR, copies the two exporters from _rastrillo/ into it, runs them as Go tests, and removes the worktree whether or not they passed. The exporters write the examples, examples.json, the fixtures under check/testdata, the twelve i18n files and sources.json. Set FIESTA_SEED_DRYRUN=1 to write nothing and list the state labels that need copy review.

run-prose.sh <rastrillo checkout> <seed commit> does the same for the prose: it reads the gallery's explanations at the seed commit, writes the ones that carry into examples/prose.json, and lists the rest in prose-review.json with the reason and, once reviewed, the approved replacement.

run-translations.sh <rastrillo checkout> <commit> carries the gallery's translations: it dumps Fiesta's English strings with their ids, matches each against Rastrillo's prose and sample tables and its locale catalogs at the commit, writes the hits into internal/gallery/i18n/, and lists the misses in translations-todo.json for drafting.

sources.json says where every example state came from: the partial, idiom, shell, format or screen in Rastrillo's gallery, and which of its states. check/testdata/fixtures/index.json does the same for the fixtures, and marks the page builders that were not seeded, with the reason.

The hashes below are the files copied byte for byte, so a later sync can tell what moved.

8a99d7e8512d89d8d2469545b57eef670836a376d1fbdbf5e26096aa9241234c  css/tokens.css
566f7dfb5f3907f12b7de92d133e5430ad4537892e9e55578665a849353fb108  css/shell.css
2deaa9f663d9929cfa9238d60ed0e532dc552313d5838b8e0d076f9991b4907f  css/themes/day.css
c2df2e8ce4fb193ba16dfc058257defd27daf9ac2a0e5309fee4ae30efb5e62a  css/themes/plain.css
a510cdd1918e9223aa3cdacc53d08f818cc4a1f82fc1e4358d36221c26e241df  css/themes/signal.css
9a015c586428d682f5d00eb5ec33df316e48bcf2c4b6418b83400eec70c3ba08  js/anchor.js
607b0d42a3a2d3efea7bcb5410510b9d783202289a081ab8256611d8b7ce4591  js/busy.js
9d3ffcb98ed2a7cdbbf42d9f147ed4c004f1c345f71d0c336474648196f422e2  js/calendar.js
9f7e9ded2dc195bd6456979630a2e3b6d878096da18910b3b63c5fb4f48adf54  js/datetime.js
2798d932ddbdf6c91df2d94769d28966c5c503a077fe7492cc7844beb28a4a4f  js/light.js
059968445563a8d4be361e1734059b64b4dcfe6926cecca207a17fb28439a3ff  js/select.js
6fa4c282e48d2c63b30d84ce990bf3b8fbec8a717624e3fafb73e6d3d2ac34d7  js/shell.js
6ec72361441701b26d087539ca464842fc3f1f2fe10e5d6496b0e10dae02770c  icons/alert-triangle.svg
91f33326153663b59adf688912255726a94af25d689a9e9f23092dac7caad0fa  icons/check-circle.svg
a1f4ac8124c0d7b76c1110c52e28c218cec52a366bf480d4be1fbbc4be4245f7  icons/check.svg
86d9c2676c3d139cf9c80b5627c28357087fb4614faa3f32d9fe92800ef3ad82  icons/chevron-down.svg
1deae5bc1e3cf69d2b1dbb5fdb80b7c65a470550257d069bf6e3bd68630fe20a  icons/help-circle.svg
8eb2b7f83c061f99a34749a21682f26abbe247d4175c20ecb9268abb84c9ca65  icons/info.svg
ffe60a7a76651d2c26cbc355da336b3b6d7a617fd6680296020c0afb4eb06a11  icons/kebab.svg
4f692fabaf6e9bea7734c8bfed31f3e2d53e917e9974da3510c7ac597291f15f  icons/menu.svg
da0813b4a16af03006d48e6b62a9d0b85531c08167df2e35f17f46b859b859d9  icons/plus.svg
3c6870ab04139a574300d840c08ee2d5dc80c3a79c6111b0fc391c2b6a3b49f2  icons/search.svg
8ff0b67e4566ac9fd6b5caabd226f720452c1d366303fe7b79a6767b6dd47827  icons/x-circle.svg
3c2fa6c229a10acfe4a1f06910dccbc88867e94e0e5a840d33c3a35dc037f6b4  icons/x.svg
b495047bd93a9b06913511076f504daba17d5bbeb3e0650f3bb53a4220329c57  icons/LICENSE-lucide.txt
2deaa9f663d9929cfa9238d60ed0e532dc552313d5838b8e0d076f9991b4907f  check/testdata/seed/day.css
c2df2e8ce4fb193ba16dfc058257defd27daf9ac2a0e5309fee4ae30efb5e62a  check/testdata/seed/plain.css
566f7dfb5f3907f12b7de92d133e5430ad4537892e9e55578665a849353fb108  check/testdata/seed/shell.css
a510cdd1918e9223aa3cdacc53d08f818cc4a1f82fc1e4358d36221c26e241df  check/testdata/seed/signal.css
8a99d7e8512d89d8d2469545b57eef670836a376d1fbdbf5e26096aa9241234c  check/testdata/seed/tokens.css
9381d887ffdf0157ba0e7fe0dd83829ecaa6be6213cee71e6337a73e74d03c11  check/testdata/datetime/ar.json
1b3200cd0b00b47e92af37f3cc9f4494f6201dccb949508e7444a0f16f0f9e7e  check/testdata/datetime/bn.json
1d41fea86263cc97b9db548b4bdbdacef7e9ea4fa2951950ceb1a90fa157cbe4  check/testdata/datetime/en.json
ffcab1fa85e41ee99ea25a5d692c377fdfa3d558fb5bdfd3b36b3c216b85c7a5  check/testdata/datetime/es.json
6116e505bbc02d787219e7885867a7f1fa22487aaea970e5a4ac771e4f3d8acd  check/testdata/datetime/ga.json
8672ec62e5118158319f9e21abdf1219af1aa3f82298e67410f2024792835833  check/testdata/datetime/hi.json
960a8d4d327e89638f134c9c77db0b084b205b998e2ef98def930c32ac02734e  check/testdata/datetime/ja.json
356e45963a1336a6b38379aa0a84f74366484360309b3d6fd44a4e69890a94a1  check/testdata/datetime/pt-PT.json
7551dc8e49d05de2466f6f2add62e17f84fefbef5b816f217534e8fff6d13a55  check/testdata/datetime/regressions.json
53f9bca1b2264ec7c612df0248dc172bb0f909bde12a2c67373560b3b45e26fa  check/testdata/datetime/ru.json
f8ad77417ee0f3dd939e659bafc1c02ef8aab68334f8c59fc95d3bc96c30b55a  check/testdata/datetime/vi.json
0a098efd8a1a07a39bcc3e473042c42169c75c8ffba9d5ca34c1a484efb674a9  check/testdata/datetime/yue.json
f826e4fdbfa216d15bc71496c5b532d602dea83567d76563741739cc6c629582  check/testdata/datetime/zh-Hans.json
b76151f3ed219c3153f8da589cec527f5a47e56338e7edccad0fa928466c0b1e  check/testdata/legacy/day-v028.css
33a79d09ab8287f59081cd0e9e480860172b719efa32e4588d0cb445639eaae4  check/testdata/legacy/plain-v028.css
9e1d7a1ce99763e3f0eb089aa29b66c4184e31c2fa270ba1b6075640ee84bd6b  check/testdata/legacy/signal-v028.css
38915a996ec82bd4fe86cf0b59eb810aeea6dbd74c019c11e260f0c8f01841ef  check/testdata/legacy/tokens-v028.css
f7b196f6eaaaedb39c051ef784a910665da6df2dc2f269372e778c7bf163a0e3  examples/assets/sample-banner.svg
60b046509f6eb5344bb28834a0c64e62fded8a467edca72867a3a9f7bbb3c127  examples/assets/sample-checkout.svg
87f400ef28f9b9ec8a0cfa605077f0913b750dd88acab4310aeb14871a1bdf97  examples/assets/sample-logo.svg
6f0ba1eecc8aa675ae91b82fc274ecc4f8abe24833c974d25479856e1e261472  examples/assets/sample-pricing.svg

The checksums of run-prose.sh's output at its last run, so the next run shows whether any explanation changed.

9b12fb3b1386c4e2d6f5177a634eb6b2047581fea8ee1b6ec7a5e26285f7e3d5  examples/prose.json
20be9fd4c7239e0e7f28de4493c425dd8ae6cb4ddc9998ac42de8cf430030889  hack/seed/prose-review.json
