#16004: Update notebook to utilize pure javascript JSmol for default live 3-D
-------------------------------+--------------------------
       Reporter:  gutow        |        Owner:  gutow
           Type:  enhancement  |       Status:  needs_work
       Priority:  major        |    Milestone:  sage-6.2
      Component:  notebook     |   Resolution:
       Keywords:  Jmol 3D 3-D  |    Merged in:
        Authors:  gutow        |    Reviewers:
Report Upstream:  N/A          |  Work issues:
         Branch:               |       Commit:
   Dependencies:  #16003       |     Stopgaps:
-------------------------------+--------------------------

Old description:

> The notebook needs updates to utilize a pure javascript version of Jmol
> by default for live 3-D.  This includes changes to make the notebook
> compatible with the newer jquery-1.9 (some things used in the notebook
> have been deprecated).
>
> Jmol is cross compiled to java and javascript.  Because so many
> browser/OS combinations now actively try to avoid using java applets, it
> is necessary to have a pure javascript alternative.  This solution
> provides all the functionality of Jmol, but as expected since javascript
> is interpreted rather than bytecode ("~3/4" of the way to compiled) the
> performance when interacting with the plot is slower.
>
> This first implementation removes the user tools that have appeared to
> the right of the 3-D plot as they need to be rewritten as well.  In this
> first implementation it is not possible to choose to use the java applet
> instead.
>
> One added feature is a "load 3-D live" check box that can be used to make
> a worksheet load 3-D plots live when the worksheet is opened.  For
> worksheets with a single interact or only 1-2 plots this should be OK.
>
> *This requires installation of an updated Jmol.spkg.  See ticket #16003.
>
> Sorry for the github commit, but I could not get a notebook branch
> working in Sage.
>  *
> https://github.com/gutow/sagenb/commit/c730aa4cf563c51e7f1f8ca92899bf515d365030
>  *
> https://github.com/gutow/sagenb/commit/7ce561653aa3ffbb28eb36f487be381227018958
>  *
> https://github.com/gutow/sagenb/commit/0242d2f495e4be79090e4aae83b4dade1d9a0f26
>  *
> https://github.com/gutow/sagenb/commit/7aacbfa3957f237edbea448d492f7c2b7d34cec2
>  *
> https://github.com/gutow/sagenb/commit/62a3775979c93b09def7487f9c4599554098b5c6
>
> How to test:
> 1. Clone the git repository https://github.com/gutow/sagenb to anywhere
> convenient on your system.
> 2. Do the following to make sage use the new repository.
> {{{
> $cd SAGE_ROOT/local/lib/python/site-packages/sagenb-0.10.8.2-py2.7.egg
> $mv sagenb sagenb_old
> $ln -s <path to the sagenb directory inside your new repository> sagenb
> }}}
>
> In my case the symlink looks like
> {{{ln -s sagenb ~/git/sagenb/sagenb }}}

New description:

 The notebook needs updates to utilize a pure javascript version of Jmol by
 default for live 3-D.  This includes changes to make the notebook
 compatible with the newer jquery-1.9 (some things used in the notebook
 have been deprecated).

 Jmol is cross compiled to java and javascript.  Because so many browser/OS
 combinations now actively try to avoid using java applets, it is necessary
 to have a pure javascript alternative.  This solution provides all the
 functionality of Jmol, but as expected since javascript is interpreted
 rather than bytecode ("~3/4" of the way to compiled) the performance when
 interacting with the plot is slower.

 This first implementation removes the user tools that have appeared to the
 right of the 3-D plot as they need to be rewritten as well.  In this first
 implementation it is not possible to choose to use the java applet
 instead.

 One added feature is a "load 3-D live" check box that can be used to make
 a worksheet load 3-D plots live when the worksheet is opened.  For
 worksheets with a single interact or only 1-2 plots this should be OK.

 *This requires installation of an updated Jmol.spkg.  See ticket #16003.

 Sorry for the github commit, but I could not get a notebook branch working
 in Sage.
  *
 https://github.com/gutow/sagenb/commit/c730aa4cf563c51e7f1f8ca92899bf515d365030
  *
 https://github.com/gutow/sagenb/commit/7ce561653aa3ffbb28eb36f487be381227018958
  *
 https://github.com/gutow/sagenb/commit/0242d2f495e4be79090e4aae83b4dade1d9a0f26
  *
 https://github.com/gutow/sagenb/commit/7aacbfa3957f237edbea448d492f7c2b7d34cec2
  *
 https://github.com/gutow/sagenb/commit/62a3775979c93b09def7487f9c4599554098b5c6
  *
 https://github.com/gutow/sagenb/commit/c3659b35e3595605cbb01289f1279195cf0b8653

 How to test:
 1. Clone the git repository https://github.com/gutow/sagenb to anywhere
 convenient on your system.
 2. Do the following to make sage use the new repository.
 {{{
 $cd SAGE_ROOT/local/lib/python/site-packages/sagenb-0.10.8.2-py2.7.egg
 $mv sagenb sagenb_old
 $ln -s <path to the sagenb directory inside your new repository> sagenb
 }}}

 In my case the symlink looks like
 {{{ln -s ~/git/sagenb/sagenb sagenb}}}

--

Comment (by gutow):

 OK.  I think I've fixed the following with the latest commit:
 * Restored legacy click and shift-click behavior for adding cells to
 worksheets.  This no longer uses the old code but is modern jquery.  I
 have not taken out the old code because I believe it is used for keyboard
 key combinations as well.  Can somebody double check me on this.  If I'm
 wrong we can take it out.
 * Fixed the conflict between the dialog boxes and the Jmol/JSmol popup
 menu.

 Still to do:
 * Change icons/wording so making JSmol live is more obvious.
 * See if I can fix defaults to use wire images during rotation for faster
 response.
 * Should I add back the link to help for the 3D viewer?

 Can anybody explain in more detail what the strange behavior with the
 "load live" checkbox was?  Karl-Dieter, Thanks for spotting this.

--
Ticket URL: <http://trac.sagemath.org/ticket/16004#comment:40>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.

Reply via email to