FE 'tkGooies' system

A 'To Do' List

in 'Future CHRONOLOGICAL' order

that is,

in 'Planned CHRONOLOGICAL' order


(FE = Freedom Environment)


A 3D Model File Reader-Examiner FE tkGooie

FE Home page > FE Overview page or FE Downloads page > FE 'tkGooies' Description page >
This FE 'tkGooies' 'To-Do' List (in planned/future chronological order) page

! Note ! More 'tkGooie' 'to-do' projects are to be added over time --- and,
when a project is implemented, it may be removed from this page, and a link
to its code (and description) will be added on a 'RELEASED (and To-Do)' list page
(organized in functional categories).

< Go to To-Do List, below >
(SKIP THIS INTRO)

INTRODUCTION :

This page is an FE 'tkGooies' To-Do List --- organized roughly in 'future chronological' order.

    ('tkGooies' is a subsystem in the family of Freedom Environment subsystems, at www.freedomenv.com. It is composed of Tk GUI scripts which can be implemented in stand-alone mode, but are released as a package and organized into functional categories, with each script accessible via a 'toolchest' system.)

Brief descriptions of Tk scripts that I plan to write for the 'tkGooies' subsystem--- in the 2015-2020 time frame (and, hopefully, beyond) --- are listed below.

I have no doubt that I will often be distracted by 'shiny objects' (other scripts that I would like to write). So the 'planned order' below is likely to have some insertions and reorganizations as programming (and life) unfolds.


Method of release of these Tk scripts :

Typically, I make a 'first release' of each of the scripts by

AND
  • putting the code in a development version of the 'tkGooies'.

When I have accumulated significant changes to the development 'tkGooies' system, I package the development 'tkGooies' system in a self-extracting install file, and I make the install file available via the 'tkGooies' DOWNLOAD web page.

After a new release is posted to the DOWNLOAD page, I move the 'implemented' item-descriptions (and their web-links) from this page to a 'tkGooies' 'RELEASED (and To-Do)' list page --- which is organized in functional categories (instead of chronologically).

I use the term 'RELEASED' rather than 'DONE', because the 'tkGooies' are not immune to future enhancements.

