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>
This commit is contained in:
Glen Whitney 2023-10-05 06:19:11 +00:00 committed by Glen Whitney
parent b31c0671d2
commit e7361f94a7
43 changed files with 164418 additions and 102 deletions

View file

@ -1,5 +1,8 @@
# Takes one parameter, the destination directory
mkdir -p $1
cp etc/deps/jquery.js $1
cp -r etc/deps/x_ite $1
cp -r etc/deps/geotypes $1
cp -rL node_modules/vrml1to97/{deps,vrml1to97,streamToString.js} $1
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

View file

@ -1,16 +1,23 @@
mkdir -p etc/deps/geogebra
mkdir etc/deps/x_ite
mkdir -p etc/deps/geotypes
mkdir -p etc/deps/x_ite/assets/components
mkdir etc/deps/x_ite/assets/images
cp etc/geogebraPreamble.txt etc/deps/geogebra/api.ts
curl 'https://raw.githubusercontent.com/netless-io/netless-app/master/packages/app-geogebra/src/types/api.ts' >> etc/deps/geogebra/api.ts
curl 'https://download.geogebra.org/installers/5.0/geogebra-math-apps-bundle-5-0-803-0.zip' --output etc/deps/geo.zip
unzip -d etc/deps etc/deps/geo.zip
rm etc/deps/geo.zip
cp etc/geogebraPreamble.txt etc/deps/geotypes/api.ts
curl 'https://raw.githubusercontent.com/netless-io/netless-app/master/packages/app-geogebra/src/types/api.ts' >> etc/deps/geotypes/api.ts
cp etc/geogebraPreamble.txt etc/deps/geotypes/entry.ts
curl 'https://raw.githubusercontent.com/netless-io/netless-app/master/packages/app-geogebra/src/types/entry.ts' >> etc/deps/geotypes/entry.ts
cp etc/geogebraPreamble.txt etc/deps/geotypes/params.ts
curl 'https://raw.githubusercontent.com/netless-io/netless-app/master/packages/app-geogebra/src/types/params.ts' >> etc/deps/geotypes/params.ts
cp etc/geogebraPreamble.txt etc/deps/geogebra/entry.ts
curl 'https://raw.githubusercontent.com/netless-io/netless-app/master/packages/app-geogebra/src/types/entry.ts' >> etc/deps/geogebra/entry.ts
curl 'https://code.jquery.com/jquery-3.7.1.js' > etc/deps/jquery.js
cp etc/geogebraPreamble.txt etc/deps/geogebra/params.ts
curl 'https://raw.githubusercontent.com/netless-io/netless-app/master/packages/app-geogebra/src/types/params.ts' >> etc/deps/geogebra/params.ts
curl 'https://create3000.github.io/code/x_ite/latest/x_ite.mjs' > etc/deps/x_ite/x_ite.mjs
curl 'https://create3000.github.io/code/x_ite/latest/x_ite.css' > etc/deps/x_ite/x_ite.css
curl 'https://create3000.github.io/code/x_ite/latest/assets/components/Scripting.js' > etc/deps/x_ite/assets/components/Scripting.js
curl 'https://create3000.github.io/code/x_ite/latest/assets/components/Text.js' > etc/deps/x_ite/assets/components/Text.js
curl 'https://create3000.github.io/code/x_ite/latest/assets/images/logo.128.png' > etc/deps/x_ite/assets/images/logo.128.png
curl 'https://raw.githubusercontent.com/create3000/x_ite/development/dist/x_ite.d.ts' > etc/deps/x_ite/x_ite.d.ts.tmp
sed -i -e 's/declare//g' etc/deps/x_ite/x_ite.d.ts.tmp
cat etc/x_itePreamble.txt etc/deps/x_ite/x_ite.d.ts.tmp etc/x_itePostamble.txt > etc/deps/x_ite/x_ite.d.ts
rm etc/deps/x_ite/x_ite.d.ts.tmp
curl 'https://raw.githubusercontent.com/create3000/x_ite/development/dist/x_ite.d.ts' > etc/deps/x_ite/x_ite.d.mts

13
tools/makePlugin.bash Normal file
View file

@ -0,0 +1,13 @@
# Takes one parameter, the destination directory
mkdir -p $1/deps/x_ite/assets/images
mkdir -p $1/deps/x_ite/assets/components
cp etc/manifest.json etc/options.html $1
cp etc/deps/x_ite/x_ite.css $1/deps/x_ite
cp etc/deps/x_ite/assets/images/logo.128.png $1/deps/x_ite/assets/images
cp etc/deps/x_ite/x_ite.mjs $1/deps/x_ite
cp etc/deps/x_ite/assets/components/* $1/deps/x_ite/assets/components
cp -r etc/deps/GeoGebra $1/deps
npx rollup public/js/giveAwrl.js --dir extension
npx rollup public/js/adapptlet.js --file extension/adapptlet.js
npx rollup public/js/adapptext.js --file extension/adapptext.js
cp public/js/options.js public/js/adapptypes.js extension