CMMS fork: re-vendor all runtime deps locally, strip analytics
Upstream loads zip.js, OpenCV.js, WireBender (JS+WASM) and Google Fonts
from CDNs at runtime, and includes a Google Tag / gtag.js snippet. The
CMMS deployment forbids external requests. Changes:
- docs/vendor/ — local copies of opencv.js (Apache-2.0), zip.min.js
(BSD-3-Clause), WireBender.{js,wasm} (AGPL-3.0/commercial, source at
github.com/dev-lab/WireBender), and the three Google fonts (OFL, latin
subset). SOURCE.txt records provenance.
- studio.html / schema.html — zip.js + opencv.js + fonts @import point at
docs/vendor/.
- inspect-traces.js / schema/layout.js — WireBender import() + locateFile
point at docs/vendor/wirebender/.
- every *.html — Google Tag / gtag.js snippet removed.
No behaviour change; kicad-symbols zip was already bundled + local.
CMMS embedding hooks (window.PCBRETRACE_CONFIG, save-back, AI bridge)
land in a later commit.
This commit is contained in:
parent
e3d1052faa
commit
5e4c7245b6
22 changed files with 172 additions and 36 deletions
36
docs/vendor/SOURCE.txt
vendored
Normal file
36
docs/vendor/SOURCE.txt
vendored
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
Third-party runtime dependencies, vendored locally for the CMMS fork
|
||||
==================================================================
|
||||
|
||||
Upstream pcb-retrace loads these from CDNs at runtime. The CMMS deployment
|
||||
forbids external requests (CSP + offline-capable), so they are copied here and
|
||||
the references in ../studio.html, ../schema.html, ../inspect-traces.js and
|
||||
../schema/layout.js are rewritten to these local paths. Fetched 2026-09-03.
|
||||
|
||||
opencv.js
|
||||
https://docs.opencv.org/4.x/opencv.js (OpenCV 4.x prebuilt, single-file,
|
||||
wasm embedded as a base64 data URI — no separate .wasm)
|
||||
License: Apache-2.0. Used by cv-core.js for ORB feature matching / photo
|
||||
alignment only.
|
||||
|
||||
zip.min.js
|
||||
https://cdn.jsdelivr.net/npm/@zip.js/zip.js@2.8.26/dist/zip.min.js
|
||||
License: BSD-3-Clause (Gildas Lormeau). Project-ZIP + kicad-symbols-zip
|
||||
read/write.
|
||||
|
||||
wirebender/WireBender.js + WireBender.wasm
|
||||
https://dev-lab.github.io/WireBender/latest/{WireBender.js,WireBender.wasm}
|
||||
License: dual AGPL-3.0-only OR commercial (Taras Greben). Corresponding
|
||||
source: https://github.com/dev-lab/WireBender (not modified here — the
|
||||
published binary is redistributed as-is alongside this AGPL fork).
|
||||
Cosmetic net-trace routing for the Inspect view + Schema ReTrace layout.
|
||||
ES module (uses import.meta.url); the .wasm is resolved by emscripten's
|
||||
default locateFile relative to the module, or via the explicit URL() in
|
||||
schema/layout.js.
|
||||
|
||||
fonts/ (Rajdhani v17, Share Tech Mono v16, Space Mono v17 — latin subset only)
|
||||
https://fonts.googleapis.com/css2?family=Share+Tech+Mono&family=Rajdhani:wght@400;500;600;700&family=Space+Mono:wght@400;700
|
||||
License: SIL Open Font License 1.1. Used by schema.html only. fonts.css
|
||||
replaces the external @import.
|
||||
|
||||
../assets/kicad-symbols-master.zip is bundled by upstream itself (KiCad symbol
|
||||
libraries, CC-BY-SA-4.0 + KiCad library exception) — not added here.
|
||||
56
docs/vendor/fonts/fonts.css
vendored
Normal file
56
docs/vendor/fonts/fonts.css
vendored
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
/*
|
||||
* Local copies of the Google Fonts used by schema.html (Schema ReTrace).
|
||||
* Latin subset only. Fetched 2026-09-03 from fonts.googleapis.com /
|
||||
* fonts.gstatic.com. Rajdhani v17, Share Tech Mono v16, Space Mono v17.
|
||||
* All three are licensed under the SIL Open Font License 1.1.
|
||||
* Replaces an external @import so the app makes no cross-origin requests.
|
||||
*/
|
||||
@font-face {
|
||||
font-family: 'Rajdhani';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: url(./rajdhani-400.woff2) format('woff2');
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Rajdhani';
|
||||
font-style: normal;
|
||||
font-weight: 500;
|
||||
font-display: swap;
|
||||
src: url(./rajdhani-500.woff2) format('woff2');
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Rajdhani';
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
font-display: swap;
|
||||
src: url(./rajdhani-600.woff2) format('woff2');
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Rajdhani';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
font-display: swap;
|
||||
src: url(./rajdhani-700.woff2) format('woff2');
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Share Tech Mono';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: url(./sharetechmono-400.woff2) format('woff2');
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Space Mono';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: url(./spacemono-400.woff2) format('woff2');
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Space Mono';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
font-display: swap;
|
||||
src: url(./spacemono-700.woff2) format('woff2');
|
||||
}
|
||||
BIN
docs/vendor/fonts/rajdhani-400.woff2
vendored
Normal file
BIN
docs/vendor/fonts/rajdhani-400.woff2
vendored
Normal file
Binary file not shown.
BIN
docs/vendor/fonts/rajdhani-500.woff2
vendored
Normal file
BIN
docs/vendor/fonts/rajdhani-500.woff2
vendored
Normal file
Binary file not shown.
BIN
docs/vendor/fonts/rajdhani-600.woff2
vendored
Normal file
BIN
docs/vendor/fonts/rajdhani-600.woff2
vendored
Normal file
Binary file not shown.
BIN
docs/vendor/fonts/rajdhani-700.woff2
vendored
Normal file
BIN
docs/vendor/fonts/rajdhani-700.woff2
vendored
Normal file
Binary file not shown.
BIN
docs/vendor/fonts/sharetechmono-400.woff2
vendored
Normal file
BIN
docs/vendor/fonts/sharetechmono-400.woff2
vendored
Normal file
Binary file not shown.
BIN
docs/vendor/fonts/spacemono-400.woff2
vendored
Normal file
BIN
docs/vendor/fonts/spacemono-400.woff2
vendored
Normal file
Binary file not shown.
BIN
docs/vendor/fonts/spacemono-700.woff2
vendored
Normal file
BIN
docs/vendor/fonts/spacemono-700.woff2
vendored
Normal file
Binary file not shown.
48
docs/vendor/opencv.js
vendored
Normal file
48
docs/vendor/opencv.js
vendored
Normal file
File diff suppressed because one or more lines are too long
16
docs/vendor/wirebender/WireBender.js
vendored
Normal file
16
docs/vendor/wirebender/WireBender.js
vendored
Normal file
File diff suppressed because one or more lines are too long
BIN
docs/vendor/wirebender/WireBender.wasm
vendored
Normal file
BIN
docs/vendor/wirebender/WireBender.wasm
vendored
Normal file
Binary file not shown.
1
docs/vendor/zip.min.js
vendored
Normal file
1
docs/vendor/zip.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
Loading…
Reference in a new issue