Skip to content

raftsim/raftsim.github.io

Repository files navigation

Resource Area for Teaching (RAFT) is a nonprofit organization that ships STEAM kits to thousands of classrooms around the US to supplement educational instruction in those fields. RAFTsim is an open-source project designed to either complement or replace these physical kits, which is especially useful during virtual classes. It is hosted through GitHub Pages and uses 3D models (created with CAD software) animated by the JavaScript library three.js. The simulations work with both desktop and mobile browsers, with added support as iOS web apps.

Each simulation is built by modifying a template with the basic necessary structure. The code is entirely frontend (HTML, CSS, and JavaScript), and utilizes a third-party graphics library, three.js, to import, display, and manipulate models. Three.js, in turn, uses WebGL to carry out those tasks. Inputs are received using the HTML <form> and <input> elements, and the inputted information is read by JS. Each simulation has a single root-level folder, containing index.html, stylesheet.css, and app.js files, along with an objects folder containing all the .obj or .stl model files used by the simulation. There are some exceptions to this format, like a separate simulation-level sound folder for sound files and .png images in the objects folder.