Commit Graph

21 Commits

Author SHA1 Message Date
92308d2197 feat: Add an options panel
Right now it just controls debugging options for what gets logged to the
  console during execution. But at some point we should add on/off switches
  for the two main facilities.

  Also implements just enough additional commands to successfully render
  the very first illustration in Joyce's Euclid, namely Book 1, Def I.2.
2023-10-04 23:05:39 -07:00
58469f793e feat: Get plugin working with Joyce Geometry Applets as well
Since third-party code may not be loaded from the web in an extension,
  requires bundling many GeoGebra app files into the extension.

  Still to come: control panel for the extension.
2023-10-04 16:39:55 -07:00
e56090cd7e feat: Generate Firefox plugin
So far, plugin only handles VRML. But it loads as a temporary plugin in
   Firefox OK, and it generates viewers as necessary, including overlaying
   existing images that are links to VRML files.
2023-09-28 13:25:25 -07:00
b31c0671d2 chore: update to x_ite 8.12.4 2023-09-26 12:30:12 -07: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
a8707386aa chore: Update dependencies and fix build script (#15)
Reviewed-on: #15
Co-authored-by: Glen Whitney <glen@studioinfinity.org>
Co-committed-by: Glen Whitney <glen@studioinfinity.org>
2023-09-05 07:32:38 +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
16f38e769e chore: Add first target webpage and package to serve it 2023-08-28 10:31:35 -07:00
3a14bb1e89 chore: Set up simple civet build 2023-08-28 09:01:25 -07:00
b9cd84eae3 chore: Initialize pnpm package manager 2023-08-28 08:33:10 -07:00
3a2bd5c917 Initial commit 2023-08-28 05:11:26 +00:00