Standard parts (partsLibrary.js)
- ACDC TXL palette: 15 solids plus the 16 stocked stripe combinations
- 29 wire functions fix colour, stripe and gauge per signal, so a wire
drawn from a given pin comes out identical on every build
- 16 pre-labelled parts: Skudak VCU (GRAY/BLACK), openinverter LDU
23-pin, Dilong OBC/DCDC, BMW pedal, Honeywell CSSV1500, Bender
ISO175, Bosch iBooster, Prius EPS, Volvo PS pump, cluster, DNR
switch, 32-way enclosure bulkhead, contactors, VW MEB BMS
- OEM colours override the in-house standard where we splice into a
factory loom (VW MEB LV connector, recovered from the VW bms diagram)
- Brown is ground, matching the MEB loom and European practice; orange
is reserved for AC mains and OEM high-voltage runs
Fuse box configurator (pdmLibrary.js)
- GEP FRH-A12/A24 and the 48-way PDM as 280-footprint cavity grids
- Place, drag and rotate fuses, relays, diodes, breakers and bus bars
- Bus bars occupy their own collision layer and feed the blades they
cross, suppressing those inputs so one wire supplies the run
- Cavity capacity is tracked; Apply is blocked while a placement
overlaps or overhangs
- Naming a circuit renames its pins: "VCU" gives "VCU in" / "VCU out"
Theming (theme.js)
- Light and dark modes; canvas background, grid dots, part fill and
part outline are configurable and persisted
- CSS converted to custom properties with property-aware light-mode
pairs, since a colour used as text and as a surface must flip
differently; no rule falls below 3:1 contrast in either theme
- Canvas devices, pins, labels, cable rows and the harness view are
themed too, since Konva bakes colours in at draw time and cannot
read CSS variables
Also
- Pass-through bulkheads: one device covering both connector faces,
with a single centred label per circuit
- Pin labels scale with the device font instead of a fixed 8px
- Keyboard handling is modal-scoped, so Delete no longer removes the
canvas device while the fuse box editor is open
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Undo fixes:
- Move undo now redraws deviceLayer so devices visually snap back
- Label, reference, gauge, color, and all wire/device property changes are now undoable
- Duplicate and paste are now undoable (deletes cloned devices on Ctrl+Z)
Right-click menu additions (roadmap 16-20):
- Align & distribute: left/right/top/bottom edges, H/V spacing for multi-select
- Bring to front / Send to back via zOrder in device.properties
- Copy/paste wire style (color, gauge, stripe, twisted pair, shielded)
- Select all wires on net highlights every wire sharing the same label
- Lock device: prevents moves, shows padlock badge, persists across refresh
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Replaces tick marks with a solid stripe line following the wire path
at strokeWidth=1 (main wire is 3px), centered on the wire body.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Replaces the helix-based stripe (which looked like a squiggling twisted
pair) with short perpendicular tick marks centered on the wire body,
spaced every 8px. This gives the characteristic slash/stripe appearance
of real striped wire, contained within the wire width.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Stripe color is now drawn as a single spiral wrapping around the solid
wire body (using the same quadratic-bezier helix as twisted pair) rather
than a dashed overlay. Pitch is fixed at 20px for stripes. Updated all
three rendering paths: _renderWire, _recomputeJumps, _redrawWiresFor.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>