diff options
| author | Craig Jennings <c@cjennings.net> | 2026-07-16 09:11:24 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-07-16 09:11:24 -0500 |
| commit | 910993b25ba1736fc7f5958c53a7cdc523f98cf2 (patch) | |
| tree | 000b49d3a0c62f3bc82fd554c76e133a6eefbf38 /scripts/setup-chess-README.md | |
| parent | 59dd61b446319696099619709ca3bcd7902a7f08 (diff) | |
| download | archsetup-910993b25ba1736fc7f5958c53a7cdc523f98cf2.tar.gz archsetup-910993b25ba1736fc7f5958c53a7cdc523f98cf2.zip | |
feat(gallery): bake widget validation progress into the source
The validation walk's per-card state lived only in browser localStorage, so a cache clear would lose it and the other machine never saw it. VSTATUS now carries the record in source, read as a fallback behind localStorage. The live walk wins on the machine doing it, and a deliberate un-check beats a baked green, because 'off' is a stored value like any other.
I build the export's text by hand rather than through JSON.stringify, which hoists canonical integer keys ('12' ahead of '01') and would reshuffle the whole block on every bake.
Copying it out never touches the clipboard. navigator.clipboard is denied outright on file://, and execCommand returns true while writing nothing. So the export lands in a selected textarea instead: a selection is readable as the PRIMARY selection, and that's the one path that works here.
Diffstat (limited to 'scripts/setup-chess-README.md')
0 files changed, 0 insertions, 0 deletions
