~falsifian/s3d

WebGL simulation of 3D spherical geometry written in Idris2
c7146ad4 — James Cook 6 months ago
Add a link to a blog post about this project.
05e64a85 — James Cook 6 months ago
Add buttons to move up and down.
dd01367c — James Cook 6 months ago
Uncheck "hide floor" on startup.

refs

main
browse  log 

clone

read-only
https://git.sr.ht/~falsifian/s3d
read/write
git@git.sr.ht:~falsifian/s3d

You can also use your local clone with git send-email.

Blog post: https://www.falsifian.org/blog/2022/01/17/s3d/

This is a simulation showing what it would be like if the universe were
a 3-sphere. It is the three-dimensional analogue to what a
two-dimensional person would see if their universe was the surface of a
sphere: for example, if you keep walking forward long enough, you'll
get back where you started.

It's intended to run in any browser that supports WebGL.

To run:

0. It is written in Idris2. As of 2022-01-17, you will need idris2
   installed with this change:
   https://github.com/idris-lang/Idris2/pull/2100

   You'll also need to install the idris2-dom package and its transitive
   dependencies idris2-experimental, idris2-elab-util and idris2-sop.
   Each package is available at https://github.com/stefan-hoeck/$package_name

1. Build the precompute executable:
	idris2 --build s3d_precompute.ipkg

2. Generate the S3D.Polyhedra.Precomputed module:
	build/exec/s3d_precompute > src/S3D/Polyhedra/Precomputed.idr

3. Build by running
	idris2 --cg javascript --build s3d.ipkg

4. Open Main.html in a web browser.

To run the tests:
	idris2 --build s3d_test.ipkg
	build/exec/s3d_test

The src directory is shared by all the *.ipkg files.