The TO-DO LIST --- roughly in 'future or planned' Chronological order :

      (I will probably maintain about 50 to 70 items in this list --- out of more than 100 to-do items that I envision more or less clearly.)

  1. (**) draw an N-sided POLYGON - with color-shaded, 3D-like edges
    (such as a triangle, square, pentagon, hexagon, septagon, octagon, nonagon, decagon, ...)

  2. (**) draw a RADIAL-SINUSOID SHAPE - with color-shaded, 3D-like edges


    2015dec31 NOTE: The numbered 'tkGooie' apps and changes listed above will be bundled into a 2016 release of 'tkGooies'. When that release is available via the 'tkGooies' DOWNLOAD web page, these links are to be moved to the 'RELEASED-and-To-Do' list page --- which is organized in functional categories. I hope to release many of the following items in 2016.

    In brief, the numbered items above are 'to-be-packaged' (initial release of the code is published). The numbered items below are 'to-be-coded'.


  3. As I work through the 'to-do' items below,
    I will also be working on the following:

    Add an 'aRtext' array to about 30 'OLD' tkGooies, toolchest by toolchest --- to aid 'internationalizing' the text in labels, buttons, etc. Also, add a 'Help' button to any of these scripts that do not have one. And, while I'm at it, improve some comments (and code) in those scripts.

    Also, I will be sweeping through the 'description-and-CODE' web pages for the 'tkGooie' scripts to make web-links out of the references in the code-description-pages to web pages at wiki.tcl.tk and web pages on this site --- for the convenience of the reader. At the same time, I plan to improve the description of each script by adding (and re-wording) a few paragraphs of script description. I may also reduce the file size of some images on those web pages --- without reducing their pixel size or quality --- so that the pages load faster.

  4. Create a 'tkColorBlindCompensator' utility --- for the IMAGEtools toolchest.

  5. Create a 'gnuplot' Tk GUI front-end for making LOG and LOG-LOG PLOTS --- for the PLOTtools toolchest.

  6. Create a 'gnuplot' Tk GUI front-end for making 'MANY-LINE' PLOTS --- with a 'legend' for the many different lines --- for the PLOTtools toolchest.

  7. Create a 'gnuplot' Tk GUI front-end for making 3D and 2D CONTINENT (and country and state/province) OUTLINE-MAP PLOTS --- for the PLOTtools toolchest --- and for the 3Dtools toolchest.

  8. Create an LATITUDE-LONGITUDE Selector Tk GUI --- for user-selected world-wide cities and other geographic points --- for the SELECTORtools toolchest --- and for the 3Dtools toolchest.

  9. Create a 'gnuplot' Tk GUI front-end for making a PIE CHART from data entered in a file --- for the PLOTtools toolchest.

  10. Alternatively, create a 'gnuplot' Tk GUI front-end for making a PIE CHART from data entered on the GUI, instead of from a file.

  11. Add one or several new 'make_chest.tk' scripts ... to provide a variety of 'embellished' tkGooies toolchests ... embellished versions of the toolchests as seen in toochest screenshots on the 'tkGooies' Description and Code Samples page.
    (Also, make a selector GUI for switching to a different toolchest maker, 'on the fly'.)

  12. Create a Tk GUI for calculating the absolute and relative (percent) VOLUME OF A SPHERICAL SHELL (between two concentric spheres of radii 'r' and 'R') --- for the MATHtools toolchest.
    Example usage: For estimating (and picturing) the amount of sedimentary (oil bearing) rock as a percent of the entire volume of the Earth.

  13. Create an ANIMATION of 2 WAVES 'INTERFERING' (simulating a physics experiment with light or water waves emitted from two slits or sources), using shaded colors in an image on a Tk canvas --- for the MATHtools toolchest and for an 'Animations' menu of the IMAGEtools toolchest.

  14. Create a FREQUENCY and WAVELENGTH converter-selector --- for a user-specified velocity, such as the speed-of-light or the speed-of-sound --- for the SELECTORtools toolchest --- which is also available via the MATHtools toolchest.

  15. Create a Tk GUI front-end for the IM (ImageMagick) 'convert' command --- in particular, 'convert -font ... label:' and 'convert -font ... caption:' --- and 'convert -font ... -annotate' --- for making 'SPIFFY TEXT-FONT' image files --- for the IMAGEtools toolchest.

  16. Create a Tk GUI front-end for the IM (ImageMagick) 'convert' command --- for making 'embellished' or 'altered' images from any given image file --- for example, beveled edges, foggy border, adding a shadow, annotation, etc. --- for the IMAGEtools toolchest.

  17. Create a 3D Point-Cloud Viewer (reads vertex records in OBJ file format) --- for the 3Dtools toolchest. (Allow for selected display of vertex identifiers/numbers.)

  18. Create a Degrees-Minutes-Seconds (DMS) to Decimal-Degrees (and to Degrees-DecimalMinutes) converter-selector --- for the SELECTORtools toolchest, and perhaps the 3Dtools toolchest.

  19. Create a Tk GUI front-end for 'rsync' (for batch files copy, or to update a previous backup) --- for the FILEmanagers toolchest.

  20. Create a Tk GUI front-end for 'xrandr', with warning messages (to aid connection of a laptop computer to a TV or overhead projector) --- for the VIDEOtools toolchest.

  21. Create a Tk GUI front-end for 'mplayer' (an alternative to programs like 'gmplayer' and 'smplayer') --- for the VIDEOtools toolchest.

  22. Test the re-programming of buttons of several models of mice (for faster copy-and-paste of text) and update the 'tkPointerSettings' script with the 're-mapping' info for the several mice maker-models --- for the SYSTEMtools toolchest.

  23. Test 'tkWebCamAndAudioRecord_via_ffmpeg' -- A problem with audio sync? --- for the VIDEOtools toolchest.
    (It may simply need one or two parameters added to the 'ffmpeg' command.)

  24. Create a Tk GUI front-end utility (for the 'sox' command?) for some AUDIO-FILE EDITING functions --- for the AUDIOtools toolchest.

  25. Create a Tk GUI front-end utility (for the 'sox' command?) for NOTE/MUSIC-PLAYING (for example, with a piano keyboard in the GUI --- or by reading a music-notation file) --- for the AUDIOtools toolchest.

  26. Create a MathEd tkGooie - demonstrating Varignon's Theorem (dealing with quadrilaterals and parallelograms) --- for the MATHed menu of the MATHtools toolchest.

  27. Create a MathEd tkGooie - demonstrating Napoleon's Theorem (dealing with triangles and equilateral triangles) --- for the MATHed menu of the MATHtools toolchest.

  28. Create 'tkOscilloscope' to emulate the working of an oscilloscope --- for MATHtools toolchest and for an 'Animations' menu of the IMAGEtools toolchest.

  29. Create 'tkKaleidoscope' to emulate the working of a kaleidoscope --- for the IMAGEtools toolchest.

  30. Create a simulation of Galileo's inclined-plane apparatus for measuring acceleration due to gravity, which demonstrated that gravitational acceleration is [nearly] constant [in a restricted height range] and is independent of the mass of the object [although weight, a force, of an object is proportional to the mass of the object]--- for the MATHtools toolchest and for an 'Animations' menu of the IMAGEtools toolchest.
    (It took Newton to sort out a lot of the nuances and in the process explain a lot of natural phenomena --- tides, comets, planetary motions, etc.)

  31. Create a Tk GUI for numerical integration of the nonlinear differential equation for a pendulum, generating an output file for plotting with one of the 'tkGooie' plot utilities --- thus implementing the first menu item in the ODE Solvers menu of the MATHtools toolchest.
    (Ultimately, provide an animated image of the oscillating pendulum in a canvas on the GUI.)

  32. Create a DISTANCE Converter-Selector Tk GUI --- for the SELECTORtools toolchest. (Note: The SELECTORtools toolchest is accessible via the main 'tkGooies' toolchest and via the MATHtools toolchest.)

  33. Create a DISTANCE-to-TIME and TIME-to-DISTANCE Converter-Selector Tk GUI --- for a given velocity, such as the speed-of-light or the speed-of-sound --- for the SELECTORtools toolchest.

  34. Create an AREA Converter-Selector Tk GUI --- for the SELECTORtools toolchest.

  35. Create a VOLUME Converter-Selector Tk GUI --- for the SELECTORtools toolchest.

  36. Create a WEIGHT Converter-Selector Tk GUI --- for the SELECTORtools toolchest.

  37. Create an animated abstract 'visualizer', driven by data from some source --- such as, by audio-file-playback (like in the 'Totem', alias 'Gnome Videos', media player) or by network-interface-activity or by percent-CPU-of-a-process --- to be put in the AUDIOtools toolchest and/or SYSTEMtools toolchest and/or IMAGEtools toolchest.

  38. Create a nonLinear equation solver, for either f(x)=0 or f(x,y)=g(x,y)=0, using a binary search (alias bisection) method --- for the MATHtools toolchest.

  39. Create a 3D MODEL FILES TRANSLATOR - between OBJ, PLY, OFF, STL-ascii files (for the vertex and polygon data --- i.e. nodes-and-connectivity data) --- for the 3Dtools toolchest.

  40. Create a 3D SURFACE-GENERATOR from '.hgt' (binary) terrain data files --- into 3D model files ( in OBJ file format ) --- for the 3Dtools toolchest.

  41. Create a MOLECULE DISPLAY utility that reads atomic spatial data from a standard molecular-data file format such as ASCII PDB files --- for the 3Dtools toolchest.

  42. Create a 3D SURFACE-GENERATOR which facilitates picking 'height-points' (and polygons) on images --- such as contour maps or other types of images, such as images of people's faces or images of alphanumeric (and special) characters --- into 3D model files ( OBJ file format ) --- for the 3Dtools toolchest.

  43. Add several other 3D utilities (order of implementation to be determined) --- for the 3Dtools toolchest. Some 3D tools, with Tk GUI interfaces, to be added:

    • A 2D PLOT GENERATOR FROM spherical (latitude, longitude) BOUNDARY DATA in certain kinds of boundary-data files such as ASCII '.bna' files

    • A 3D MODEL FILE ( OBJ file ) GENERATOR by EXTRUDING from points (and polygons) picked on an arbitrary image (for example, alphanumeric and special characters in various fonts)

    • Create a MOLECULE DISPLAY utility that reads atomic spatial data from a standard molecular-data file format such as ASCII '.mol' MDL files --- for the 3Dtools toolchest.

    • Create a MOLECULE DISPLAY utility that reads atomic spatial data from a standard molecular-data file format such as ASCII XYZ chemical files --- for the 3Dtools toolchest.

    • EXTRACT POINTS-AND-FACES DATA from 'simple' VRML1 (and SGI Inventor) files, more or less 'cleanly', into an OBJ file.
      If the VRML 1.0 specifications link above, at graphcomp.com, goes dead, try this VRML1 link at paulbourke.net.

    • EXTRACT POINTS-AND-FACES DATA from 'simple' VRML2 (Moving World) files, more or less 'cleanly', into an OBJ file.
      (It was idiotic that the VRML Architecture Group chose to use the same file suffix, '.wrl', and the same name, VRML, for two different file formats. VRML1 is NOT a subset of VRML2 ... in function perhaps, but NOT in internal record format. They should have clarified the situation for everybody by not using the word VRML for VRML2 files. They should have used a new suffix, like '.mw', for 'Moving Worlds' files. What a mess that 'group' caused.)

  44. Create a Tk GUI front-end for the 'wget' command (a get HTML file utility) --- for the INTERNETtools toolchest.

  45. Create an ATOMIC ELEMENT SELECTOR (and Properties Sorter) Tk GUI --- with properties display --- for the SELECTORtools toolchest.

  46. Create a DATA-COLUMNS SORTER utility --- which reads columnar data 'records' from a text file and sorts the records according to data in a user-selected column --- for the FILEmanagers toolchest.

  47. Create a COMPOUND-INTEREST CALCULATOR Tk GUI --- for the MATHtools toolchest.

  48. Create a MOLECULAR WEIGHT CALCULATOR Tk GUI --- for the MATHtools toolchest.

  49. Create a Color Converter-Selector Tk GUI --- between HLS and RGB colors --- for the SELECTORtools toolchest.

  50. Create a Color Converter-Selector Tk GUI --- between CMY, CMYK, and RGB colors --- for the SELECTORtools toolchest.

  51. Create a Tk GUI front-end for a network-hogs utility such as the 'nethogs' command --- for SYSTEMtools toolchest.

  52. Create a Tk GUI front-end for the 'tesseract' OCR (Optical Character Recognition) utility --- for the TEXTtools toolchest.

  53. Create a Tk GUI front-end for a text-to-speech utility such as the 'espeak' command --- for the TEXTtools toolchest.

  54. Create a Tk GUI front-end for the 'ps' command --- for SYSTEMtools toolchest.

  55. Create a Tk GUI front-end for the 'du' command (a directory space-usage query) --- for the FILEmanagers toolchest.

  56. Create a Tk GUI front-end for the 'find' command (a find-files/strings query) --- for the FILEmanagers toolchest.

  57. Create a Tk GUI front-end for the 'ls' command (a files list query) --- for the FILEmanagers toolchest.

  58. Find and add a few more Tk game scripts to the Wiki-GAMES toolchest.

  59. Find and add a few more Tk GUI demos to the Wiki-DEMOS toolchests.

  60. Create a library of BASE64 data files (including playing card images) with a Tk GUI presenter-selector --- for the FE-GAME-DEV-aids toolchest.

  61. Create a library of GIF data files (including playing card images) with a Tk GUI presenter-selector --- for the FE-GAME-DEV-aids toolchest.

  62. Create a file-manager GUI --- with 2 listboxes for all files of 2 directories --- like Gnome Commander and Midnight Commander and Norton Commander (defunct) --- for the FILEmanagers toolchest.

  63. Create a file-manager GUI --- with 2 listboxes --- one for subdirectories and one for files, of 1 directory --- for the FILEmanagers toolchest.

  64. Add at least 30 more MathEd tkGooies in the MathEd menu of the MATHtools toolchest. (See the 'MATHed' section of the tkGooies RELEASED and To-Do page.)

  65. Add about five ODE Solvers to the ODE Solvers menu of the MATHtools toolchest. (See the 'ODEtools' section of the tkGooies RELEASED and To-Do page.)

  66. Implement other grayed-out items in the tkGooies menus that are not mentioned above.


