Dealing with general click and drag on the applet and differentiating
between a background drag and dragging an element seemed like too big
a task, so this PR simply provides a slider to rotate the diagram when
the pivot is defined.
Implementing this required storing much more construction data, and
also dealing head-on with GeoGebra's shall we say "strange" choice where
the value of an expression depends on what name it is assigned to...
The resolution of this last bit was to use different GeoGebra names for
Geometry Applet points that start with something other than an uppercase
Roman letter.
These include circleSlider, line cutoff, and bichord. Also
makes the order of points in the chord command more true to
Joyce. Represents more progress on #36. Next up is dealing with
the pivot parameter.
To accomplish this, it needed to be bundled up in a zip file, so
code to do that was added. (Quite possibly the zip will be able to
be renamed as an .xpi file to create the file needed for Firefox.
At the moment, you must extract this zip and "sideload" the extension
into Edge by selected the extracted folder. I read that Edge will
handle the packing into a single extension file itself.
Also, some of the features used in the extension had to be polyfilled
into Edge. And the final major change is that the "Xray" feature is
not available in Edge, so data passed from the content script to the
script injected into the page had to be moved from Xray to attributes
of the script element. This all represents more progress on #28,
Chrome(ium) is next.
Reviewed-on: #42
Co-authored-by: Glen Whitney <glen@studioinfinity.org>
Co-committed-by: Glen Whitney <glen@studioinfinity.org>
Turns on 3D viewing only for the constructions that use a 3D primitive, but loads the more extensive web3d bundle from the embedded GeoGebra package whenever any applet on the page uses 3d. (The idea is to only require the loading of one bundle per page.) Provides progress on #36.
Reviewed-on: #40
Co-authored-by: Glen Whitney <glen@studioinfinity.org>
Co-committed-by: Glen Whitney <glen@studioinfinity.org>
Began with incenter.html, the first one alphabetically. Needed one
new point construction method, and a new option to see what was
going on.
Got the planar diagrams on that page working. The next step on #36 will
be to get 3D diagrams as the theorem on this page generalizes to 3D. That
will be a bigger task, so merging this now.
Reviewed-on: #39
Co-authored-by: Glen Whitney <glen@studioinfinity.org>
Co-committed-by: Glen Whitney <glen@studioinfinity.org>
With this loaded in under the Firefox debugger, one can see linked WRL files and Java Geometry Applets on arbitrary web pages.
This represents significant progress on #28, but getting more controls and getting it to work in other browsers is still on deck.
Reviewed-on: #38
Co-authored-by: Glen Whitney <glen@studioinfinity.org>
Co-committed-by: Glen Whitney <glen@studioinfinity.org>
This PR attempts to capture all of the color structure
of the original Geometry Applet, except for pivot points
defaulting to green, since there are no pivot points yet.
Resolves#8.
Reviewed-on: #33
Co-authored-by: Glen Whitney <glen@studioinfinity.org>
Co-committed-by: Glen Whitney <glen@studioinfinity.org>
Does this simply by setting CSS properties on the canvas element.
Also updates vrml1to97 and switches to using x_ite.d.ts directly
from the x_ite repository (although the link will have to change
once it is merged into main).
Resolves#21.
Resolves#23.
Reviewed-on: #24
Co-authored-by: Glen Whitney <glen@studioinfinity.org>
Co-committed-by: Glen Whitney <glen@studioinfinity.org>
Enabling type checking involves a full rearrangement of the
build process, as well as supplying types for some of the
dependencies.
Now that (hopefully) all of the methods are typed, can call
(for example) browser.setBrowserOption to manage the
viewer navigation.
Resolves#14.
Resolves#17.
Reviewed-on: #18
Co-authored-by: Glen Whitney <glen@studioinfinity.org>
Co-committed-by: Glen Whitney <glen@studioinfinity.org>