Commit Graph

50 Commits

Author SHA1 Message Date
Bane Stojkovic aef300d902 Traces, curved traces, ground fills, solder pads and PCB text call their layer 'Board Side', like every other part, and count as Board Side components in code; the saved field is still 'layer' 2026-11-11 21:15:26 +01:00
Bane Stojkovic 7ae773ab77 A part's Gerber silkscreen layer follows its Board Side in IGerberComponentSimple's default, so the exporter no longer swaps layers after the fact and GerberLayer.flip() is gone 2026-11-11 20:48:35 +01:00
Bane Stojkovic 13b31e6dd5 Review fixes: a drag in the Underside Display picks the part a click would, the part being placed there is drawn like the parts already there, a bottom Dot no longer adds an empty silkscreen page; one helper decides a part's board side and copper layers share an interface 2026-11-11 17:32:46 +01:00
Bane Stojkovic 5ef6952ef4 The AI component catalog no longer offers the deprecated inner layers, and lists the new 'Board Side' property 2026-11-11 17:05:44 +01:00
Bane Stojkovic 19c78e5fa9 Parts dragged from the component tree or toolbox into a board's Underside Display go on the bottom of the board 2026-11-11 17:02:06 +01:00
Bane Stojkovic 7f8c790936 A 'Dot' used as a solder joint can be put on the bottom of the board with the 'Board Side' property 2026-11-11 16:57:35 +01:00
Bane Stojkovic 27b32b0b3c Changelog entries for the faded copper view, the true underside view and the hidden inner layers 2026-11-11 16:39:49 +01:00
Bane Stojkovic eeca9f112d New parts can be placed in a board's Underside Display; a part placed there goes on the bottom of the board 2026-11-11 15:46:29 +01:00
Bane Stojkovic 122a91a6f0 The silkscreen print-out has a separate page for parts placed on the bottom of the board 2026-11-11 15:37:27 +01:00
Bane Stojkovic 246763419c All PCB parts with a top silkscreen, including tube sockets, rotary switches, relays and transformers, have the 'Board Side' property 2026-11-11 15:34:40 +01:00
Bane Stojkovic 9721307586 Bottom-side plan: the board side is a plain property and parts are not mirrored for the user 2026-11-11 15:31:32 +01:00
Bane Stojkovic 9765f04e3c Parts placed on the bottom of the board are drawn faded on the canvas and solid in the Underside Display mirror 2026-11-11 15:20:06 +01:00
Bane Stojkovic df873df04a Resistors, capacitors, diodes, ICs, transistors and other PCB parts can be placed on the bottom of the board with the new 'Board Side' property; Gerber export puts their silkscreen on the bottom layer with the text mirrored 2026-11-11 15:15:19 +01:00
Bane Stojkovic b76d315f44 Components can be dragged and their points stretched through the Underside Display mirror of a board 2026-11-11 15:05:28 +01:00
Bane Stojkovic 90e10f4597 Components can be selected by clicking them in the Underside Display mirror of a board 2026-11-11 14:56:02 +01:00
Bane Stojkovic 3506c97403 A component can report which side of the board it is mounted on, and Gerber export puts the silkscreen of a part mounted underneath on the bottom layer 2026-11-11 14:48:57 +01:00
Bane Stojkovic 324cb20634 Gerber export decides each component's layer in one place, and Gerber layers can be mapped to the other side of the board 2026-11-11 14:46:02 +01:00
Bane Stojkovic f73574641c phase 1 2026-11-10 22:50:16 +01:00
Bane Stojkovic 025fcab11b add inductance and voltage 2026-11-10 10:40:34 +01:00
Bane Stojkovic b2f99c7022 Added 'Value Notation' to the Config menu 2026-11-09 21:44:17 +01:00
Bane Stojkovic eea7d45cc9 ai notes 2026-11-06 10:51:34 +01:00
Bane Stojkovic 396c150472 datasheet fix 2026-11-06 09:57:02 +01:00
Bane Stojkovic bf7fdafef5 blocks and variants import enhancements 2026-11-06 09:39:07 +01:00
Bane Stojkovic e751c20e93 added ability to save default model 2026-11-03 21:35:17 +01:00
Bane Stojkovic 55c48c6b24 ux4 sockec 2026-11-02 18:19:34 +01:00
Bane Stojkovic b7fece1edb submini tubes 2026-11-02 17:22:19 +01:00
Bane Stojkovic 3ba4434b66 tube improvements 2026-11-02 15:51:26 +01:00
Bane Stojkovic e369ea6200 diode improvements 2026-11-02 14:58:52 +01:00
Bane Stojkovic 3e043a8387 tube improvements 2026-11-02 14:40:23 +01:00
Bane Stojkovic ab16636860 transistor improvements 2026-11-02 13:01:11 +01:00
Bane Stojkovic a678b52f4d chassis 2026-11-02 10:16:05 +01:00
Bane Stojkovic c5a462a385 chassis improvements 2026-11-02 10:08:00 +01:00
Bane Stojkovic b15a6e3f64 Derive the z-order of a building blocks placed as a single component based on its child components 2026-11-01 22:56:48 +01:00
Bane Stojkovic 79d230ff07 mark old ones for removal 2026-11-01 21:22:29 +01:00
Bane Stojkovic 23ecf9e8d7 more models 2026-11-01 20:39:57 +01:00
Bane Stojkovic 4688879d0e IC improvements 2026-11-01 17:08:20 +01:00
Bane Stojkovic bc5f203e21 Ai edit (#1065)
* initial

* Updates

* improvements

* split netlist from analysis

* coordinates in grid

* Update IChatbotAPI.java

* cleanup

* cleanup

* various improvements

* Datasheet model support

* Include pinouts in component catalog

* Update update.xml

* regenerate catalog

* Zooming out until the drawing is smaller than the window made the toolbar above the canvas grow taller and squeeze the canvas

* refresh

* edit improvements

* refine wire handling

* CR

* catalog gen improvement

* improvements

* Rotating and mirroring the selection with 'Sticky Points' enabled now keeps the circuit connected

* fix version reading

* set dimensions and mode in any order

* add AINote

* add aiNote

* board notes added

* ai notes

* ai notes

* ai notes

* led minor code improvement and ai note

* single coil fix. guitar component notes

* add support for replace operation

* Update pom.xml

* switch notes

* ai notes for pickups

* stingray

* reconnect operation support

* ai edit code refactor

* Cliff jack node name fixes

* ai notes

* ai notes

* ai notes

* netlist improvement

* simplify

* solder lug improvements

* tag strip enhancement

* regression fixes

* ai notes

* battery snap improvement

* more sample questions

* 'IEC Socket', 'Plastic DC Jack', 'Multi-Section Capacitor' and 'Mini Relay' terminals are now labeled by function

* node improvement

* Regression data consolidation

---------

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
2026-10-30 09:32:03 +01:00
Bane Stojkovic 4916d02af6 Create fill-clearance.md 2026-10-14 21:31:08 +02:00
Bane Stojkovic a8d8a9b409 Render optimization (#1087)
* Caching and culling improvements

* doc

* Update canvas-rendering-cache-and-culling.md

* caching for wires

* cache invalidation improvements

* caching improvements

* twisted wire performance update

* Improved grid rendering on screen and when exporting; PDF export of the grid is now vector-based and does not get blurry on zooming in

* area append improvement

* bug fix for subtracting trace cuts

* Twisted wire stroke render improvement

* various performance improvements

* lazy area merging

* regression update

* Update update.xml

* code cleanup

* Twisted wire border thickness fix
2026-10-14 21:15:40 +02:00
Bane Stojkovic 840ab08401 explorer refresh improvement 2026-10-13 17:06:05 +02:00
Bane Stojkovic 84726e6d16 Create bottom-side-components.md 2026-10-13 12:16:45 +02:00
Bane Stojkovic 9e4ce7da81 Create web-and-mobile.md 2026-10-12 13:50:48 +02:00
Bane Stojkovic 33b614c7ff Align and Distribute 2026-10-09 23:18:02 +02:00
Bane Stojkovic eb48ab9664 Merge branch 'master' of https://github.com/bancika/diy-layout-creator 2026-10-09 09:38:16 +02:00
Bane Stojkovic a743de4024 Controllers (#1080)
* initial

* more components

* fixes

* Update TreePanel.java

* fix boost converter

* Improve wrapping of component names

* Update ULN2003Driver.java

* Update NRF24L01Transceiver.java

* imp

* updates

* improvements

* more components

* arduino

* uno

* icon

* cleanup

* mega

* mega

* improveent

* nano

* esp boards

* esp

* esp32

* esp32

* Update ESP8266NodeMCU.java

* d1

* Update WemosD1Mini.java

* pi

* consolidate esp32

* pi pico updates

* pi zero

* Update RaspberryPiZero.java

* pi pico

* cleanup

* pi improvements

* consolidate pins

* antenna consolidation

* improve solder pads

* teensy

* headers

* teensy fix, test cleanup

* s3

* Update ESP32DevKit.java

* usb standardization

* pico w

* button standardization

* arduino improvements

* Update AbstractMakerBoard.java

* Update RaspberryPiZero.java

* Update RaspberryPi.java

* pi 3

* pi 5 improvements

* Update RaspberryPiZero.java

* fix tests

* esp pinout fix

* Update ESP32DevKit.java

* pin name improvements

* Create tier-1-modern-boards.md

* new versions

* pinouts

* nano improvements

* sanitize node names

* label improvements

* minima fixes

* arduino uno labels

* nano labels

* Update ArduinoNano.java

* mega

* mega

* comment out future stuff

* release prep

* Update RaspberryPiPico.java

* Refactor abstract class

* labeling improvement

* label offset fixes

* Update Teensy.java

* consolidate tests

* micro variants

* Update RaspberryPi.java

* displays tweaks

* display improvements

* neopix

* displays

* improvements

* led matrix

* strip

* led bar graph

* jewel

* tft

* tft

* Update maker-peripherals.md

* nokia

* led bar

* labels

* tft

* cleanup

* oled

* cleanup

* display enhancement

* displays

* neopixel

* displays

* displays

* new tft

* displays

* icon

* variants

* 2-digit 0.56 inch 7 segment

* Added ability to hide component categories in the component tree and toolbar from the Config menu

* led bar

* Update variants.xml

* color selection for bar graph

* Added 1.8" sd

* tft fixes

* Update WS2812BRing.java

* neopixel improvements

* netlist and node name improvements

* oled tweak

* cleanup

* mockito fix

---------

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
2026-10-09 09:38:09 +02:00
Bane Stojkovic f77c821f0a Create audio-coverage-roadmap.md 2026-10-08 09:11:36 +02:00
Bane Stojkovic 51698ef8af Improve terminal node naming within building blocks to ensure no duplicates by adding a name of the nested component as a prefix 2026-09-14 13:04:03 +02:00
Bane Stojkovic d41aa02674 Added 'Right Angle Wire' and 'Right Angle Line' components that route between two points using only horizontal and vertical runs with rounded corners 2026-09-11 23:14:30 +02:00
Bane Stojkovic 89ce96b6c8 Controllers (#1068)
* initial

* more components

* fixes

* Update TreePanel.java

* fix boost converter

* Improve wrapping of component names

* Update ULN2003Driver.java

* Update NRF24L01Transceiver.java

* imp

* updates

* improvements

* more components

* arduino

* uno

* icon

* cleanup

* mega

* mega

* improveent

* nano

* esp boards

* esp

* esp32

* esp32

* Update ESP8266NodeMCU.java

* d1

* Update WemosD1Mini.java

* pi

* consolidate esp32

* pi pico updates

* pi zero

* Update RaspberryPiZero.java

* pi pico

* cleanup

* pi improvements

* consolidate pins

* antenna consolidation

* improve solder pads

* teensy

* headers

* teensy fix, test cleanup

* s3

* Update ESP32DevKit.java

* usb standardization

* pico w

* button standardization

* arduino improvements

* Update AbstractMakerBoard.java

* Update RaspberryPiZero.java

* Update RaspberryPi.java

* pi 3

* pi 5 improvements

* Update RaspberryPiZero.java

* fix tests

* esp pinout fix

* Update ESP32DevKit.java

* pin name improvements

* Create tier-1-modern-boards.md

* new versions

* pinouts

* nano improvements

* sanitize node names

* label improvements

* minima fixes

* arduino uno labels

* nano labels

* Update ArduinoNano.java

* mega

* mega

* comment out future stuff

* release prep

* Update RaspberryPiPico.java

* Refactor abstract class

* labeling improvement

* label offset fixes

* Update Teensy.java

* consolidate tests

* micro variants

* Update RaspberryPi.java
2026-09-11 11:08:15 +02:00
Bane Stojkovic 047196499a Building blocks (#1072)
* composite block support

* naming

* Added ability to set node name (or names) for some connectivity components

* cleanup

* Include building blocks in the Recently Used category

* Prompt to confirm the overwrite when saving over the existing building blocks; When saving building blocks, present a drop down list with most recently used building blocks

* add alpha to composite

* Update CompositeComponentTest.java

* cleanup

* Update CompositeComponent.java

* cleanup

* Update CompositeComponent.java

* <org.diylc.appframework.update.Change> 					<changeType>IMPROVEMENT</changeType> 					<description>When saving building blocks, present a drop down list with most recently used building blocks for quick selection</description> 				</org.diylc.appframework.update.Change>

* Diode components now label their terminal nodes as 'A' (anode) and 'K' (cathode) instead of '1' and '2'

* Capacitor components now label their terminal nodes as '+' and '-' instead of '1' and '2' when 'Polarized' property is ticked
2026-09-04 15:32:46 +02:00