waybetter/packages/runtime/tests
CRT 01f2ec0417 runtime + host: the theme engine (theme documents, choice catalog, page runtime, fonts; native theme state)
The site-independent theme engine moves from wayBetter for X into the framework:
- runtime/themeSpec.ts: theme document types, the schema's defaults (BASE_*), sanitizing,
  import, overrides, ensureContrast, font roles/stacks, font choices, backgrounds.
- runtime/themeChoice.ts: ThemeChoice and createThemeCatalog(builtins) (normalize, base,
  resolve, palette, all), choiceForId, serializeChoice.
- runtime/themeRuntime.ts: installThemeRuntime(win, site) (live CSS over the site's rules,
  --wb-* vars, site color mode, first-frame snapshot), collectRules, resolvedFonts.
- runtime/fonts.ts: bundled fonts and owner-downloaded Google Fonts from bytes.
- themeApi exports hexToRgb, mix and MONO_FAMILIES (one copy: themeTokens and themeSpec use them).
- host theme.rs: ThemeChoice/ThemeScopes over a site's ThemeSite (envelope checks against
  theme.schema.json, which theme a tab shows, page color, delivery script).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-29 13:07:59 +07:00
..
column.test.ts runtime column: set the column attributes on scan (config delivered at document start has no <html> yet), no scrollbar in columns, unread only above both the read items and what is on screen, a hidden 1 px webview counts as off screen 2026-09-28 23:42:21 +07:00
commands.test.ts runtime: plugin commands for the command palette (api.commands / scope.commands: register, list, run, owner = the starting plugin, removed on stop, caps, in-page shortcuts); host: start/stop scripts own and drop a plugin's commands; dev_start_script with sourceURL + devError for live reload; devErrors (file:line from a start failure) 2026-09-29 01:35:44 +07:00
devErrors.test.ts runtime: plugin commands for the command palette (api.commands / scope.commands: register, list, run, owner = the starting plugin, removed on stop, caps, in-page shortcuts); host: start/stop scripts own and drop a plugin's commands; dev_start_script with sourceURL + devError for live reload; devErrors (file:line from a start failure) 2026-09-29 01:35:44 +07:00
hubs.test.ts Extract the wayBetter framework core from wayBetter for X 2026-09-28 03:01:33 +07:00
i18n.test.ts locales: the shell frame's words (wb.*) and the install screen's source line, 51 languages 2026-09-29 12:46:57 +07:00
linkRouting.test.ts Extract the wayBetter framework core from wayBetter for X 2026-09-28 03:01:33 +07:00
pageLang.test.ts pageLang: report X's language even when installed before <html> exists or before the IPC bridge 2026-09-29 11:01:53 +07:00
paneNav.test.ts Extract the wayBetter framework core from wayBetter for X 2026-09-28 03:01:33 +07:00
permissions.test.ts Plugin permissions and app installs: @permissions header, per-plugin API views, validated install/remove 2026-09-29 01:08:52 +07:00
pluginApi.test.ts Extract the wayBetter framework core from wayBetter for X 2026-09-28 03:01:33 +07:00
styles.test.ts runtime: styles for created roots are constructed sheets (CSP-proof) 2026-09-29 04:09:14 +07:00
themeEngine.test.ts runtime + host: the theme engine (theme documents, choice catalog, page runtime, fonts; native theme state) 2026-09-29 13:07:59 +07:00
themeTokens.test.ts Extract the wayBetter framework core from wayBetter for X 2026-09-28 03:01:33 +07:00
ui.test.ts runtime: plugin UI kit (api.ui: toast, alert, confirm, prompt, dialog, modal) and theme API (api.theme, --wb-* vars); theme JSON Schema; waybetter 0.2.0 2026-09-28 21:47:09 +07:00