<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <title></title> <link rel="stylesheet" media="screen" type="text/css" href="./style.css" /> <link rel="stylesheet" media="screen" type="text/css" href="./design.css" /> <link rel="stylesheet" media="print" type="text/css" href="./print.css" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> </head> <body> <div class="toc"> <div class="tocheader toctoggle" id="toc__header">Table of Contents</div> <div id="toc__inside"> <ul class="toc"> <li class="level1"><div class="li"><span class="li"><a href="#todos" class="toc">Todos</a></span></div> <ul class="toc"> <li class="level2"><div class="li"><span class="li"><a href="#release_roadmap" class="toc">Release roadmap</a></span></div> <ul class="toc"> <li class="level3"><div class="li"><span class="li"><a href="#stable" class="toc">1.6.1 (stable)</a></span></div></li> <li class="level3"><div class="li"><span class="li"><a href="#stable1" class="toc">1.6.2 (stable)</a></span></div></li> <li class="level3"><div class="li"><span class="li"><a href="#stable2" class="toc">1.8 (stable)</a></span></div></li> </ul> </li> <li class="level2"><div class="li"><span class="li"><a href="#longer_term_upgrades_desired_for_specific_tools" class="toc">Longer term upgrades desired for specific tools</a></span></div></li> <li class="level2"><div class="li"><span class="li"><a href="#ideas_for_new_tools_or_geda_suite-wide_enhancements" class="toc">Ideas for new tools or gEDA Suite-wide enhancements</a></span></div></li> <li class="level2"><div class="li"><span class="li"><a href="#code_cleanup_and_refactoring" class="toc">Code cleanup and refactoring</a></span></div></li></ul> </li></ul> </div> </div> <h1><a name="todos" id="todos">Todos</a></h1> <div class="level1"> <p> These lists are meant to provide the developers a reminder of undone projects. It is also a wish list capturing user’s desires for new features. New developers can also look here for projects which they might be interested in working on. </p> <p> See <a href="geda-tasks.html" class="wikilink1" title="geda-tasks.html">tasks</a> for non-programmer tasks. </p> </div> <!-- SECTION "Todos" [1-304] --> <h2><a name="release_roadmap" id="release_roadmap">Release roadmap</a></h2> <div class="level2"> <p> This section should contain a list of <strong>only</strong> those issues that are considered as being important enough to block release until they are resolved. If a feature or bug gets bumped or has its importance reduced, please remove it from the list or move it to the appropriate later release. </p> <p> Todos for past releases can be seen on the <a href="geda-todos_historical.html" class="wikilink1" title="geda-todos_historical.html"> historical </a> page. </p> </div> <!-- SECTION "Release roadmap" [305-709] --> <h3><a name="stable" id="stable">1.6.1 (stable)</a></h3> <div class="level3"> <p> Target release date: <strong>February 2010</strong> <br/> Actual release date: <strong>TBD</strong> </p> <table class="inline"> <tr> <th class="leftalign"> Description </th><th class="leftalign"> SF bug </th><th class="leftalign"> Developer(s) </th><th class="leftalign"> Status </th> </tr> <tr> <td> Screenshots of release version for a publicity revamp of gEDA website. </td><td class="centeralign"> n/a </td><td> Peter C </td><td> </td> </tr> <tr> <td> Merge translations from Launchpad upstream. </td><td class="centeralign"> n/a </td><td class="leftalign"> Peter C </td><td> Ongoing sync </td> </tr> <tr> <td class="leftalign"> Check copyright headers are up-to-date </td><td class="centeralign"> n/a </td><td> Ales H </td><td> <a href="http://git.gpleda.org/?p=gaf.git;a=commit;h=bd34cfde2450790b357e574281f9562adce64303" class="urlextern" title="http://git.gpleda.org/?p=gaf.git;a=commit;h=bd34cfde2450790b357e574281f9562adce64303" rel="nofollow"> Done </a> </td> </tr> </table> </div> <!-- SECTION "1.6.1 (stable)" [710-1264] --> <h3><a name="stable1" id="stable1">1.6.2 (stable)</a></h3> <div class="level3"> <p> Target release date: <strong>Unknown</strong> <br/> Actual release date: <strong>TBD</strong> </p> <table class="inline"> <tr> <th class="leftalign"> Description </th><th class="leftalign"> SF bug </th><th class="leftalign"> Developer(s) </th><th class="leftalign"> Status </th> </tr> <tr> <td> Screenshots of release version for a publicity revamp of gEDA website. </td><td class="centeralign"> n/a </td><td> Peter C </td><td> </td> </tr> <tr> <td> Merge translations from Launchpad upstream. </td><td class="centeralign"> n/a </td><td class="leftalign"> Peter C </td><td> </td> </tr> <tr> <td class="leftalign"> Check copyright headers are up-to-date </td><td class="centeralign"> n/a </td><td class="rightalign"> </td><td class="rightalign"> </td> </tr> <tr> <td> UTF-8 / system / filesystem encoding bugs </td><td> <a href="https://sourceforge.net/tracker/?func=detail&group_id=161080&atid=818426&aid=1868072" class="urlextern" title="https://sourceforge.net/tracker/?func=detail&group_id=161080&atid=818426&aid=1868072" rel="nofollow"> 1868072</a> </td><td> </td><td> </td> </tr> <tr> <td> Prettify symbols (e.g. gates) using paths </td><td class="centeralign"> n/a </td><td class="rightalign"> </td><td class="rightalign"> </td> </tr> <tr> <td> Cure all: “warning : ignoring return value of ‘…’, declared with attribute warn_unused_result” compiling with recent GCC versions </td><td> </td><td> </td><td> </td> </tr> </table> </div> <!-- SECTION "1.6.2 (stable)" [1265-2066] --> <h3><a name="stable2" id="stable2">1.8 (stable)</a></h3> <div class="level3"> <p> Target release date: <strong>Unknown</strong> <br/> Actual release date: <strong>TBD</strong> </p> <table class="inline"> <tr> <th class="leftalign"> Description </th><th class="leftalign"> SF bug </th><th class="leftalign"> Developer(s) </th><th class="leftalign"> Status </th> </tr> <tr> <td class="leftalign"> TinyScheme instead of Guile </td><td class="rightalign"> </td><td class="leftalign"> Peter B </td><td class="rightalign"> </td> </tr> <tr> <td class="leftalign"> Per-page netlisting in libgeda </td><td class="rightalign"> </td><td class="leftalign"> Peter C </td><td class="rightalign"> </td> </tr> <tr> <td class="leftalign"> Refactor / improve gnetlist </td><td class="rightalign"> </td><td class="leftalign"> Peter C </td><td class="rightalign"> </td> </tr> <tr> <td class="leftalign"> gnetlist support for buses </td><td class="rightalign"> </td><td class="leftalign"> Peter C </td><td class="leftalign"> Started! </td> </tr> <tr> <td class="leftalign"> Avoid direct use of /tmp/ for undo schemaics </td><td class="rightalign"> </td><td class="rightalign"> </td><td class="rightalign"> </td> </tr> <tr> <td> New config mechanism to support non-turing complete config </td><td class="rightalign"> </td><td class="leftalign"> Peter B </td><td class="leftalign"> Started! </td> </tr> <tr> <td> Config <acronym title="Graphical User Interface">GUI</acronym> for gschem (and gattrib?) </td><td class="rightalign"> </td><td class="leftalign"> Peter B </td><td class="rightalign"> </td> </tr> <tr> <td> More non-modal dialog boxes in gschem </td><td class="rightalign"> </td><td class="leftalign"> Ed (?) </td><td class="rightalign"> </td> </tr> <tr> <td> Refactor gschem’s action state machine and event dispatching code </td><td class="rightalign"> </td><td class="leftalign"> Ed </td><td class="rightalign"> </td> </tr> <tr> <td> Where possible, ensure gEDA compiles with deprecated GTK / GLib APIs disabled </td><td class="rightalign"> </td><td class="rightalign"> </td><td class="rightalign"> </td> </tr> <tr> <td class="leftalign"> Edit embedded symbols </td><td class="rightalign"> </td><td class="leftalign"> Werner (?) </td><td class="rightalign"> </td> </tr> <tr> <td> Per project symbol storage to make the schematics independant from the symbol library </td><td class="rightalign"> </td><td class="leftalign"> Werner (?) </td><td class="rightalign"> </td> </tr> <tr> <td> <a href="geda-wip-clipboard.html" class="wikilink1" title="geda-wip-clipboard.html">Clipboard support</a> for copy / paste with text representations of gEDA schematic data </td><td class="rightalign"> </td><td> Peter C (?) </td><td class="rightalign"> </td> </tr> <tr> <td> <a href="geda-wip-clipboard.html" class="wikilink1" title="geda-wip-clipboard.html">Clipboard support</a> for copy / paste with graphic representation of gEDA schematic data </td><td> </td><td> Peter C (?) </td><td class="rightalign"> </td> </tr> <tr> <td class="leftalign"> Refactor rendering code to allow its use outside of gschem </td><td class="rightalign"> </td><td class="leftalign"> Peter C </td><td class="rightalign"> </td> </tr> <tr> <td class="leftalign"> Refactor preview widget to make it available outside gschem </td><td class="rightalign"> </td><td class="leftalign"> Peter C </td><td class="rightalign"> </td> </tr> </table> <p> Wishlist </p> <table class="inline"> <tr> <th class="leftalign"> Description </th><th class="leftalign"> SF bug </th><th class="leftalign"> Developer(s) </th><th class="leftalign"> Status </th> </tr> <tr> <td> Printing improvements (Arbitrary UTF8 postscript) - print with cairo </td><td class="centeralign"> n/a </td><td class="leftalign"> Peter B, Peter C </td><td> 50% </td> </tr> <tr> <td> gschem: interface for creating paths and inserting / deleting nodes </td><td class="centeralign"> n/a </td><td class="rightalign"> </td><td> </td> </tr> <tr> <td> Bitmap export options: allow specifying DPI rather than / as well as absolute page size </td><td> <a href="https://sourceforge.net/tracker/?func=detail&atid=818429&aid=2226522&group_id=161080" class="urlextern" title="https://sourceforge.net/tracker/?func=detail&atid=818429&aid=2226522&group_id=161080" rel="nofollow"> 2226522 </a> </td><td> </td><td> </td> </tr> <tr> <td> Set print border size </td><td> <a href="https://sourceforge.net/tracker/index.php?func=detail&aid=2243238&group_id=161080&atid=818429" class="urlextern" title="https://sourceforge.net/tracker/index.php?func=detail&aid=2243238&group_id=161080&atid=818429" rel="nofollow"> 2243238 </a> </td><td> Werner </td><td> </td> </tr> <tr> <td> Allow setting gschem on-screen border </td><td> <a href="https://sourceforge.net/tracker/index.php?func=detail&aid=2243238&group_id=161080&atid=818429" class="urlextern" title="https://sourceforge.net/tracker/index.php?func=detail&aid=2243238&group_id=161080&atid=818429" rel="nofollow"> 2243238 </a> </td><td> </td><td> </td> </tr> </table> </div> <!-- SECTION "1.8 (stable)" [2067-4963] --> <h2><a name="longer_term_upgrades_desired_for_specific_tools" id="longer_term_upgrades_desired_for_specific_tools">Longer term upgrades desired for specific tools</a></h2> <div class="level2"> <ul> <li class="level1"><div class="li"> <strong>Libgeda</strong>:</div> <ul> <li class="level2"><div class="li"> Enable handling of .sch files with symbols having some (but not all) pins promoted onto the .sch file. This will enable pin-swapping via backannotation from PCB. (Architectural change)</div> </li> <li class="level2"><div class="li"> Merge per-page netlisting from gnetlist (or re-write if necessary). (Bounty)</div> </li> </ul> </li> <li class="level1"><div class="li"> <strong>Gschem</strong>:</div> <ul> <li class="level2"><div class="li"> Create a button in gschem which will invoke gsch2pcb to create a netlist file ready for PCB to read in. (Bounty, once PCB is modified to support an action file.)</div> </li> <li class="level2"><div class="li"> Enable hierarchical bus support. (Architectural change)</div> </li> <li class="level2"><div class="li"> Make gschemrc variables settable from within gschem using a “settings” pull-down menu item (new). The idea is to update the contents of the gschemrc or gafrc files using pull-down menus, and write the changes out to the correct RC files. (Bounty)</div> </li> <li class="level2"><div class="li"> Improve symbol library to handle very large symbol collections better.</div> </li> <li class="level2"><div class="li"> Now the SELECTION is a GedaList and we can get “changed” signals, make more dialogs non-modal:</div> <ul> <li class="level3"><div class="li"> Single attribute editor</div> </li> <li class="level3"><div class="li"> Text properties</div> </li> <li class="level3"><div class="li"> Line width and type</div> </li> <li class="level3"><div class="li"> Fill type</div> </li> <li class="level3"><div class="li"> Edit slot</div> </li> <li class="level3"><div class="li"> Edit color</div> </li> <li class="level3"><div class="li"> Text size (Sets size for new text, so doesn’t rely on the selection anyway)</div> </li> </ul> </li> <li class="level2"><div class="li"> Enable <strong><code>-</code><code>-</code>help</strong> flag. (Currently supports -h only). Consider using GTK’s mechanism for this. (Bounty)</div> </li> <li class="level2"><div class="li"> Support for embedding LaTeX maths to be rendered in text.</div> <ul> <li class="level3"><div class="li"> This could be output only, or preview bitmaps could be generated and cached by calling LaTeX, dvips and ps2epsi.</div> </li> <li class="level3"><div class="li"> Would we add a new type of object for this, or allow attaching a “latex=1” attribute to the text object its self?</div> </li> </ul> </li> </ul> </li> <li class="level1"><div class="li"> <strong>Gnetlist</strong>:</div> <ul> <li class="level2"><div class="li"> Enable <strong><code>-</code><code>-</code>help</strong> flag. Do other gEDA/gaf programs recognize this flag? (Bounty)</div> </li> </ul> </li> <li class="level1"><div class="li"> <strong>Gattrib</strong>:</div> <ul> <li class="level2"><div class="li"> Get printing working. (Bounty)</div> </li> <li class="level2"><div class="li"> Enable attachment of attributes to nets. (Architectural)</div> </li> <li class="level2"><div class="li"> Consider using GTK’s mechanism to display <strong><code>-</code><code>-</code>help</strong> flag text. (Bounty)</div> </li> </ul> </li> <li class="level1"><div class="li"> <strong>Garchive</strong>:</div> <ul> <li class="level2"><div class="li"> Incorporate guile so that it reads RC files using the same mechanism as the rest of gEDA/gaf.</div> </li> </ul> </li> <li class="level1"><div class="li"> <strong>CD Installer</strong>:</div> <ul> <li class="level2"><div class="li"> Change it so that the user is presented a pick-list at the beginning of the install, instead of blindly installing everything. (Architectural)</div> </li> <li class="level2"><div class="li"> Make the new CD Installer install Ales’s binary distribution. (Bounty)</div> </li> </ul> </li> <li class="level1"><div class="li"> <strong>Refdes_renum</strong>:</div> <ul> <li class="level2"><div class="li"> Doesn’t currently work properly with slotted parts (it gives new refdes numbers to slotted parts). Fix it so it recognizes slotted parts and assigns refdes appropriately. (Bounty)</div> </li> </ul> </li> <li class="level1"><div class="li"> <strong>PCB</strong></div> <ul> <li class="level2"><div class="li"> Put various commands which are only accessible via a :command(foo) into the top menu. Newbies want to see what actions are in the menus since that way they know what PCB can do. (Bounty on a per-action basis)</div> </li> <li class="level2"><div class="li"> Provide a toolbar of buttons for common actions. (Bounty)</div> </li> <li class="level2"><div class="li"> Make the difference between editing footprints and PCBs much more obvious. If you’re in footprint editing mode, then perhaps make the background color change. (Architectural)</div> </li> <li class="level2"><div class="li"> Create a “file → save” dialog window. In the dialog window, provide a pull-down giving the option to save as a PCB (default) or as a footprint. (Bounty)</div> </li> <li class="level2"><div class="li"> Modify to PCB read an “actions” file, which tells PCB what actions to take when importing a new layout. This actions file will be created by gsch2pcb and other forward annotation programs used to take a gschem design to layout. This will also harmonize the paths which *gsch2pcb use to find footprints. (Architectural)</div> </li> </ul> </li> <li class="level1"><div class="li"> <strong>gsch2pcb</strong></div> <ul> <li class="level2"><div class="li"> Modify gsch2pcb to emit an “action” file, which can be fed to PCB when forward annotating a new or updated PCB layout. (Bounty, once PCB is modified)</div> </li> </ul> </li> </ul> </div> <!-- SECTION "Longer term upgrades desired for specific tools" [4964-8693] --> <h2><a name="ideas_for_new_tools_or_geda_suite-wide_enhancements" id="ideas_for_new_tools_or_geda_suite-wide_enhancements">Ideas for new tools or gEDA Suite-wide enhancements</a></h2> <div class="level2"> <ul> <li class="level1"><div class="li"> Develop scheme for backward annotation of changes from PCB to gschem. Requires modifications to libgeda to support, e.g. pin promotion from .sym file to .sch file (enabling pin swapping). (Architectural)</div> </li> <li class="level1"><div class="li"> Create a Gerber → .pcb conversion tool. Result is metal layer or footprint editable by PCB. This might be a <acronym title="Practical Extraction and Report Language">Perl</acronym> script. (Bounty)</div> </li> <li class="level1"><div class="li"> Implement lockfiles between gattrib and gschem. (Bounty)</div> </li> <li class="level1"><div class="li"> Upgrade PCB to use action files in forward annotation as described above. (Architectural)</div> </li> </ul> </div> <!-- SECTION "Ideas for new tools or gEDA Suite-wide enhancements" [8694-9260] --> <h2><a name="code_cleanup_and_refactoring" id="code_cleanup_and_refactoring">Code cleanup and refactoring</a></h2> <div class="level2"> <ul> <li class="level1"><div class="li"> Remove use of non GList linked lists. This is very invasive work, but allows much code cleanup where mixtures of the old and GList methods were available.</div> </li> <li class="level1"><div class="li"> Remove unused variables and functions from various structures. Unused may also include “used”, but ineffective.</div> </li> </ul> <ul> <li class="level1"><div class="li"> Remove back-exports to libgeda of global function pointers from gschem and other libgeda “clients”. These aren’t portable.</div> </li> <li class="level1"><div class="li"> Clean up / produce generic <acronym title="Application Programming Interface">API</acronym> interfaces to act on an object of any type, or lists of objects.</div> </li> <li class="level1"><div class="li"> Convert functions used within one ".c” file, and not useful for public <acronym title="Application Programming Interface">API</acronym> into static functions, removing from prototype.h.</div> </li> </ul> </div> <!-- SECTION "Code cleanup and refactoring" [9261-] --></body> </html>