diff --git a/SOURCE.txt b/SOURCE.txt new file mode 100644 index 0000000..9012317 --- /dev/null +++ b/SOURCE.txt @@ -0,0 +1,81 @@ +PCBJam — self-hosted fork (CMMS embed) +====================================== + +This repository is a self-hosted fork of PCBJam (browser-based KiCad compiled to +WebAssembly), maintained for embedding the editor in the tas-tech.net CMMS +(TT-DB) at /vendor/pcbjam/. + +Upstream +-------- + https://github.com/emergence-engineering/pcbjam + tracked here as git remote `upstream`. + + Forked at upstream commit: + 766e2f409fa8b098555226479742ec694709ea48 (branch main, 2026-09-01) + +Branches +-------- + main pristine mirror of upstream @ 766e2f4 (no local changes) + build/host-networking docker/docker-compose.yml: host networking on the build + host (its dockerd runs bridge:none + iptables:false for + a VPN killswitch, so the image build + compile container + use the host network namespace). 1 commit (28c545f). + cmms-embed build/host-networking + sub-path mount support so the + standalone editor serves under /vendor/pcbjam/ with no + change to KiCad/wxWidgets or @pcbjam/shared. See the + commit message for the file-by-file breakdown. A pure + no-op when built without `--base` (root deploy). + +Submodules +---------- +Pinned by the superproject gitlinks (nothing in scripts/ overrides them — +`KICAD_COMMIT` in scripts/common/versions.sh is unused/informational): + + kicad 56678639eea1b3c0358f384fa47ef7fab78bd09b + upstream https://github.com/PCBJam/kicad-source-mirror (branch wasm-port) + wxwidgets 4e6cc5a441e46ac07b242caa3adacfd8e7c7ec50 + upstream https://github.com/PCBJam/wxWidgets (branch wasm-port) + web/pcbjam-shared a4984c626d847bd07ce66148d6ec96fde8ee8e42 + upstream https://github.com/PCBJam/pcbjam-shared (branch main) + +.gitmodules still points at PCBJam's GitHub forks — these are NOT mirrored into +Forgejo. A checkout needs `git submodule update --init --recursive` against GitHub. + +Toolchain / dependency pins (scripts/common/versions.sh) +------------------------------------------------------- + Emscripten SDK 6.0.6 (installed from emsdk inside docker/Dockerfile; + base image ubuntu:22.04) + KiCad 8.99 + OpenCASCADE 7.8.0 + wxWidgets 3.3.1 + Boost 1.84.0 + Protobuf 3.21.12 + Python 3.11.5 + ngspice 46 + FreeType 2.13.2 + HarfBuzz 8.3.0 + Cairo 1.18.0 + Pixman 0.42.2 + Zstd 1.5.5 + GLM 0.9.9.8 + (every download in versions.sh also carries a SHA256 pin) + +Build +----- + KiCad WASM: ./docker/build.sh kicad_editor -j 4 --build-deps (debug) + ./docker/build.sh kicad_editor -j 4 --full --release (ship) + Editor UI: cd web && pnpm install --frozen-lockfile + pnpm --filter @pcbjam/standalone exec vite build --base=/vendor/pcbjam/ + (env: web/standalone/.env.production on the cmms-embed branch) + +License +------- +KiCad and wxWidgets are GPLv3. PCBJam's own code carries its upstream licenses +(see LICENSE and the per-package headers; @pcbjam/shared is MIT). This fork is +distributed under the same terms. + +The corresponding source for any deployed WASM build IS this repository at the +commit the build was made from, together with the submodule revisions its +gitlinks pin (listed above). Repository: + + https://repo.tas-tech.net/AI_Assistant/pcbjam