warifuru features wishlist
I learn a lot by observing the process of how other designers and engineers actually do their work. Here’s a look at mine, this is my catch-all outline of desired features (as of today) for warifuru. I keep this list in OmniGraffle but what I should do is start a bug/features tracking system.  Sourceforge has a ticket tracking system worth a try or I can just set up my own tickets/source repository on a personal site.
- warifuru interface    - General Goals        - UI consistent across platforms            - C++/Qt5        - features for novices            - perimeter/bounding box dry run            - test print on paper            - estimate of etch/cut times            - reset x,y home to current laser position        - features for production            - cut as many objects as quickly as possible            - load raw g-code            - 2d bin fitting            - g-code editing            - UI for consolidating all etching in to a single pass,              then optimize that pass            - support Z axis data for intensity in etches            - project save-as feature that can save DXF, DWG, SVG        - features for hackers            - needs to change cut parameters at hardware level            - firmware update            - dynamic stop location to simulate smaller beds            - g-code editing            - change sensors / limits        - features for artists            - experiment with cut parameters            - estimate of etch/cut times            - z axis to move bed while cutting            - allow picking of cut paths to be in/middle/out of source              line        - common features            - cut simulation            - relocate and reorient                - for 0,0                - for a specific corner or edge                - arbitrary point using current location of laser as 0,0            - graphic display of cut progress and gcode being executed              at the moment            - media database                - select media from a pull down, similar to Flow                  software                - use media + thickness to suggest cutting and etching                  speeds                - add/save new media types            - job maintenance                - save/memorize job settings by file name, offer as                  starting settings on future job                    - include generated code                    - include laser settings and anything that can be                      configured in the UI                    - text description/feedback/comments by user                - cache gcode for jobs            - prototyping                - cut entire sheet using speeds from 0 to max and power                  from 0 to %100                    - x axis speed, more room for lots of variations                    - y axis power, only need to do %5 increments                    - use as baseline cut/etch settings for each media                      type            - raster/fill            - consolidate cuts/etching based on actual kerf. ex: if              kerf is 1mm, don’t cut two lines .2mm apart.            - image manipulation                - scale                - flip — respect three axis where height can be                  intensity                - rotate                - resize to fit cutting area                - replicate / tile image            - allow picking cut lines to be in/middle/out of actual cut            - real-time tutoring/help                - media placement                - cut settings    - UI wishlist        - Error messages explain why something happened, not just that          an error happened            - loaded file doesn’t fit on cutting area            - loaded file has syntax errors            - loaded file has commands that can’t be implemented        - Modal cut dialog            - bring up progress display as popup window, only allow              stopping/pausing the cut                  If we want to create a customized message box—for                  example, using custom button texts and a custom                  icon—we can create a QMessageBox instance. We can                  then use methods such as QMessageBox.addButton() and                  QMessageBox.setIcon(), and pop up the message box by                  calling QMessageBox.exec_().        - UI for consolidating all etching at various levels into a          single pass, then optimize that pass        - binary display of cut progress and gcode being executed at          the moment        - preferences            - pick default cut powers and speeds for each of the 7              colors            - set actual bed dimensions by bumping end stops        - media database            - select media from a pull down, similar to Flow software            - use media + thickness to suggest cutting and etching              speeds    - Backend Wishlist        - structure for supporting g-code for a specific engine            - lasersaur g-code set            - plasma table g-code set            - CNC mill g-code set        - replicate uses subroutines in g-code? How do you make 100          foos without generating 100x gcode?
« warifuru personas^h^h^h^h^h^h^h end users | Focus and adjustment tools for the lasersaur »