feat: Implement 3D Joyce Applets via JSXGraph

This is a stub/very preliminary implementation of calling JSXGraph for
  3D Joyce applets. The only element/construction method implemented so far
  is a free point.

  NOTE: This implementation is so far extremely buggy. Loading a page with a
  3D applet such as
  http://aleph0.clarku.edu/~djoyce/java/elements/bookXI/defXI9.html
  appears to enter a loop in which the div containing the JSXGraph Board
  progressively grows larger and larger, while using a tremendous amount
  of cpu.
This commit is contained in:
Glen Whitney 2024-06-09 22:07:13 -07:00
parent e742ef3460
commit 4e2375b709
45 changed files with 23637 additions and 20477 deletions

View file

@ -2,8 +2,13 @@
mkdir -p $1
cp etc/deps/jquery.js $1
cp -r etc/deps/x_ite $1
patch -u $1/x_ite/x_ite.d.mts -i etc/x_ite_types.patch
cp -r etc/deps/geotypes $1
cp -rL node_modules/vrml1to97/{deps,vrml1to97,streamToString.js} $1
cp -rL node_modules/vrml1to97/{deps,vrml1to97,streamToString.js} $1
cp -rL node_modules/jsxgraph/distrib/jsxgraph{core.mjs,.css} $1
cp -rL node_modules/jsxgraph/distrib/index.d.ts $1/jsxgraphcore.d.mts
patch -u $1/jsxgraphcore.d.mts -i etc/jsxgraph_types.patch
cp -rL node_modules/colorsea/dist/index.esm.js $1/colorsea.js
cp -rL node_modules/colorsea/dist/index.d.ts $1/colorsea.d.ts
patch -u $1/colorsea.d.ts -i etc/colorsea_types.patch
#patch -u $1/colorsea.d.ts -i etc/colorsea_types.patch
#FIXME: If no longer needed, remove patch

View file

@ -2,8 +2,8 @@ mkdir -p etc/deps/geotypes
mkdir -p etc/deps/x_ite/assets/components
mkdir -p etc/deps/x_ite/assets/images
// source code at https://github.com/geogebra/geogebra/releases/tag/5.2.823.0
curl 'https://download.geogebra.org/installers/5.2/geogebra-math-apps-bundle-5-2-823-0.zip' --output etc/deps/geo.zip
# source code at https://github.com/geogebra/geogebra/releases/tag/5.2.823.0
curl 'https://download.geogebra.org/installers/5.2/geogebra-math-apps-bundle-5-2-843-0.zip' --output etc/deps/geo.zip
unzip -o -d etc/deps etc/deps/geo.zip
rm etc/deps/geo.zip
cp etc/geogebraPreamble.txt etc/deps/geotypes/api.ts

View file

@ -48,6 +48,7 @@ then
cp -r etc/$trimspec $1/$dest
done
cp public/js/deps/jsxgraph{.css,core.mjs} $1/deps
npx rollup public/js/adapptlet.js --file $1/adapptlet.js
npx rollup public/js/adapptext.js --file $1/adapptext.js