Commit Graph

22 Commits

Author SHA1 Message Date
71a3fd4cc4 feat: Get all Rostamian's old pages working
This commit is just the last piece in the puzzle, implementing the
   perpendicular method for lines.
   Resolves #36.
2023-10-17 18:04:50 -07:00
85ad82d9e2 feat: handle the 'pivot' parameter of the Geometry Applet
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.
2023-10-13 10:17:16 -07:00
bb1713a674 feat: implement more commands needed for Alberts trisection
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.
2023-10-10 20:05:29 -07:00
5433719440 feat: Implement 'similar' point method for Steve Gray problem 2023-10-09 23:23:10 -07:00
a236e15990 feat: Get extension working in the Edge browser (#42)
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>
2023-10-10 03:17:19 +00:00
fff75f67e3 chore: update and prune embedded GeoGebra (#41)
Reviewed-on: #41
Co-authored-by: Glen Whitney <glen@studioinfinity.org>
Co-committed-by: Glen Whitney <glen@studioinfinity.org>
2023-10-08 22:15:11 +00:00
25ba69c621 feat: Enable 3D constructions when adapting Geometry Applet (#40)
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>
2023-10-08 17:10:59 +00:00
c99b51dafa feat: Start implementing Rostamian's pages (#39)
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>
2023-10-06 19:38:56 +00:00
e7361f94a7 feat: Produce an archematics plugin that works in Firefox (#38)
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>
2023-10-05 06:19:11 +00:00
01d78081a2 fix: Handle Joyce Geometry Applet color specifications (#33)
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>
2023-09-25 22:44:44 +00:00
bab48b25ad feat: Improve construction element handling (#32)
This change implements several additional construction methods,
  including the first polygon ones. In particular, it now allows
  arbitrary strings as entity names, even ones that are not allowed
  as GeoGebra identifiers, using captions to show the original
  entity names. In addition, line arguments are interpreted as a pair
  of point arguments as needed.

  Resolves #6.
  Resolves #30.
  Resolves #31.

Reviewed-on: #32
Co-authored-by: Glen Whitney <glen@studioinfinity.org>
Co-committed-by: Glen Whitney <glen@studioinfinity.org>
2023-09-25 00:47:35 +00:00
550ce0168c feat: Enough commands to get to the @ (#29)
Reviewed-on: #29
Co-authored-by: Glen Whitney <glen@studioinfinity.org>
Co-committed-by: Glen Whitney <glen@studioinfinity.org>
2023-09-19 07:32:11 +00:00
a55342ae95 feat: Add a separate browser and toggle control for each link (#27)
Resolves #20.
Resolves #26.

Reviewed-on: #27
Co-authored-by: Glen Whitney <glen@studioinfinity.org>
Co-committed-by: Glen Whitney <glen@studioinfinity.org>
2023-09-19 04:40:23 +00:00
285554137d fix: Expand the world info viewer so you can see content (#25)
Also update to latest x_ite.d.ts
  Resolves #22.

Reviewed-on: #25
Co-authored-by: Glen Whitney <glen@studioinfinity.org>
Co-committed-by: Glen Whitney <glen@studioinfinity.org>
2023-09-18 02:05:19 +00:00
af472d7bfe feat: Adjust the X3D browser size (#24)
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>
2023-09-11 18:20:09 +00:00
765d4ff840 fix: Interpret relative URLs correctly. (#19)
Also update to latest version of Civet.
  Resolves #11.

Reviewed-on: #19
Co-authored-by: Glen Whitney <glen@studioinfinity.org>
Co-committed-by: Glen Whitney <glen@studioinfinity.org>
2023-09-11 03:44:16 +00:00
b5478254af chore: Check types and add draft full typing for x_ite. (#18)
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>
2023-09-11 01:52:39 +00:00
545c5f550f feat: Convert VRML 1 files with vrml1to97 (#13)
Now that the vrml1to97 package has been published, uses it to convert
  any VRML 1 files it encounters. Also uses the new x_ite module

  Resolves #12

Reviewed-on: #13
Co-authored-by: Glen Whitney <glen@studioinfinity.org>
Co-committed-by: Glen Whitney <glen@studioinfinity.org>
2023-09-05 01:50:52 +00:00
9107c82f13 feat: Proof of concept for displaying wrl files (#10)
Mostly works on VRML97 and up files. Unfortunately, many of the target files are VRML 1.0,
so an on-the-fly converter will be needed. The strategy for that is to translate the converter in Wings 3D.

Resolves #9.

Reviewed-on: #10
Co-authored-by: Glen Whitney <glen@studioinfinity.org>
Co-committed-by: Glen Whitney <glen@studioinfinity.org>
2023-08-31 05:30:41 +00:00
97f7138d7b feat: Create geogebra applet and implement some Joyce commands (#5)
Reviewed-on: #5
Co-authored-by: Glen Whitney <glen@studioinfinity.org>
Co-committed-by: Glen Whitney <glen@studioinfinity.org>
2023-08-30 03:56:13 +00:00
10146073c8 feat: Allow civet code to modify DOM (#4)
This commit uses the jQuery package for DOM manipulation. So far, it
  performs just a toy modification, on a page modified to include the
  object javascript. For this purpose the build script was modified
  to place object files in `public/js`. Adds a script to build and
  serve the resulting code.

  Resolves #2.

Reviewed-on: #4
Co-authored-by: Glen Whitney <glen@studioinfinity.org>
Co-committed-by: Glen Whitney <glen@studioinfinity.org>
2023-08-29 01:29:08 +00:00
3a14bb1e89 chore: Set up simple civet build 2023-08-28 09:01:25 -07:00