#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.