app
Wire Harness Designer
Public Made by Adomby adom
Design wire harnesses in the browser and export a professional, print-ready PDF assembly drawing. Pick connectors, wire gauge, colour and stripe, sleeving, and connector-to-connector lengths; get a live fishbone diagram with a wire schedule and title block. Click any wire or connector in the drawing to edit it. Save and reload the whole harness as JSON.
← Commit history
README.mdadded+96@@ -0,0 +1,96 @@+# Wire Harness Designer++Design a wire harness in the browser and export a professional, print-ready **PDF**+assembly drawing. Pick connectors, wire gauge, colour and stripe, sleeving, and+connector-to-connector lengths; get a live fishbone diagram with a wire schedule and a+title block. Click any wire or connector in the drawing to edit it. Save and reload the+whole harness as JSON.++++## Install++```bash+adom-wiki pkg install adom/wire-harness-designer+wire-harness-designer open # starts the server and opens the webview+```++## What it does++- **Connectors** — type (Deutsch, Molex, JST, M12, D-Sub, ring terminals, flying leads, …),+ pin count, and where each sits: auto, an end, or a branch up/down.+- **Wires** — From/To connector + pin, AWG gauge (drives strand thickness), colour with an+ optional stripe, and a signal/notes label.+- **Lengths are per connector pair** — set `J1 ↔ J2` once and every wire on that pair uses it+ (the Segment Lengths section). Older files with per-wire lengths migrate automatically.+- **Wire wrap / sleeving** — braided, spiral, convoluted tube, harness tape, or heat shrink+ over a span of the trunk, each drawn with a distinct hatch and a callout.+- **Live diagram** — connector face views with numbered pins, a colourful wire ribbon along+ the trunk, sleeves, length dimensions, a wire schedule, and a standard title block.+- **Click-to-edit** — click any wire or connector in the drawing to change its colour, gauge,+ signal, length, type, pins, and more, inline.+- **Export PDF** — a real vector PDF (crisp at any zoom), multi-page when the schedule+ overflows. Sheet sizes: Tabloid, A3, Letter.+- **Save / Load JSON** — the whole harness is one `adom.wire-harness/v1` document, so a+ drawing can be regenerated, diffed, or version-controlled.++## The drawing++++Everything you see — connectors, the wire ribbon, sleeves, the schedule, and the title block —+comes from one layout engine, so the on-screen preview matches the exported PDF exactly.++## Click any wire or connector to edit it++++## CLI++```bash+wire-harness-designer open # start the server (if needed) and open the webview [default]+wire-harness-designer serve # run the static server in the foreground+wire-harness-designer health # is the server running?+wire-harness-designer --version+```++Default port is 8830 (override with `PORT`). Everything (preview, PDF, JSON) runs+client-side; the Node server only serves static files so the webview has a URL to load.++## How it is built++One layout engine emits a renderer-agnostic draw list that feeds both outputs:++```+public/harness-layout.js model JSON -> draw list (PDF points, y-down)+public/render-svg.js draw list -> SVG (live preview + click targets)+public/render-pdf.js draw list -> jsPDF (vector PDF export)+public/app.js state, editors, click-to-edit, tooltips, toasts, save/load+server.js static file server (no app logic)+```++## Harness JSON++```jsonc+{+ "schema": "adom.wire-harness/v1",+ "meta": { "name": "Sensor Harness", "partNumber": "WH-1042", "revision": "A" },+ "connectors": [ { "id": "J1", "type": "Deutsch DT06-4S", "pins": 4, "side": "left" } ],+ "wires": [ { "id": "W1", "from": { "conn": "J1", "pin": 1 },+ "to": { "conn": "TB1", "pin": 1 }, "gauge": "16", "color": "RD",+ "signal": "+12V" } ],+ "segments": [ { "a": "J1", "b": "TB1", "length": 780 } ],+ "wraps": [ { "type": "Braided sleeve", "start": 40, "end": 300 } ]+}+```++`samples/sensor-harness.json` is the built-in starter (also the **Sample** button).++## Drive API++For AI/CLI testing the app exposes `window.harnessApp`:+`getModel()`, `setModel(m)`, `exportPDF()`, `saveJSON()`, `pdfDataUrl()`, `toast(msg, type)`.++## License++MIT.
page.jsonadded+77@@ -0,0 +1,77 @@+{+ "slug": "wire-harness-designer",+ "title": "Wire Harness Designer",+ "type": "app",+ "version": "1.0.0",+ "description": "Design wire harnesses in the browser and export a professional, print-ready PDF assembly drawing. Pick connectors, wire gauge, colour and stripe, sleeving, and connector-to-connector lengths; get a live fishbone diagram with a wire schedule and title block. Click any wire or connector in the drawing to edit it. Save and reload the whole harness as JSON.",+ "license": "MIT",+ "needs_sudo": false,+ "tags": [+ "wire-harness",+ "harness",+ "wiring",+ "connectors",+ "cable-assembly",+ "pdf",+ "electrical",+ "kicad",+ "webview",+ "open-source"+ ],+ "dependencies": {},+ "discovery_triggers": [+ "wire harness",+ "make a wire harness",+ "harness drawing",+ "cable assembly drawing",+ "wiring diagram",+ "connector pinout drawing",+ "wire schedule",+ "harness PDF",+ "design a cable",+ "point to point wiring",+ "open wire harness designer"+ ],+ "discovery_pitch": "Lay out a wire harness (connectors, gauge, colour, sleeving, lengths) and export a professional PDF assembly drawing with a wire schedule; save/reload as JSON.",+ "sample_prompts": [+ {+ "label": "Build a harness",+ "prompt": "design a wire harness with two connectors and export a PDF"+ },+ {+ "label": "From a wire list",+ "prompt": "make a harness drawing for this connector-to-connector wire list"+ },+ {+ "label": "Open the app",+ "prompt": "open the wire harness designer"+ }+ ],+ "scripts": {+ "install": "./install.sh",+ "uninstall": "./uninstall.sh",+ "serve": "node server.js"+ },+ "files": [+ "bin/**",+ "public/**",+ "samples/**",+ "server.js",+ "install.sh",+ "uninstall.sh",+ "package.json",+ "README.md",+ "SKILL.md",+ "LICENSE",+ "screenshots/**"+ ],+ "hero": {+ "type": "image",+ "path": "screenshots/hero.png"+ },+ "org": "adom",+ "author": {+ "name": "noah",+ "email": "[email protected]"+ }+}