Technical details
Game state, scoring, review intervals, and readiness are derived from a versioned browser save. Typed content loads in separate chunks, and a service worker caches the app for offline study after the first visit. The app runs under this site's /apps/fabric-mill/ path.
Automated checks cover game rules, save migrations, puzzle evaluators, content coverage, and component behavior. Browser tests exercise desktop and phone flows, accessibility, production security headers, and offline use.