Tioga.Plans last written by Paxton, July 29, 1982 10:19 am last written by McGregor, July 28, 1982 3:38 pm This memo contains a list of tasks remaining for Tioga1. Tioga2 involves node classes for structured objects (such as equations and graphics) and extensive revisions to the typesetter to make it interactive and incremental. These are very interesting areas and all of us on the Tioga project are anxious to get started on them. There are more tasks listed below than we are willing or able to do before moving on to Tioga2. Consequently, we have divided them into 3 classes corresponding to their likelihood of completion. * following a task means we hope to get to it, but we're not sure. ** means it should be done, but we don't expect to get to it. If no *s, then we definitely expect to do it. Editor:  Improvements in screen rendering. From easiest to hardest: underlining, super/subscripts, better font synthesis, blt scrolling (performance), justification*.  Finish implementing interrupt of paint text viewers (performance).  Fancy tabs: arbitrary locations, formatted* {left, right, center, or decimal} and {blank, leaders, or rules}.  Bugs: CR at end of node is ignored on display*. Spaces at end of wrapped lines are not shown in selections*. Crash on zero width text viewer, crash on init with REF TEXT instead of Rope. Misc redisplay problems such as junk bits left on screen after scrolling.  SpinAndLock for processes to eliminate various race bugs.  Better style debugging and error reporting. Style documentation*.  Use opaque types in TiogaOps and TiogaFileOps. Create EditToolOps*  Add no-confirm versions of file operations for TiogaOps **  Keep multiple secondary selections for Repeat **  Check for common extensions before assume ".mesa"  Try other possibilities in addition to ".mesa" if no extension given.  Provide for registration of procedure to be called if cannot find file name *  Change Default.style to attach (or become) Cedar.style and change ^M to no longer set style.  Let user make viewer readonly or not *  End of document mark at end of last line **  Clipping mark at end of line before clipped material **  When first edit a file and when try to Save it, check if there is a more recent version of the file before overwriting it *  Fix bugs regarding |'s in search patterns **  Add "minimum line gaps" style parameter *  Auto-reset of text viewers after Rollback *  Levels and Lines menus give feedback of current setting **  Display filters, including show comment nodes or not **  Provide display of format names in margins beside nodes **  Give different feedback for node&branch selections vs. text selections **  Icon property on root nodes so file can have private icon **  Activate selections on button down instead of waiting for possible multiclick **  Use menu button background to give feedback for operation in progress *  Revise file format to eliminate leading carriage return **  Provide special cases for property values which are booleans, numbers, or nodes **  Create Undo/Redo log for each file for use in crash recovery and "virtual versions" **  Experiment with new schemes for auto-editing of blanks adjacent to words **  Change semantics of Load * create iconic viewer with previous contents if viewer not split delete other viewer if new file was already loaded elsewhere  Have Reset retain same position in file *  Convert to use CIFS for writing files  General performance tuning  Minor changes and bug fixes (for serious bugs) Edit Tool:  Make Sort take care of punctuation **  Allow definition of new command atoms **  Be able to load command definitions from file *  Add all the Tioga menu commands to operations * Viewers:  Documentation. Comprehensive documentation*  Client enhancements: guarded menu items, event notification for Save, Edit, Destroy, Open, Close, etc., Mouse control of Inscript sample rate*, yellow activation of buttons and menus  User interface enhancements: finer control of window height*  Cleanup of color display commands  Safe Interfaces  Bugs: Icon clipping, bullet-proofing in ViewerOps.CreateViewer. Cleanup of mouse capture code Typesetter:  Performance improvements  Tuning Press files for Spruce  Fancy tabs (if implemented in Editor)  Use penalties in making pagination decisions  Interim support for equations *  Misc improvements optimal line breaking*, hyphenation*, kerning*, ligatures*, running heads*, multicolumns*, footnotes**, style control of word&letter spacing**, adjust spacing after punctuation** JaM:  use CIFS for styles and misc files  Conversion to REFs **  add Split to JaM typescript **