I hope to have a major portion of the above tkGooies 'to-do' items released by 2020. Around the years 2019 to 2021, I hope to be able to feel that the 'tkGooies' system is becoming a 'mature' system --- with more than 150 tkGooie scripts released and with most of my planned enhancements to those scripts implemented, so that I can think of most of the scripts as being in a 'pretty polished' state.

"FE 'tkGooies' . . . . GUI Tools . . . . out the Wazoo."

Bottom of the FE 'tkGooies' TO-DO LIST - in 'FUTURE CHRONOLOGICAL ORDER' page.

To return to a previously visited web page, click on the
Back button of your web browser a sufficient number of times.
OR, use the History-list option of your web browser.
OR ...

< Go to To-Do List, above. >
< Go to Top of Page, above. >
< Go to FE Home page >

Page was started 2015 Oct 13 as a plain text file.
Page was changed to an HTML file, 2015 Dec 01.
Page was changed 2015 Dec 10. (Moved a few items to the code-published status. Added a few to-do items.)
Page was changed 2015 Dec 11 to 14. (Added about 26 more items.)
Page was changed 2015 Dec 31. (Removed some items that were implemented in the 2015dec11 release of tkGooies. Added a link to code for a shaded-polygon tkGooie that will be included in a 2016 release.)
Page was changed 2016 Jan 03. (Added many links to reference material, and changed the order of several items.)
Page was changed 2016 Jan 11. (Added a link to code for a radial-sinusoid tkGooie that will be included in a 2016 package release.)
Page was changed 2016 Jan 14. (Added about 5 to-do items and add some links to Wikipedia information.)