feat(voyage): scaffold playground/ with DS vendor sync — v4.2 Step 5
- playground/voyage-playground.html: minimal skeleton (DOCTYPE, app-header, guide-panel, aria-live region, skip-to-main link). Steps 8-11 will extend with render-pipeline + creation gestures + sidebar + export. - playground/vendor/playground-design-system/: synced via 'node scripts/sync-design-system.mjs voyage' (27 files + MANIFEST.json with source_commit + sync_date + SHA-256 per file). - tests/playground/voyage-playground.test.mjs: 8 tests pinning HTML existence, DOCTYPE, no-external-URLs, no-marked, A11Y skip-to-main + aria-live, MANIFEST.json structure, vendored DS files present. - shared/PLAYGROUND-MAINTENANCE.md: consumer list updated 5 -> 6 (added voyage).
This commit is contained in:
parent
f316cc1efa
commit
2f4330265c
30 changed files with 4947 additions and 1 deletions
84
plugins/voyage/playground/vendor/playground-design-system/fonts.css
vendored
Normal file
84
plugins/voyage/playground/vendor/playground-design-system/fonts.css
vendored
Normal file
|
|
@ -0,0 +1,84 @@
|
|||
/* Code generated by sync-design-system.mjs; DO NOT EDIT. */
|
||||
/*
|
||||
* Self-hosted web fonts for Playground Design System.
|
||||
*
|
||||
* All three families are licensed under SIL Open Font License 1.1.
|
||||
* Full license text and provenance: ./fonts/LICENSES.md
|
||||
*
|
||||
* Why self-hosted:
|
||||
* - No external requests (no fonts.googleapis.com, no IP/UA leakage).
|
||||
* - Works offline / behind air-gapped firewalls.
|
||||
* - GDPR-compliant for Norwegian public-sector deployments.
|
||||
*
|
||||
* Bundle size: ~940 KB total across 9 woff2 files.
|
||||
* Loaded via font-display: swap to avoid FOIT.
|
||||
*/
|
||||
|
||||
/* ========== Inter (UI / body) ========== */
|
||||
@font-face {
|
||||
font-family: "Inter";
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: url("./fonts/Inter-Regular.woff2") format("woff2");
|
||||
}
|
||||
@font-face {
|
||||
font-family: "Inter";
|
||||
font-style: normal;
|
||||
font-weight: 500;
|
||||
font-display: swap;
|
||||
src: url("./fonts/Inter-Medium.woff2") format("woff2");
|
||||
}
|
||||
@font-face {
|
||||
font-family: "Inter";
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
font-display: swap;
|
||||
src: url("./fonts/Inter-SemiBold.woff2") format("woff2");
|
||||
}
|
||||
@font-face {
|
||||
font-family: "Inter";
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
font-display: swap;
|
||||
src: url("./fonts/Inter-Bold.woff2") format("woff2");
|
||||
}
|
||||
|
||||
/* ========== JetBrains Mono (code) ========== */
|
||||
@font-face {
|
||||
font-family: "JetBrains Mono";
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: url("./fonts/JetBrainsMono-Regular.woff2") format("woff2");
|
||||
}
|
||||
@font-face {
|
||||
font-family: "JetBrains Mono";
|
||||
font-style: normal;
|
||||
font-weight: 500;
|
||||
font-display: swap;
|
||||
src: url("./fonts/JetBrainsMono-Medium.woff2") format("woff2");
|
||||
}
|
||||
@font-face {
|
||||
font-family: "JetBrains Mono";
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
font-display: swap;
|
||||
src: url("./fonts/JetBrainsMono-SemiBold.woff2") format("woff2");
|
||||
}
|
||||
|
||||
/* ========== Source Serif 4 (occasional editorial accents) ========== */
|
||||
@font-face {
|
||||
font-family: "Source Serif 4";
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: url("./fonts/SourceSerif4-Regular.woff2") format("woff2");
|
||||
}
|
||||
@font-face {
|
||||
font-family: "Source Serif 4";
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
font-display: swap;
|
||||
src: url("./fonts/SourceSerif4-Semibold.woff2") format("woff2");
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue