User Tools

Site Tools


pcb-projects

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
pcb-projects [2018/03/04 10:15]
bert [User Experience (UX) Improvements]
pcb-projects [2018/08/31 17:26] (current)
cparker [Developer Experience (DX) Improvements]
Line 1: Line 1:
 //​Translations of this page are also available in the following languages://​ [[pcb-projects.ru|Русский]] //​Translations of this page are also available in the following languages://​ [[pcb-projects.ru|Русский]]
 +====== pcb Projects ======
 +====== pcb Layout Editor ======
  
-==== PCB Layout Editor ​==== +==== Plow feature ​====
- +
-== Plow feature ​==+
  
 A "​plow"​ feature where the line tool shoves existing traces aside A "​plow"​ feature where the line tool shoves existing traces aside
Line 10: Line 10:
 ''​Difficulty = 4-5''​ ''​Difficulty = 4-5''​
  
-== Fast snap rounding Algorithm ==+==== Fast snap rounding Algorithm ​====
  
 Implement a fast snap rounding algorithm and resolve the case where Implement a fast snap rounding algorithm and resolve the case where
Line 51: Line 51:
 ''​Difficulty = 4-5''​ ''​Difficulty = 4-5''​
  
-== Snapping enhancements == +==== Snapping enhancements ​==== 
  
 There are a number of possible enhancements related to crosshair snapping that could improve usability. For example, being able to reorder the snapping priority (what objects are snapped to before others), disabling certain objects from being snapped to, changing the radius at which a snap occurs, and others. There are a number of possible enhancements related to crosshair snapping that could improve usability. For example, being able to reorder the snapping priority (what objects are snapped to before others), disabling certain objects from being snapped to, changing the radius at which a snap occurs, and others.
  
-Ideas for how the snapping system should work are being collected here: [[Snapping in pcb]]+Ideas for how the snapping system should work are being collected here: [[Snapping in pcb]]. There is also a todo list with some work that needs to be done.
  
-== Auto-routed drawing tool ==+==== Auto-routed drawing tool ====
  
 Basically with this tool, you would click on a starting point, then drag the Basically with this tool, you would click on a starting point, then drag the
Line 72: Line 72:
 ''​Difficulty = 5''​ ''​Difficulty = 5''​
  
-== IPC Footprint Calculator ==+==== IPC Footprint Calculator ​====
  
 Build a footprint calculator that can take the IPC rules and produce a pcb footprint. Preferably write this in a way where the core program is independent of a GUI so that you can script it for generating entire large families of footprints or hook it up to a GUI of choice (lesstif, gtk, maybe even cgi). Would require the purchase of IPC-7351 (approximately U.S.A. $100) and verifying that one is allowed to produce such a calculator. Build a footprint calculator that can take the IPC rules and produce a pcb footprint. Preferably write this in a way where the core program is independent of a GUI so that you can script it for generating entire large families of footprints or hook it up to a GUI of choice (lesstif, gtk, maybe even cgi). Would require the purchase of IPC-7351 (approximately U.S.A. $100) and verifying that one is allowed to produce such a calculator.
Line 78: Line 78:
 ''​Difficulty = 2''​ ''​Difficulty = 2''​
  
-== Recently loaded file list ==+==== Recently loaded file list ====
  
 Presently pcb does not present a list of recently loaded files in the file menu. It would be nice if pcb kept track of the last few files a user loaded. This is a common feature found in other programs. Presently pcb does not present a list of recently loaded files in the file menu. It would be nice if pcb kept track of the last few files a user loaded. This is a common feature found in other programs.
Line 84: Line 84:
 ''​Difficulty = 1''​ ''​Difficulty = 1''​
  
-==== User Experience (UX) Improvements ====+====== User Experience (UX) Improvements ​======
  
  
-== Update the User Manual ==+==== Update the User Manual ​====
  
 In 1997, Richard Stallman wrote: “The biggest deficiency in free operating systems is not in the software — it is the lack of good free manuals that we can include in these systems.” In 1997, Richard Stallman wrote: “The biggest deficiency in free operating systems is not in the software — it is the lack of good free manuals that we can include in these systems.”
Line 100: Line 100:
     * Unify and combine the READMEs.     * Unify and combine the READMEs.
  
-== i18n / l10n ==+==== i18n / l10n ====
  
   * Get more translations/​translators --> better and more language translations.   * Get more translations/​translators --> better and more language translations.
Line 111: Line 111:
   * Respect "​Right-To-Left"​ reading users (Arabic, GUI layouts ?).   * Respect "​Right-To-Left"​ reading users (Arabic, GUI layouts ?).
  
-== Netlists ==+==== Netlists ​====
  
   * Layout vs netlist/​schematic check or just trust the "​import schematic"​ netlist (ERC).   * Layout vs netlist/​schematic check or just trust the "​import schematic"​ netlist (ERC).
   * Rebuilding a netlist from scratch, based on connectivity (copper layers).   * Rebuilding a netlist from scratch, based on connectivity (copper layers).
  
-== Routing ==+==== Routing ​====
  
   * Respect the "​outline",​ "​route"​ and non-copper layers with the autorouter.   * Respect the "​outline",​ "​route"​ and non-copper layers with the autorouter.
Line 124: Line 124:
   * Importing routing style and other data from the netlist (if available).   * Importing routing style and other data from the netlist (if available).
  
-== Other platforms, GUI's and dependencies ==+==== Other platforms, GUI's and dependencies ​====
  
   * Migrate to GNOME/GTK3 … when ?   * Migrate to GNOME/GTK3 … when ?
Line 143: Line 143:
   * Flatpak (http://​flatpak.org) pcb packages for multiple linux distributions ?   * Flatpak (http://​flatpak.org) pcb packages for multiple linux distributions ?
  
-== Plug-ins ==+==== Plug-ins ​====
  
   * Breakout plug-in for BGA escape routes.   * Breakout plug-in for BGA escape routes.
Line 158: Line 158:
   * Load plug-ins on demand.   * Load plug-ins on demand.
  
-== File exchange ==+==== File exchange ​====
  
   * IDF importer/​exporter (ECAD <--> MCAD).   * IDF importer/​exporter (ECAD <--> MCAD).
Line 167: Line 167:
   * GnuCAP exporter (PCB --> simulation / analysis).   * GnuCAP exporter (PCB --> simulation / analysis).
  
-== Exporters ==+==== Exporters ​====
  
   * Geometric model representation:​   * Geometric model representation:​
Line 179: Line 179:
     * Validate the workflow for Nelma.     * Validate the workflow for Nelma.
  
-== Other unsorted crazy ideas ==+==== Other unsorted crazy ideas ====
  
   * Gerber files as a background (for reverse engineering).   * Gerber files as a background (for reverse engineering).
Line 196: Line 196:
   * Assist the user with repetitive tasks.   * Assist the user with repetitive tasks.
  
-==== Developer Experience (DX) Improvements ====+====== Developer Experience (DX) Improvements ​======
  
   * Travis-CI Continuous Integration for pcb on Travis (https://​travis-ci.org).   * Travis-CI Continuous Integration for pcb on Travis (https://​travis-ci.org).
Line 208: Line 208:
     * Descriptions of "state machines"​ within actions and other code flow.     * Descriptions of "state machines"​ within actions and other code flow.
  
 +==== Test Suite ====
 +  * [[pcb:​pcb_tests|PCB level tests]]
 +  * [[pcb:​unit_tests|Code level unit tests]]
pcb-projects.1520176500.txt.gz · Last modified: 2018/03/04 10:15 by bert